从Pixi.js中加载图像时,Sprite片的顺序或数量很重要



我正在使用纹理包装器为所有游戏图像资源创建精灵表。我最终使用了5张纸的多包,最高为2048x2048。我有大量的精灵被装入各种容器,精灵,tilingsprites等。我是否应该更智能地基于将它们装载到哪个容器上?

>

我觉得我在做错了什么,因为我的表现似乎不是最出色的。我将游戏剥离以仅加载6个精灵,以尝试解决问题的根本原因。我什至将我的精灵纸分开为单个容器。因此,容器" a"使用来自Sprite片的图像'a'wher container'b'使用Sprite片'B'的图像。

即使将这些非常最小的图形加载到了我的CPU用法中,我的计算机风扇也很疯狂。似乎只显示6个精灵的计算机工作非常努力。我没有注意到,当我从Pixijs网站尝试演示/示例时。

我真的不确定我在做什么错。我的图像太大了吗?我有一些大约1440x900像素。这些图像都被压缩了,因此大小不太大,但大尺寸sprites会慢慢变化吗?我会显示一些代码,但我的代码库很大。我已经在Canvas和WebGL上尝试了一下。WebGL的表现更好,但我都得到了相同的CPU尖峰。

在WebGL上,显示图形是GPU的责任。因此,如果CPU在使用WebGL时,我会很确定自己的问题在您的代码中,而不是精灵大小。基本上WebGl只是对其可以显示的大纹理的局限.com/webgl/parameter/max_texture_size

因此,在WebGL中,最佳CPU应仅将Sprites上传到GPU,此后CPU更改精灵的位置,并将新位置发送到GPU,每个动画周期和GPU重新绘制了Sprites。但是您提到您的代码库很大,所以我怀疑作为核心问题。

您应该找出代码的哪一部分导致尖峰。您可以使用例如Chrome DevTools对此进行了分析,并从那里继续前进。

相关内容

  • 没有找到相关文章

最新更新