我正在开发一个具有可滚动列表的游戏视图。我注意到,当我滚动一段时间时,我的手机开始发热,我想这是因为当我滚动时,像素以60fps的速度重新渲染整个游戏视图。
有没有一种方法可以将这个可滚动列表(带有掩码和子容器的容器(放到某种单独的层上,这样当它被滚动时,pixi应用程序的其余部分就不需要重新渲染,也许可以通过这种方式帮助降低cpu负载?
我不知道你的可滚动列表的机制是什么,但你能检查一下在给定时间有多少个对象(容器/精灵/Pixi.Graphics/mask(处于活动状态吗?例如:每隔几秒钟在控制台日志中显示这样的计数。也许升温/减速是由PIXI需要处理的对象数量不断增加引起的——这就是为什么一开始还可以,但随着时间的推移,情况会恶化。如果是这样的话,也许你应该尝试删除(或隐藏?(不再使用或不显示在屏幕上的对象。
还请参阅有关PIXI在移动设备上的性能以及如何优化它的讨论-例如本线程:https://www.html5gamedevs.com/topic/38509-fastest-way-to-do-masking/?tab=comments#comment-221654