我有一個本機庫,用於從iPhone移植到Android的遊戲。我們的目標操作系統版本是1.6,並且遊戲整體效果非常好,沒有任何優化。但是,當我啓用任何種類的優化(無論是-O1,-O2還是-O3)時,一切(輸入,圖形,聲音,遊戲代碼),但圖形都能正常工作。編譯庫優化休息圖形
這裏就是我應該得到:
http://i56.tinypic.com/2yzn4o6.png
而且我得到什麼:
http://i51.tinypic.com/raqogl.png
我已經試圖讓對NDK郵件列表一些幫助但我沒有回覆。我甚至嘗試將紋理髮送爲純白色,他們的行爲更加奇怪,在加載屏幕中,小白色三角形「掉落」,直到整個屏幕變成白色,而我只繪製了幾個三角形。
我正在使用vs-android進行編譯,但即使使用NDK構建,我也遇到同樣的問題。我還驗證了我從紋理中獲得的像素數據是100%有效的(我在調試時將其轉儲到SD卡上的PNG上)。
任何幫助表示讚賞。
我想你將不得不把它縮小到一個特定的代碼塊,在別人真的可以幫助你之前打破優化。如果您在最近的NDK中使用GCC 4.4.x,則可以通過改變源文件中的優化來縮小它的範圍:http://gcc.gnu.org/onlinedocs/gcc/Function-Specific-Option-Pragmas .html#Function-Specific-Option-Pragmas – 2011-05-30 15:47:58
根據一位同事給我的建議,我啓用了對所有文件的優化,同時在任何可能導致問題的可疑文件上禁用了它們。所以我在我的紋理處理文件上這樣做了,經過測試解決了這個問題。 – 2011-05-30 18:58:51