![](/img/trans.png)
[英]boundingRectForGlyphRange always returns rect for font size 12
[英]QGLWidget update(rect) always paints the entire rect
我有一个使用QGLWidget
的简单绘画应用程序,我在其中调用update(rect)
,传入的rect比QGLWidget
的rect小得多。 我使用QImage
进行绘制,然后在paintEvent
,将其中一部分绘制到QGLWidget
。 当我在paintEvent
方法上放置一个断点并调用event->rect()
或event->region().rects()
,它将返回QGLWidget
的整个rect。 我希望它只返回传递给update方法的rect。
结果,在我的iPhone上绘图太迟了。
这是我的代码: http : //pastebin.com/beyyHCPw
如果滚动到pastebin的底部,您将看到我的日志记录代码,在该代码中我正在记录绘制(绘制rect)到哪个rect,然后在paint事件中返回哪个rect(更新rect)。
我认为,如果QGLWidget使用双缓冲,并且每次都要求您绘制一个不同的缓冲,这是可以预期的。
据我所知,脏直肠是一个通常不用于GL的概念。
代码的性能问题还可能是,每次在主存储器中更改它之后,每次绘制1024x1536 QImage时,都将其上载到图形存储器。 使用中间Q(Open)GLFramebufferObject可能会有所改进(尽管iPhone可能不支持使用GL_EXT_framebuffer_blit进行快速对齐)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.