2013-02-07 32 views
0

是否可以做動畫並強制它在CPU而不是在GPU中完成?目標c-不使用GPU就可以做動畫嗎?

我會試着解釋一下我的動機,我的一個屏幕是做大量GPU工作的一個大視圖,我也沒有幾個按鈕和控制器,它們假設在點擊時做左右滑動動畫。

問題是,在一些較舊的設備(如iPod)中,按鈕動畫非常慢(我想因爲所有GPU功率都用於我的主視圖)。
所以我雖然也許有辦法強制動畫在CPU中完成呢?

+5

我懷疑這是原因。它可能更多與CPU是雙核心或不是。你有沒有使用3D標誌?它有一個CPU渲染模式,試圖以每秒1幀的速度渲染真正簡單的多邊形。嘗試在CPU上嘗試動畫計算時,最後一個**要做的事情就是嘗試進行動畫計算。 – borrrden

+0

@borrrden說了什麼,並且還指出,GPU渲染並沒有完全釋放其他東西的CPU。 GPU和CPU必須不斷地等待對方交換數據。 – Till

+0

hi @borrrden,我的主要觀點是使用GPU進行照片過濾(使用GPUImage lib),所以我認爲這是原因。你能看到這個問題的解決方案嗎? – Eyal

回答

1

簡短的回答是否定的。

在Mac OS和iOS中,GPU負責將圖形渲染到顯示器上。

任何基於CPU的動畫最終仍然會使用GPU來將內容呈現在屏幕上。底層的圖形引擎是OpenGL。

在iOS上,Core Animation圖層直接映射到圖形硬件中的顯示圖塊。

試圖做純粹的基於CPU的圖形可能會適得其反,因爲你最終必須渲染CPU上的每一幀,然後仍然將這些像素複製到GPU內存中。