【问题标题】:Loading large images in XNA (Monogame), very unstable在 XNA (Monogame) 中加载大图像,非常不稳定
【发布时间】: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)难以处理如此大的纹理时忽略的内存管理问题。

有时它会加载前两个贴图纹理,但之后的第三个或之后的第三个会出现错误,所以我知道代码大部分都可以正常工作,只是由于某种原因非常不稳定。那么有什么办法可以解决这个问题吗?

另外,我在运行时加载这些纹理。我想,我所有的地图都会一次占满。

【问题讨论】:

    标签: c# xna


    【解决方案1】:

    我相信 XNA 只支持大小为 4096x4096 的纹理。比这更大的,你必须分割你的纹理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-23
      • 2016-02-27
      • 2014-09-21
      • 1970-01-01
      相关资源
      最近更新 更多