2013-10-24 88 views
0

我将在我的游戏中有很多(相同的外观)僵尸。使用具有SpriteBatch的静态Texture2D可以提高性能吗?

将纹理设置为静态是不是一个好主意,因此SpriteBatch不需要加载新纹理?

我经历了整个僵尸列表,并绘制每个僵尸与相同的调用,只是改变位置。 SpriteBatch会得到它吗?每次都有完全相同的纹理?缺点在哪里?

+0

如果您使用的是相同的纹理对象,则精灵批处理会注意到它。如果它是另一个对象,它不会。 –

回答

2

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

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

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

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

参考here

相关问题