【发布时间】:2017-03-16 12:51:33
【问题描述】:
在我的游戏中,我尝试加载非常大的 10,000 x 10,000 png 图像(它们需要那么大,因为我使用大型非重复 4k 纹理作为背景),但是使用
Texture2D[] CMap = new Texture2D[10]; //This texture is 4k 10,000*10,000
Texture2D[] Map = new Texture2D[10]; //This texture is just 2,500* 2,500, it's for collision
...
Map[i] = Content.Load<Texture2D>(PathString);
CMap[i] = Content.Load<Texture2D>(cPathString);
非常受欢迎。时不时出现这个错误
An unhandled exception of type 'System.InvalidOperationException' occurred in MonoGame.Framework.dll
Additional information: This image format is not supported
解决此错误的方法是简单地将声明剪切并粘贴到同一区域的其他位置,但在其他声明之前或之后。我猜这是 XNA(我实际上正在使用 Monogame)难以处理如此大的纹理时忽略的内存管理问题。
有时它会加载前两个贴图纹理,但之后的第三个或之后的第三个会出现错误,所以我知道代码大部分都可以正常工作,只是由于某种原因非常不稳定。那么有什么办法可以解决这个问题吗?
另外,我在运行时加载这些纹理。我想,我所有的地图都会一次占满。
【问题讨论】: