C++ 为什么qt在opengl中呈现svg文件时比在本机中呈现svg文件时具有更好的性能

C++ 为什么qt在opengl中呈现svg文件时比在本机中呈现svg文件时具有更好的性能,c++,qt,opengl,svg,C++,Qt,Opengl,Svg,如果这听起来很愚蠢,我很抱歉。我是新来的 我正在从运行SVG查看器示例。我发现在本机模式和OpenGL模式下的性能是非常不同的 这两种模式的基本区别在于。在本机模式下,其视口为 QWidget;在OpenGl模式下,其视口是QGLWidget 我的问题是,是什么导致了性能差异?有关于这方面的在线文档吗 性能不一定不同,但CPU使用率却不同。这是因为OpenGL将计算移动到GPU上 您可以将OpenGL基本上看作是一个用于编程GPU的API 当您切换到“本机”时,所有计算如SVG数据的光栅化都是在

如果这听起来很愚蠢,我很抱歉。我是新来的

我正在从运行SVG查看器示例。我发现在本机模式和OpenGL模式下的性能是非常不同的

这两种模式的基本区别在于。在本机模式下,其视口为 QWidget;在OpenGl模式下,其视口是QGLWidget

我的问题是,是什么导致了性能差异?有关于这方面的在线文档吗


性能不一定不同,但CPU使用率却不同。这是因为OpenGL将计算移动到GPU上

您可以将OpenGL基本上看作是一个用于编程GPU的API


当您切换到“本机”时,所有计算如SVG数据的光栅化都是在CPU上完成的,这是您在任务管理器中可以看到的。

谢谢,这对我来说很有意义!这是非常有见地的:当使用OpenGL时,CPU使用率会降低,但这并不能告诉我们性能。后者将取决于OpenGL绘制引擎后端与CPU上运行的光栅后端相比在特定SVG工作负载上的行为。在某些情况下,它的性能可能会更差,例如在某些移动GPU上。