2010-07-27 2 views
0

У меня есть игровое приложение, отображающее множество изображений, которые необходимо обработать перед их отображением. Набор изображений необходимо обновлять с новыми каждые 2 секунды.Должен ли я использовать Threads для ускорения приложения

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

У меня есть специальная «доска» класса, которую я мог бы вызвать в фоновом режиме для создания «nextSet», в то время как «currentSet» используется игроком.

Каков наилучший способ сделать это?

Threads, похоже, нужно ... да, где я могу найти примеры кода, запускающего это поколение в фоновом режиме?

cheeerio,

Tibi.

ответ

0

Этот Threading Cocoa tutorial является достаточно хорошим для начала. У них также есть пример кода

На вопрос: следует ли использовать NSThread.

Технически, да, вам следует. Для тяжелых IO, как это, выполнить на фоне не будет freese ваш пользовательский интерфейс, и это также улучшит ваш пользовательский опыт. Но, будьте осторожны при использовании нити, у нее есть трудности, как обмен данными, тупик ...

1

Звучит как ситуация с производителем/потребителем. Я предлагаю вам посмотреть на очереди, чтобы решить эту проблему. У вас будет один поток обработки изображений в фоновом режиме (производитель) и размещение в очереди. Тогда у вас есть свой пользовательский интерфейс, который их потребляет, когда они будут готовы, показывая их пользователю. В iOS4 улучшена поддержка задач, связанных с параллелизмом, и у Apple есть несколько отличных руководств по этой теме.

Concurrency Programming Guide
Grand Central Dispatch

Успехов

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