2010-06-13 1 views
0

Я разрабатываю игру/движок для iPhone OS. Это первый раз, когда я использую Objective-C.Быстрая (де) сериализация на iPhone

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

Итак, теперь я пытаюсь сделать материал «Entity» постоянным, не жертвуя производительностью.

Сначала я хотел использовать NSKeyedArchiver. Из того, что я слышал, это не очень быстро. Кроме того, то, что я хочу сериализовать, - это в основном структуры, сделанные из float с некоторыми ints и строками, поэтому на самом деле нет необходимости во всех этих «объектных графах».

NSArchiver был бы более уместным, но по какой-то причине они пнули это от iphone.

Итак, теперь я собираюсь снова создать свою собственную схему сериализации. Я ошибаюсь, думая, что NSKeyedArchiver медленный (я только читал, что не тестировал его сам)? Если да, то какой способ кодирования/декодирования лучше всего (без указателей, в основном плавающих), не жертвуя скоростью?

+1

Я бы определенно протестировал его самостоятельно и удостоверился, что он недостаточно быстрый для ваших нужд. – Wevah

ответ

1

Не беспокойтесь, чтобы оптимизировать то, что вы не тестировали ... это может быть «достаточно хорошо». Один намек; бинарный формат примерно в 2 раза быстрее и почти в 2 раза эффективнее памяти, чем формат XML.

Помимо этого ... хорошо ... вы попадаете во всевозможные проблемы конкретного случая. Вам нужны все данные сразу? Нужно ли это транслировать? Произвольные подмножества? Насколько это связано? Будет ли он воссоздан в один или несколько объектов ObjC? Являются ли данные предварительно консервированными? etc.etc.etc ...

0

У меня были хорошие результаты, используя yajl-objc для сериализации и общения с веб-службами типа REST; он достаточно эффективен для моих нужд и прост в использовании.

Это, если только у вас есть тонна данных NSKeyedArchiver, скорее всего, все будет хорошо.

 Смежные вопросы

  • Нет связанных вопросов^_^