编程语言
首页 > 编程语言> > c# – XNA Texture2D缓存

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