我使用新的Qt 3D API在计算强度计算过程中显示3D场景。该场景仅作为对用户输入的响应而改变。但是,Qt 3D的默认行为似乎将场景的帧速率锁定为某个较高的常量值,在这种情况下会占用不可接受的资源量。如何在Qt 3D中控制帧频?
有没有办法控制Qt 3D中的帧频?理想情况下,我只想在对场景进行更改时渲染一个新帧,但将其降低到较小的固定值也足够。 Qt 3D文档很少,我一直无法找到一种方法去做这些事情。
编辑:我设法找到并将QRenderSettings::OnDemand应用于我的根节点和框架图,但它似乎没有效果,但this意味着它应该,因为我使用的是Qt 5.7。任何额外的投入都会非常受欢迎(即使它只是保证评论)。
编辑2:安装Fraps并直接测量帧速率后,看起来该场景实际上只是在应用QRenderSettings :: OnDemand时根据需要渲染帧。如果没有这个,帧速率保持在60fps,这正好是我的屏幕刷新率。 然而,,程序继续消耗大量的CPU时间,同时启用Qt 3D空转,无论是否显示3D窗口。我开始认为这是一个与帧率无关的单独的Qt 3D问题,并且可能会相应地提出一个新问题。
你确定它与你的图形没有关系吗? –
在什么fps运行,什么是您的偏好最高的fps? –
这可能值得一看。它可能不会解决它,但它可能会解决这个问题。 http://stackoverflow.com/questions/36181532/qt-qapplication-framerate-drop-when-maximizing-window –