如何防止Qt3D window 自我更新?
How to prevent Qt3D window from self-updating?
我需要渲染大量(数百个)具有不同变换的相似球体和圆柱体。目前这是通过创建数百个相同的 QEntity
对象来实现的。结果是应用程序不断消耗 CPU 的 20..70%——即使场景静止时也是如此。
小部件是否有默认的更新事件源?如果有,我可以关闭它或降低它的频率吗? CPU 负载似乎没有其他来源,只有 Qt3D 小部件。
您看过 QRenderSettings
class 的 enum 了吗?似乎您可以将渲染策略设置为 OnDemand
,这会导致 Qt 仅在发生变化时渲染场景。
或者,如果您不需要与场景交互,您可以查看我的 offline renderer. The underlying QAspectEngine
实现,无论何时设置根实体都会启动和停止。你可以设置你的根实体,捕获框架并取消设置根实体,导致图形循环停止,我猜这将导致更少的 CPU 负载。
我需要渲染大量(数百个)具有不同变换的相似球体和圆柱体。目前这是通过创建数百个相同的 QEntity
对象来实现的。结果是应用程序不断消耗 CPU 的 20..70%——即使场景静止时也是如此。
小部件是否有默认的更新事件源?如果有,我可以关闭它或降低它的频率吗? CPU 负载似乎没有其他来源,只有 Qt3D 小部件。
您看过 QRenderSettings
class 的 enum 了吗?似乎您可以将渲染策略设置为 OnDemand
,这会导致 Qt 仅在发生变化时渲染场景。
或者,如果您不需要与场景交互,您可以查看我的 offline renderer. The underlying QAspectEngine
实现,无论何时设置根实体都会启动和停止。你可以设置你的根实体,捕获框架并取消设置根实体,导致图形循环停止,我猜这将导致更少的 CPU 负载。