绘图效率问题

hunter281896968 2010-06-22 08:58:18
对象在DRAW的时候,需要绘制很多很小的矩形并填充矩形的颜色,矩形的个数大概是250000个,每次视图刷新的时候反映都很慢(在使用了双缓冲的情况),望大家踊跃提供解决方案,如何提高效率?
...全文
87 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
buyong 2010-06-24
  • 打赏
  • 举报
回复
I agree
[Quote=引用 6 楼 xianglitian 的回复:]
这些矩形相互有重叠吧
否则的分辨率得能达到多少
是不是可以考虑优化算法
不要画这么多
重叠的位置不要重复绘制
[/Quote]
hunter281896968 2010-06-24
  • 打赏
  • 举报
回复
没有找到好办法,多谢大家的回答。结贴了。
iqyely 2010-06-23
  • 打赏
  • 举报
回复
学习下。
m_tornado 2010-06-23
  • 打赏
  • 举报
回复
哇,好多框框啊~慢是应该的~机器配置??
BloodFighter 2010-06-23
  • 打赏
  • 举报
回复
25000个矩形……楼主是做游戏的还是CAD啊

这么多数量的矩形,就要考虑优化的问题了

25000应该是你的原始数据吧,把他们需要绘制的有效操作先全部计算一下,无效的、重叠的,就不用绘制了

真正绘制的是你的结算结果的集合

这样子实际的绘图操作可能会少很多了
hunter281896968 2010-06-22
  • 打赏
  • 举报
回复
3楼更我想的一样 还有更好办法么
Antheus 2010-06-22
  • 打赏
  • 举报
回复
25W个的处理GDI应该是有些吃力。但对于DirectDraw还是很轻松的。
blueht 2010-06-22
  • 打赏
  • 举报
回复
能现保存原来画的结果,如果没有改变,视图刷新的时候就使用原来的结果就行,如果改变再处理改变位置的
Eleven 2010-06-22
  • 打赏
  • 举报
回复
局部刷新,InvaldiateRect()...
wltg2001 2010-06-22
  • 打赏
  • 举报
回复
矩形的个数大概是250000个
============
这么多矩形,慢是应该的。
向立天 2010-06-22
  • 打赏
  • 举报
回复
这些矩形相互有重叠吧
否则的分辨率得能达到多少
是不是可以考虑优化算法
不要画这么多
重叠的位置不要重复绘制

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧