C#或C游戏:许多16种彩色图像加载到RAM中.高效的解决方案?
我正在打造一场格斗游戏的规划阶段,不确定如何处理与记忆有关的一个问题.
背景信息: 未压缩,每个图像从我的计算中大约需要300kb;高达100MB的整个字符.这是推动太接近256MB的限制,因为还需要一些其他资源的内存. 因为每个图像可以共16种颜色.理论上我应该能够使用1/8的空间,如果我可以利用这一点.我已经环顾四周了,但没有发现任何关于本色支持的图片. (使用较少的位存储每个像素,每个映射到32位RGBa颜色) 我们尝试使用DXT压缩,但是,压缩工件非常明显. 我正在考虑用自己的文件格式,每像素4位(和一些额外的调色板信息),将这种新格式的所有图像加载到RAM中,然后在绘制任何特定图像时,只将该图像解压缩为原始图像所以它可以正常渲染.我不知道执行这么多赋值操作(每个字符的每个字符大小为200×400,每个160k)是否现实.对我来说听起来很骇人听闻 有没有人建议我的解决方案是否合理,如果可能有更好的一个可用? 非常感谢! (我也尝试使用只有1个通道的图像,然后使用着色器来执行一系列if语句来将各种值转换为其他颜色,不幸的是,着色器的代码行太多,也是相当黑客并且不能很好地扩展.) 解决方法
如果你想要定位XBox 360,没有一个正确的(完整的)devkit,那么C#是你唯一的选择.当开始XNA肯定会让你做的事情变得更加容易,特别是如果你现在只是做2D(并且需要照顾很多其他的东西,你现在不需要担心).
至于内存限制问题,建议取消它: >使用1555纹理格式将大小减半 您还可以组合其中一些选项来节省更多. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |