首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >仅在交互时更新pixi.js中的框架

仅在交互时更新pixi.js中的框架
EN

Stack Overflow用户
提问于 2021-10-25 08:54:03
回答 1查看 142关注 0票数 0

我正在创建一个pixi.js 6.0.4应用程序,并发现在速度较慢的计算机上存在性能问题。CPU和/或GPU过高。

在Chrome开发工具中,如果我分析miro.com,它似乎使用pixi,我注意到只有当我实际与应用程序交互时,FPS才会达到峰值。例如:

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

我认为这可能对性能有很大的影响。

我使用angular和ngZone创建应用程序,如下所示:

代码语言:javascript
复制
this.ngZone.runOutsideAngular(() => {
this.app = new PIXI.Application({
    backgroundColor: 0xefefef,
    autoDensity: true
});
this.SetCanvasSize();
});

我如何将pixi.js设置为仅在交互时更新框架?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 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);,但仅当某些条件为真时才调用,例如“交互时”(如您所描述的)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69705199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档