1、双缓冲如何工作
如果动画实施过程中,下一个动画框架在屏幕上实现更新,则是利用单一缓冲实现动画。此时所有的图像绘制操作都在一个单一缓冲区中实现,从而不可避免地产生框架切换时的屏幕闪烁现象。
但是,如果将动画过程中的下一个动画框架首先在位于画面外缓冲区中实现更新,然后在需要时将更新框架直接拷贝到屏幕中,则实现了双缓冲方式,而且由于框架擦除操作不在屏幕上发生,因此避免了动画过程中的屏幕闪烁现象。
在实施对象动画效果的过程中,当放置下一个框架时,需要相应地在屏幕上擦除前一个框架中的部分或全部构成元素,动画的这种特征即表现为屏幕闪烁现象。
由于在处理具有任何复杂度的动画过程中,都无法避免框架的擦除操作,因此如何解决动画过程中的闪烁现象是实现光滑动画效果的关键问题。
双缓冲技术由于首先在画面外的缓冲区中准备动画效果中的下一个框架,然后再将已经准备好的框架直接复制到屏幕上,因此避免了屏幕上的擦除操作及相应的闪烁现象。
详细使用看《java2图形设计卷1:AWT》