c++ - 当区域比屏幕大得多时,GDI SelectClipRgn 变得非常慢
问题描述
我有一个使用 GDI 绘制复杂地图的 GIS 应用程序。一些复杂的多边形通过调用SelectClipRgn
. 当裁剪多边形相对较小时,事情会很好。但是,当用户放大时,多边形可能会变得非常大(比屏幕大数百倍),并且SelectClipRgn
调用需要几秒钟。
SetViewPort
在调用 SelectClipRgn 之前,我尝试使用屏幕矩形进行调用。另外,我尝试计算剪切多边形和屏幕矩形的交点。交点计算也很昂贵。
调用 SelectClipRgn 时我错过了什么吗?有没有更好的方法来完成剪辑操作?
PS:剪辑区域是用来Bitblt一些图案位图在上面的。
解决方案
推荐阅读
- javascript - wordpress 默认 jquery 不为此代码运行
- python - 如何使用networkx在两个图之间执行树交叉?
- java - java JSON解析中的NullPointerException
- python - 为列表中的 n 个列表迭代循环和子程序
- reactjs - 使用“填充”属性向不同的侧面添加不同的填充值
- java - 使用跨平台语言开发android有什么缺点?
- arrays - 元素数组不会被接口填充
- python - 线程不放入队列
- vb.net - Visual Basic .Net 公共函数在执行前对单行过程进行解码
- mysql - 给出带有子查询和公式的结果?