Многопоточное программирование OpenGL в Cocos2D-iPhone

import shutil

shutil.rmtree('/folder_name')

Стандартное Справочное руководство по библиотеке: shutil.rmtree.

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

shutil.rmtree('/folder_name', ignore_errors=True)
9
задан genpfault 18 June 2010 в 09:56
поделиться

4 ответа

Я тоже хочу это сделать.

Я начинаю с этой ветки .

PS: Этот ответ очень старый, теперь я не уверен, что асинхронная загрузка текстур так же полезна, как и раньше, поскольку iOS5 добавила «бесплатную» загрузку текстур через CVOpenGLESTextureCaches . Конечно, вы все еще можете (и должны) загружать свои ресурсы во вторичный поток, но предоставление этому потоку EAGLContext сейчас не кажется необходимым.

2
ответ дан 3 November 2019 в 07:14
поделиться

У Apple есть несколько хороших рекомендаций для многопоточного OpenGL здесь .

1
ответ дан 3 November 2019 в 07:14
поделиться

Cocos2d лучшие практики рекомендуют не использовать NSTimer, и я предполагаю, что то же самое относится и к потокам. Вам, вероятно, следует использовать объект Cocos ' Timer . Это оставит управление потоками для Cocos, а также позволит вам получить доступ к правильному графическому контексту. HTH.

-1
ответ дан 3 November 2019 в 07:14
поделиться

Для записи новая нить должна выполнять следующие две строки, чтобы иметь возможность использовать API OpenGL из одновременного потока:

EAGLContext *k_context = [[[EAGLContext alloc] initWithAPI:kEAGLRenderingAPIOpenGLES1 sharegroup:[[[[Director sharedDirector] openGLView] context] sharegroup]] autorelease];
[EAGLContext setCurrentContext:k_context];

Теперь это сделано устаревшим на Способ Addimageasync , предоставленный классом TextUREMGR в Cocos2D 0.8.x внутрь, который делает асинхронную загрузку текстуры для вас.

3
ответ дан 3 November 2019 в 07:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: