2011-09-27 59 views
1

這是一個完全是新手的問題,但我正在尋找一些有關opengl的初學者指導。我有一個應用程序使用石英2d在視圖上繪製靜態線條。這一直工作正常,但我們在ipad 1上遇到了一些性能問題,我們不覺得我們可以優化它來嘗試加速它。iPhone/ipad將quartz2d線條圖轉換爲opengl

我們希望重寫視圖來使用opengl,這樣我們可以提高渲染性能,但是我們對opengl沒有任何經驗。我一直在看網絡和玩,但收效甚微。我一直在使用提供的示例heredirect link)開始,但我想知道是否有人可以編寫smidgin代碼來向我們展示如何在視圖中繪製一組線條。

回答

1

無論如何,我的答案可能大致可以判斷,我會從我們的經驗中講述一些事情。我們正在建立一個iPhone/iPad應用程序,該應用程序處理圖表(Line/Column/Pie/...)。我被要求研究使用哪種技術。所以最後我們選擇了OpenGL ES,因爲它是更加靈活和低級別的圖形引擎。最後,當我們遇到了許多OpenGL問題時,在UITableViews中繪製這些圖表時,爲了獲得性能並排除應用程序崩潰而創建了後臺線程和搶劫以及大量調整。最後我們意識到我們的圖表並沒有像許多其他現有的應用那樣流暢地繪製出來。在沒有太多計算的情況下,逐幀畫出的架構可能是有效的,但在我們的情況下,它非常緩慢,即使預先計算了大部分頂點。最後我們決定傳遞給Quartz2D,實際上我們贏得了戰爭。所有由iOS框架繪製的圖表都是原生的,並且可以進行優化以便快速平滑地繪製。 所以,如果你試圖畫出一條線,並且你認爲從石英傳遞到opengl會獲得更好的表現,但我的意見不是這樣做。 祝你好運。

+0

這是一個有趣的發現。我們所有的觀點都是當用戶在屏幕上繪製時畫線。它在ipad 2上工作正常,但在ipad 1上,採樣時間太長,所以我們正在試圖減少這一點。我們已經在做一些事情,例如只使用r-tree等重新繪製屏幕的一部分,但我們無法將繪製時間縮短,並認爲opengl可能會幫助 – Thomas