将静态 Texture2D 与 SpriteBatch 一起使用可以提高性能吗?

本文关键字:高性能 Texture2D 静态 SpriteBatch 一起 | 更新日期: 2023-09-27 18:36:40

我的游戏中会有很多(看起来一样的)僵尸。

将纹理设置为静态,这样SpriteBatch就不需要加载新纹理是个好主意吗?

我浏览了整个僵尸列表,并用相同的调用绘制每个僵尸,只是改变了位置。SpriteBatch会得到它吗?每次都是完全相同的质地吗?缺点可能在哪里?

将静态 Texture2D 与 SpriteBatch 一起使用可以提高性能吗?

我不认为使用static会给你带来某种好处.
可以肯定的是,如果您只加载一次Texture2D,则可以节省内存,并且可以使用相同的变量绘制需要多少次。

无论如何,如果您只使用一种纹理,则没有任何问题,因为:

ContentManager 的每个实例将仅加载任何给定的资源一次。第二次请求资源时,它将返回相同的资源它上次返回的实例。

ContentManager 维护它已加载的所有内容的列表内部。此列表可防止垃圾回收器清理这些资源。

参考这里。