繁体   English   中英

QImage与OpenGL性能

[英]QImage vs OpenGL Performance

我正在将一个旧的4.8应用程序移植到5.2.1并且在那个时候,我使用QImage在QLabel中在屏幕上呈现一些原始数据。

我正在从相机抓取图像,所以我想实时显示这些图像。 到目前为止,凭借QImage,我实现了超过20FPS(相机能够获得30 FPS)。

我想知道在OpenGL上渲染这些数据(可能在QML Quick / Qt Widgets新应用程序中)是否会比当前开发的方法更快?

考虑下一个假设:

  • 您在OpenGL中的实现是使用硬件加速
  • 你的实现是使用最佳纹理参数,来显示图像(即驱动程序没有做一些转换)

使用OpenGL可以获得更好的性能。 QImage仍然需要在内存和GPU上保存数据,这意味着在更新QImage时至少需要一个副本。 使用OpenGL,您可以将数据直接复制到GPU内存,而无需将数据存储在内存中的某个位置。

但是,在一个GPU上可能是最佳的,不必在另一个GPU上是最佳的。 所以,如果你正在实现需要在各种硬件上运行的东西,我会建议去QImage。

但正如所说,唯一的方法是实施和衡量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM