2012-03-25 57 views
0

我正在使用opengl es 1.x在Android平臺上製作遊戲(和遊戲引擎)。在加載關卡數據並構建它時,我想渲染另一個場景,以便玩家可以在關卡加載代碼運行時查看某些內容。我想過使用一個鉤子系統,其中的級別加載代碼會不時調用一個回調函數,以便進行一些渲染。在Android上執行長CPU處理時渲染opengl es

問題是我該如何手動獲取OpenGL ES以顯示backbuffer的內容,因爲級別加載代碼在opengl線程上執行其工作,因爲它也使用opengl es調用來執行它的工作?

任何意見是極大的讚賞, 感謝

回答

1

你可以嘗試做有你的加載代碼調用渲染代碼(讓渲染代碼調用加載代碼的對面時,有一段時間在兩者之間的FAME )。將你的加載分成儘可能小的部分(只讀取圖像緩衝區的100個字節等),並調用一個通用的load()方法,在返回之前儘可能少地完成工作,然後如果在渲染下一幀之前有時間再次調用,請再次調用它並迭代,直到時間不足(保持一些目標fps)。 只有將幾乎所有的加載分成小塊併爲加載「任務」創建一個隊列時,這纔會起作用。