c# – XNA Texture2D缓存
作者:互联网
这样的课是必要的吗?
public class ContentCache
{
private readonly ContentManager _content;
private readonly Dictionary<string, Texture2D> _textureCache = new Dictionary<string, Texture2D>();
public ContentCache(ContentManager content)
{
_content = content;
}
public Texture2D Load(string assetName)
{
Texture2D texture = null;
if (!_textureCache.TryGetValue(assetName, out texture))
{
_textureCache[assetName] =
texture = _content.Load<Texture2D>(assetName);
}
return texture;
}
}
我很好奇ContentManager.Load< Texture2D>()是否在内部进行了自己的缓存.我不想双重缓存.
注意:
我们的XNA游戏是2D,可以在WP7和Windows上运行,也可以在iOS和OSX上运行MonoGame.
MonoGame可能在Windows中的功能与XNA不同,但我可能会浏览它的来源以找出它.
解决方法:
这堂课是不必要的. ContentManager代表您执行此操作.
资源:
http://forums.create.msdn.com/forums/p/31383/178975.aspx
注意:
就Mono来说……我确信这些实现相互之间相当完美,但我不能确定这一点.
此外,如果您想要重新加载资产,您可以使用其他ContentManager并在之后将其丢弃.
标签:c,net,mono,xna,monogame 来源: https://codeday.me/bug/20190621/1252748.html