我正在OpenGL中编写一个小游戏,我用类来表示项目,敌人,角色等。每个类都保存对Animation类中一个或多个对象的引用。动画类包含对一个或多个帧的引用,这些帧是我已经使用OpenGL加载的纹理。每当我旋转,缩放等游戏中的任何元素时,我都会保存这些变换的数据。现在我重新计算(我不使用OpenGL提供的转换)每个帧在绘制时的每个纹理的坐标,而不保存它们。
不像我正在尝试优化,但我想知道哪一个是为iPhone编程时最好的方法...最好是在你的对象中保存你需要的所有信息?...或者最好重新设置 - 计算并将大部分工作留给CPU。
答案 0 :(得分:1)
你在谈论多少数据,似乎任何变换信息或坐标与实际纹理相比都会变得非常小。
我猜你正在寻找每个sprite上8到64个字节,最多可能~250个sprits?对于精灵来说,这可能不到1帧动画,并且由于系统malloc的粒度,根据对象的确切大小和额外数据,它可能不会占用任何额外空间。
换句话说,除非我猜错了你的数据完全在噪音中并且可能无法检测到,否则肯定会在帧之间缓存值。