0

我的游戏中会有很多(外观相同)的僵尸。

使纹理静态化是个好主意,这样就SpriteBatch不需要加载新的纹理了吗?

我遍历整个僵尸列表并用相同的调用绘制每个僵尸,只是改变了位置。会SpriteBatch得到吗?每次都完全一样的质地吗?劣势可能在哪里?

4

1 回答 1

2

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

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

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

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

参考这里

于 2013-10-24T22:23:53.390 回答