0
我在我的游戏世界中有一些区域,用于根据区域的可见性和与用户的接近度对可渲染区域进行分区。如何防止在XNA Game Studios(设计)中加载纹理的副本
为简单起见,同样如此。
class Zone
{
Textur2D _texture;
public Zone(...)
{
_texture = Content.Load<Texture2D>("Textures\\a");
}
}
当前,此结构具有_texture作为Zone类的成员。现在,如果我需要渲染20个区域。我将不得不加载20个可能是相同纹理的副本。
从我的角度来看,这似乎是非常低效的记忆智慧。
我查看了MSDN和网上的ContentManager(称为Content above)类,看起来它具有Unload()功能。让我相信它是纹理数据的集中来源,这意味着我假设的20个区域中的所有加载的纹理都指向相同的参考纹理,并且在我调用Unload()时将全部处理。
这是这种情况?或者我应该实现一个ContentCache来加载所有这些纹理,并让我的区域指向它们共享的集中加载纹理?
非常好!这节省了我大量的时间!非常感谢你! – 2014-11-20 20:56:14