gpt4 book ai didi

c++ - 如何控制 Qt 3D 中的帧速率?

转载 作者:可可西里 更新时间:2023-11-01 17:58:17 26 4
gpt4 key购买 nike

我正在使用新的 Qt 3D API在计算密集型计算期间显示 3D 场景。此场景仅作为对用户输入的响应而改变。然而,Qt 3D 的默认行为似乎将场景的帧速率锁定在某个较高的常数值,在这种情况下会消耗 Not Acceptable 资源量。

有没有办法控制 Qt 3D 中的帧速率?理想情况下,我只想在对场景进行更改时渲染一个新帧,但将其降低到较小的固定值也足够了。 Qt 3D 文档很少,我一直无法找到一种方法来完成这些事情。

编辑:我设法找到并申请了 QRenderSettings::OnDemand到我的根节点和框架图,但它似乎没有效果,虽然this暗示它应该,因为我正在使用 Qt 5.7。非常欢迎对此提出任何额外的意见(即使它只需要评论)。

编辑 2:安装后 Fraps并直接测量帧速率,看起来场景实际上只是在应用 QRenderSettings::OnDemand 时根据需要渲染帧。如果没有这个,帧速率将保持在稳定的 60fps,这恰好是我屏幕的刷新率。 但是,该程序在启用 Qt 3D 的情况下空闲时继续消耗大量 CPU 时间,无论是否显示 3D 窗口。我开始认为这是一个与帧速率无关的单独 Qt 3D 问题,并且可能会相应地提出一个新问题。

最佳答案

关于此的最新讨论可能是 2018 年在 mailing list from qt-project.org 中的一条消息:

Qt3D relies on your GPU vsync settings. To reach the maximum number ofFPS, just disable vsync in your driver settings. If on the other handyou want to reduce FPS, call setSwapInterval on theQSurfaceFormat::defaultFormat and set it before starting your Qt3Dapplication with QSurfaceFormat::setDefaultFormat.

似乎是同一用户回复了a similar question on KDAB's website几年前。

关于c++ - 如何控制 Qt 3D 中的帧速率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38341028/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com