首页 > 解决方案 > 当区域比屏幕大得多时,GDI SelectClipRgn 变得非常慢

问题描述

我有一个使用 GDI 绘制复杂地图的 GIS 应用程序。一些复杂的多边形通过调用SelectClipRgn. 当裁剪多边形相对较小时,事情会很好。但是,当用户放大时,多边形可能会变得非常大(比屏幕大数百倍),并且SelectClipRgn调用需要几秒钟。

SetViewPort在调用 SelectClipRgn 之前,我尝试使用屏幕矩形进行调用。另外,我尝试计算剪切多边形和屏幕矩形的交点。交点计算也很昂贵。

调用 SelectClipRgn 时我错过了什么吗?有没有更好的方法来完成剪辑操作?

PS:剪辑区域是用来Bitblt一些图案位图在上面的。

标签: c++gisgdi

解决方案


推荐阅读