gpt4 book ai didi

c# - XNA Texture2D 缓存

转载 作者:太空狗 更新时间:2023-10-30 01:09:03 24 4
gpt4 key购买 nike

是否需要这样的类(class)?

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 而言......我确信这些实现可以很好地相互映射,但这次我不能确定。

此外,如果您想重新加载 Assets ,您可以使用额外的 ContentManager 然后将其丢弃。

关于c# - XNA Texture2D 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7842842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com