我需要使用不同的变换渲染大量(数百个)相似的球体和圆柱体。目前,这是通过创建数百个相同的QEntity
对象来实现的。结果是应用程序不断消耗20%-70%的CPU - 即使场景仍然存在。
是否存在窗口小部件的默认更新事件源?如果有,我可以将其关闭或降低频率吗?似乎没有其他CPU负载来源,而是Qt3D小部件。
答案 0 :(得分:2)
你看过QRenderSettings
班的enum了吗?看起来您可以将渲染策略设置为OnDemand
,这会导致Qt仅在某些内容发生变化时渲染场景。
或者,如果您不需要与场景进行互动,您可以查看我对offline renderer的实施情况。每当您设置根实体时,基础QAspectEngine
就会启动和停止。您可以设置根实体,捕获帧并取消设置根实体,从而导致图形循环停止,这将导致我猜测的CPU负载减少。