爲了嘗試爲我正在開發的iPhone遊戲(使用Cocos2D)創建加載欄,我想使用多線程方法。Cocos2D-iPhone中的多線程OpenGL編程
一個線程顯示加載屏幕並運行主應用程序事件循環,而新線程在後臺默默加載所有精靈(通過spriteWithFile),然後將它們添加到圖層中。
我創建一個使用NSThread的detachNewThreadSelector方法(通過performSelectorOnMainThread發送的加載狀態到主線程更新)新的線程。
我面臨的問題是,在新線程中的任何OpenGL調用(例如在spriteWithFile方法中發現的那些調用)都會因爲某種類型的BUS錯誤或內存訪問錯誤而死亡。我假設這是因爲兩個線程都試圖同時進行OpenGL調用,或者新線程不知道OpenGL上下文。
需要做些什麼來允許多線程使用Cocos2D-iPhone在iPhone上進行OpenGL調用。
http://www.cocos2d-iphone.org/forum/topic/363這也有幫助。 – 2009-07-16 07:01:14