Qt QGraphicsItem对象使用GDI句柄

时间:2014-02-26 00:29:06

标签: qt gdi

我们的产品显示基于矢量的原理图,使用QGraphicsView / QGraphicsScene机制实现。在Windows上,具有10,000个项目的图形达到每个进程10,000个GDI句柄的限制。我已经想出如何增加可用的GDI句柄数量,但这不是一个真正的解决方案,而且对于我们的应用程序,不可能将值增加到足以覆盖所有可能性,因为这将超过最大Window限制。

我一直试图弄清楚哪些Qt对象使用了GDI句柄(并且USER对象存在类似问题),但我没有太多运气。我到目前为止提出的候选人是QBrush和QFont。我能够从我的QGraphicsItem派生对象的每个实例中消除QBrush,但这并没有改变所使用的GDI句柄的数量。消除QFont,即使是简单的测试也更难。

我的测试显示中涉及两个自己的类。对于其中一个,每个实例包括一个QBrush,QFont,QStaticText,几个QRectF和一个QColor。另一个包括两个QGraphicsRectItem。提供源代码是有问题的。

我一直在搜索Qt源代码,查找创建GDI句柄的调用,也没有太多运气。任何人都可以向我指出这个特定于Qt的主题的资源吗?

我正在使用Qt 4.8.5,Windows 7 64位,Visual Studio 2010。

谢谢你, Doug McGrath

0 个答案:

没有答案