Я добавляю одноранговый Bluetooth с помощью GameKit для iPhone-up, так что скорость очень важна.Я отправляю около 40 сообщений в секунду, большинство из них с более быстрым GKSendDataUnreliable, все сериализуются с помощью NSCoding.При тестировании между 3G и 3GS это замедляет 3G намного больше, чем хотелось бы.Мне интересно, где я должен сосредоточить свои усилия, чтобы ускорить его.
Насколько медленнее GKSendDataReliable?Для тех немногих пакетов, у которых есть , будет ли быстрее отправить GKSendDataUnreliable, и одноранговый узел отправит подтверждение, чтобы я мог отправить снова, если я не получу подтверждение в течение, скажем, 100 мс?
Насколько быстрее было бы создать экземпляр NSData, используя обычный массив C, а не архивировать с помощью протокола NSCoding?Является ли этот процесс сериализации (около десятка операций с плавающей запятой) таким же медленным, как и следовало ожидать из-за накладных расходов на создание / освобождение объекта, или происходит что-то особенно медленное?наборы данных намного, намного медленнее, чем отправка одного фрагмента данных в четыре раза больше.Буду ли я существенно экономить, отправляя отдельные пакеты данных, которые не всегда объединяются в одном и том же пакете, когда они происходят в одно и то же время?
Есть ли другие секреты производительности Bluetooth, которые я пропустил?
Спасибо за вашу помощь.