2009-08-24 2 views
0

Я пишу небольшую игру в OpenGL, где я представляю элементы, враги, персонажи и т. Д. С классом. Каждый класс сохраняет ссылки на один или несколько объектов из класса Animation. Класс анимации содержит ссылки на один или несколько фреймов, которые являются текстурами, которые я уже загрузил с помощью OpenGL. Всякий раз, когда я вращаюсь, масштабируюсь и т. Д., Любой элемент в игре я сохраняю данные таких преобразований. Сейчас я пересчитываю (я не использую преобразования, предоставляемые OpenGL), координаты каждой текстуры каждого кадра в момент рисования, не сохраняя их.Использование памяти VS. Использование ЦП в iphone

Не так, как я уже пытаюсь оптимизировать, но мне интересно, какой из них лучше всего подходит при программировании для iPhone ... Лучше сохранить в своих объектах всю необходимую информацию? ... или лучше перерасчитать и оставить большую часть работы в ЦП.

+0

Так вы больше обеспокоены тем, может ли iPhone обрабатывать этот тип частоты вычислений без проблем, или вам просто интересно, звучит ли этот дизайн? И то и другое? Ни? Имея трудное время выяснить, что вам нужно/нужно точно ... –

+0

Кроме того, код, по крайней мере, работает? Если он уже работает, я бы сказал, да, вы скорее оптимизируете себя рано. Работайте над остальными вещами и перейдите к этому, если вы обнаружите, что игра работает медленно. –

+0

@Kyle Мой код работает отлично .. но Yep, Это первый, мне интересно, о способности iphone делать вычисления с частотой в каждом кадре ... –

ответ

1

Сколько данных вы говорите, кажется, что любая информация об преобразовании или координаты будут тривиально маленькими по сравнению с такими вещами, как фактические текстуры.

Я предполагаю, что вы ищете от 8 до 64 байт на спрайты, и, возможно, ~ 250 спринтов? Вероятно, это будет меньше, чем 1 кадр анимации для спрайта, и в зависимости от точного размера ваших объектов и дополнительных данных он может не занимать лишнего места из-за детализации системы malloc.

Другими словами, если я не ошибаюсь, ваши данные полностью находятся в шуме и, вероятно, необнаружимы, определенно кэшируют значения между кадрами.

+0

Это в значительной степени то, что я хотел знать, спасибо. –