关于裁减区域:GetClipBox及重绘效率问题

辉歌 2007-01-19 05:41:10
《深入浅出MFC》曾提到,通过GetClipBox得到了裁减区域后,将需要绘制的数据与区域比较,如果落在或者相交于裁减区域矩形,那么就继续绘图操作,否则继续下一条数据。
但是也有文章指出,不用这么比较,windows会帮我们优化。

到底谁说的对呢?对于裁减区域,为了重绘的高效率,需要针对每个待绘数据与裁减区域对比吗?

我的感觉是比较后,跳过绘图操作,也许能节省时间。请高手指点。
...全文
529 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
madmanahong 2007-01-25
  • 打赏
  • 举报
回复
同时有两篇文章你也可以参考一下。
ms没有对这个事情说得很清楚,不过按照下面这两篇文章的说法,
是应该自己判断一下的。
不知道你从什么地方看的不需要判断。
:)
祝好运


-------------------------

一个是Q177352

另一个是http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vctutor98/HTML/_gs_use_the_hint_for_efficient_repainting.asp

madmanahong 2007-01-25
  • 打赏
  • 举报
回复
每个DC都会有一个clipbox,理论上来说,windows会根据这个clipbox来进行绘制的优化。

因为毕竟他提供了像ExcludeClipRect等这样重新定义clipbox的接口。

但经过我的实际测试(xp system),发现还是使用自己判断clipbox再绘制更快一些。

可能ms感觉,这应该是你自己的事情吧。

所以还是自己判断一下吧。使用IntersectRect,然后仅仅绘制true的区域即可

15,980

社区成员

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

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