2011-05-09 66 views
0

我正在制作一个简单的iOS游戏,它总是绘制5到10层32位png图像,当视网膜启用时需要足够的内存在iPod touch 4g上崩溃。在其他设备上,它工作得很好。我甚至没有收到内存警告。所以我尝试使用质量较低的图像,如RGB5_A1格式,但看起来非常糟糕,因为我需要alpha透明度和大量渐变。在iOS中使用矢量

由于所有的图像都是从Illustrator中导出的,我想这也许是我可以导出一个矢量图并在iOS上绘制。从我正在研究的内容来看,几乎没有人试过这个,我遇到的唯一选择是为Quartz实现一个SVG解析器。

我错过了什么吗? 我也担心表现,但我找不到任何基准。

+0

我认为你应该开始优化你的代码。如果带有视网膜显示器的iTouch无法处理它,那么你做错了什么。即使像SupCom2这样比你的游戏复杂得多的游戏也不会使用那么多的内存 – 2011-05-09 10:30:52

+0

尝试合成 – 2011-05-09 10:31:08

+0

这些图像有多大? – JeremyP 2011-05-09 10:34:33

回答

0

不知道你的游戏的细节,我会做一些假设基础上的正常使用...

你不会想使用直矢量图形这一点。坚持你的光栅图形。

如果您在为您的PNG图像讨论32位色彩空间,那么您需要缩小比例。 iOS使用24位图像,其中包括8位,分别用于红色,绿色,蓝色和阿尔法。就目前而言,您显示的每个像素都有一个额外的字节。

如果您使用的是Adobe产品,请将Illustrator文件导入Photoshop并使用“Save for Web ...”选项。选择PNG-24,你会全部设置。

+0

红色,绿色,蓝色和Alpha是四个通道,其中每个都有八位。总共32个。 ;) – 2011-05-09 19:05:26

+0

是的,我的头在哪里? Photoshop的PNG导出预设称为PNG-24。嗯...其余的帖子仍然站立。不应该有性能问题。 – Mike 2011-05-11 15:02:04