QPainter性能高帧率

时间:2010-11-18 19:27:51

标签: c++ multithreading qt video

我试图在QPainter中显示60fps的视频(在OpenGLwidget中)

我遇到一个问题,有时候绘图需要太长时间,并且在使用QPainter时会发生下一次重绘事件 - 这会产生警告和随机崩溃。

几个问题:
有没有'Qt方式'有效地将重复调用联系起来,因为可能是QPainter知道它正在被使用 - 或者我只是使用我的平台互斥支持?

是否有更好的方法以高帧速率绘制(当然也需要锁定到VSync)而不仅仅是调用repaint()的计时器?

1 个答案:

答案 0 :(得分:2)

尝试使用update()代替repaint()

  

此功能不会导致   立即重画;相反   安排一个油漆事件进行处理   当Qt回到主赛事时   环。这允许Qt优化   速度更快,闪烁更少   调用repaint()会。

     

多次调用update()   通常只会产生一个   paintEvent()调用。