![]() |
1
2
简言之,没有。但是,屏幕外渲染通常速度很快,qt双缓冲区小部件适合您。 Painting to QImage or QPixmap 也可以在非图形用户界面线程中完成,因此可以多线程绘制。qpixmaps还具有 QPixmapCache 。 根据绘制命令的创建方式,可以自己进行优化。如果开始时知道所有命令,则可以使用一组形状,如果堆栈顶部包含在上次创建的形状中,则不要绘制该形状。 但是,您应该对这段代码进行概要分析,看看它是否真的获得了什么。过早的微观优化常常导致浪费精力。 我将从屏幕外渲染开始(如果可能的话是多线程的),如果速度太慢,尝试其他步骤。然而,在大多数情况下,标准的油漆方法将足够快。 |
![]() |
2
1
您总是可以将复杂的场景绘制到qpixmap中,然后在绘制时只对该pixmap进行少量绘制。当然,它需要在场景发生变化时更新(例如,它被调整了大小,其中的某个状态发生了变化,等等)。 |
![]() |
3
1
如果您正在寻找显示列表呈现优化,特别是您的示例中的遮挡测试,那么我认为qt本身不提供这样的功能。 您可能想看看OpenGL是否具有此功能。如果是这样的话,那么可能画到 QGLWidget 会得到你想要的吗? |