如何提高图形刷新效率?
2006-06-21 10:09
357 查看
现在在做一个矢量绘图软件,由于涉及大量的图形编辑操作,所以编辑速度成了现在最为头痛的问题。
以对一个图形进行平移操作为例,需要刷新两个区域,1个是图形原来位置的区域,1个是图形移动后的区域,算法如下:
//使用双DC提高绘制效率和防止闪烁
CRect rc ;
计算图形原来位置的区域rc;
在内存DC中重画页面的rc区域;
计算图形移动后的区域rc;
在内存DC中重画页面的rc区域;
将内存DC更新到屏幕DC;
但是发现这样的刷新效率很低,特别是页面上有大量图形的时候,重画页面某个区域可能会导致大量的图形重画。但是不重画又没有更好的刷新办法。后来稍稍修改了上面的算法,把两个区域先合并后再进行一次重画,但效率并没有显示的提高。不知道有没有更好的刷新方式?
以对一个图形进行平移操作为例,需要刷新两个区域,1个是图形原来位置的区域,1个是图形移动后的区域,算法如下:
//使用双DC提高绘制效率和防止闪烁
CRect rc ;
计算图形原来位置的区域rc;
在内存DC中重画页面的rc区域;
计算图形移动后的区域rc;
在内存DC中重画页面的rc区域;
将内存DC更新到屏幕DC;
但是发现这样的刷新效率很低,特别是页面上有大量图形的时候,重画页面某个区域可能会导致大量的图形重画。但是不重画又没有更好的刷新办法。后来稍稍修改了上面的算法,把两个区域先合并后再进行一次重画,但效率并没有显示的提高。不知道有没有更好的刷新方式?
相关文章推荐
- 程序员究竟该如何提高效率
- 如何提高Layout效率,看完你成大神!!!
- JAVA网站开发与优化如何提高代码运行效率
- 如何提高PHP运行效率
- 如何提高在家办公的效率?
- 【创业感想】从如何让创业公司效率提高3倍说起
- 如何提高阅读源代码的效率
- 如何提高sql语句的执行效率
- 如何提高代码效率
- SQL 与 NoSQL:程序员该如何选择数据库提高效率?
- 众创空间如何提高会议室利用效率?会议室微信预约系统
- 程序员如何提高工作效率
- 运维审计人员如何提高工作效率
- 教你如何调整Mysql中insert、update、delete的顺序来以提高效率
- Aaron Swartz:如何提高效率
- 如何巧妙的使用sshpass来提高效率
- 如何提高员工的工作效率呢
- 如何提高你的工作效率?
- 如何提高android程序运行效率,程序员在开发过程中应当注意的一些事项
- 如何使用组策略集中部署Windows防火墙提高配置效率