java双缓冲 笔记
2015-08-17 21:04
197 查看
双缓冲解决画面闪烁问题笔记:
1、每次刷新画面时,执行过程是:自动调用repaint方法,repaint方法调用update方法,update方法调用paint方法实现重画。这个过程中paint方法需要大
量计算,用时较长,故不流畅;
2、解决方法是,将paint方法执行过程不显示在屏幕上。具体是:设置一张虚拟画布offScreenImage,将图像全部画在这张画布上,画完后一次性贴上屏
幕,而这个过程耗时是很短的,故看不到闪烁效果了。
3、具体一点,重写update方法,在update方法中:创建offScreenImage(画布)、得到offScreenImage的graphics(画笔)、在offScreenImage上paint
、使用update的画笔将offScreenImage画(调用update画笔的drawImage方法)到屏幕上面
4、两次使用的画笔是不同的。
1、每次刷新画面时,执行过程是:自动调用repaint方法,repaint方法调用update方法,update方法调用paint方法实现重画。这个过程中paint方法需要大
量计算,用时较长,故不流畅;
2、解决方法是,将paint方法执行过程不显示在屏幕上。具体是:设置一张虚拟画布offScreenImage,将图像全部画在这张画布上,画完后一次性贴上屏
幕,而这个过程耗时是很短的,故看不到闪烁效果了。
3、具体一点,重写update方法,在update方法中:创建offScreenImage(画布)、得到offScreenImage的graphics(画笔)、在offScreenImage上paint
、使用update的画笔将offScreenImage画(调用update画笔的drawImage方法)到屏幕上面
4、两次使用的画笔是不同的。
相关文章推荐
- Spring学习笔记-springMVC基于注解的控制器(Demo)
- 谈谈Java中的集合
- Java学习笔记(十二):泛型的使用
- 关于java的设计目标
- Java线程:线程状态的转换
- Java陷阱之assert关键字
- java如何正确停止一个线程
- 一致性哈希算法学习及JAVA代码实现分析
- java中split以"."分割
- Java Prim算法
- MyEclipse 快捷键
- [JavaWeb基础] 011.Struts2 配置拦截器
- HashMap和HashSet的区别
- Java解析XML
- java环境配置
- eclipse-hadoop插件
- java枚举基础及使用
- Java反射破坏单例模式
- 浅谈Java反射机制
- Spring---AOP原理浅析