QPainter 性能高帧率
我试图在 QPainter(在 OpenGLwidget 中)中以 60fps 的速度显示视频,但
我遇到一个问题,有时绘图时间太长,并且在使用 QPainter 时会发生下一个重绘事件 - 这会生成警告和随机崩溃。
有几个问题:
是否有一种“Qt 方式”可以有效地互锁重绘调用,因为大概 QPainter 知道它正在被使用 - 或者我只是使用我的平台互斥支持?
有没有比仅调用 repaint() 的计时器更好的以高帧速率绘制的方法(当然也需要锁定到 VSync)?
I am trying to show video at 60fps in a QPainter (in an OpenGLwidget)
I am having an issue that sometimes the drawing takes too long and the next repaint event happens while QPainter is in use - which generates a warning and random crashes.
A couple of questions:
Is there a 'Qt way' to efficently interlock calls to repaint, since presumably QPainter knows it is being used - or do I just use my platforms mutex support?
Is there a better way to draw at high frame rates (which of course also needs to be locked to VSync) than just a timer calling repaint()?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试使用
update()
而不是repaint()
。Try to use
update()
instead ofrepaint()
.