【问题标题】:How does XNAs Content.Load<Texture2D> operate?XNAs Content.Load<Texture2D> 如何运作?
【发布时间】:2010-11-22 06:06:29
【问题描述】:

我只是好奇它是否真的在每次调用它时将资产加载到内存中,或者它是否查找它,查找它是否已加载,如果未加载,它会加载一次并仅保留引用,以便第二次它被称为它只是获取对它的引用?

【问题讨论】:

    标签: xna textures texture2d


    【解决方案1】:

    它会跟踪已加载的内容,如果之前已加载过,则仅返回对同一对象的引用(这是 per-ContentManager)。这适用于所有内容,而不仅仅是纹理。

    结果是您可以在需要内容时拨打Load,而无需考虑重复。另一个结果是,您永远不应该 Dispose 从 ContentManager 加载内容(改用 ContentManager.Unload)。

    如果您想了解更多详情,请take a look at this question and answer

    【讨论】:

    • 啊,谢谢,这就是我所希望的答案。我曾经使用自己的内容管理器以这种方式工作,所以我只是假设 XNA 也是如此。然后我惊慌失措,因为我意识到这只是一个假设,我不确定它是否保留了引用,或者它是否加载了重复的资产..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 2017-11-29
    • 1970-01-01
    相关资源
    最近更新 更多