我正在创建一个pixi.js 6.0.4应用程序,并发现在速度较慢的计算机上存在性能问题。CPU和/或GPU过高。
在Chrome开发工具中,如果我分析miro.com,它似乎使用pixi,我注意到只有当我实际与应用程序交互时,FPS才会达到峰值。例如:

如果我分析我的应用程序,FPS总是很高。例如:

我认为这可能对性能有很大的影响。
我使用angular和ngZone创建应用程序,如下所示:
this.ngZone.runOutsideAngular(() => {
this.app = new PIXI.Application({
    backgroundColor: 0xefefef,
    autoDensity: true
});
this.SetCanvasSize();
});
我如何将pixi.js设置为仅在交互时更新框架?
谢谢。
发布于 2021-10-25 15:16:19
您正在使用PIXI.Application,它是“渲染器”、“记号”和“舞台”的包装器-请参阅:https://github.com/pixijs/pixijs/blob/dev/packages/app/src/Application.ts#L35
这意味着它将创建Ticker,它将(使用requestAnimationFrame)每秒运行Renderer.render方法约60次。这可能是导致CPU/GPU使用率的原因。
也许你应该尝试创建自定义游戏循环:
https://github.com/pixijs/pixijs/wiki/v5-Custom-Application-GameLoop#custom-gameloop
然后尝试降低renderer.render(stage);的频率-所以不要每秒调用60次,而是20次?
和/或您可以修改它,使其不在每一帧上都调用renderer.render(stage);,但仅当某些条件为真时才调用,例如“交互时”(如您所描述的)。
https://stackoverflow.com/questions/69705199
复制相似问题