如何在XNA中正确卸载图形资源?

3

我正在开发一款使用大量纹理的游戏,因此需要在不再使用时正确卸载纹理。

卸载纹理(还包括顶点缓冲区、着色器和其他图形资源)的正确方法是什么?

我听说调用Dispose()并不是正确的方法。

所有纹理都是通过Texture2D.FromStream加载的,因此我根本不使用ContentManager


4
我注意到您是一位长期用户。也许现在是时候您自己开始正确地格式化您的问题了?例如,正确使用大小写和标点符号,不再在结尾处写“谢谢!”等等……所有这些细节您会时不时发现被编辑掉的。 - Steven Jeuris
谁告诉你“调用Dispose()不是正确的方法”是指在XNA上下文中还是一般情况下?无论如何,这都是错误的建议。Dispose是有其存在意义的。 - Jamie Keeling
1个回答

6

使用ContentManager.Unload()来卸载ContentManager加载的内容。

在Game.UnloadContent函数中,应该使用Dispose()来释放自己创建并且没有通过ContentManager加载的纹理和其他一些资源。


2
谢谢!是的,我通过Texture2D.FromStream创建所有的纹理,所以我根本不使用ContentManager。 - clamp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接