2009-07-01 47 views
2

很新iPhone/objective-C。iPhone的性能與位圖

我有一個在屏幕上有15-100個小圖像(16x16或8x8 PNG)的應用程序。爲了這個例子,假設我可以在需要時使用CGContext創建這些圖像。

我不得不假設iPhone會更好地使用該方法而不是加載圖像(PNG)。但是,位圖版本更容易開發,並且還具有其他優勢(如內置觸摸事件),我需要它。

如果性能不是該應用程序的最終指標,那麼放置100張小圖像是否足以降低性能/內存,甚至可以考慮切換到CGContext方法。我的直覺告訴我,我不會看到這麼多的性能差異,但我對iPhone開發太新,以致對它的瞭解足以讓它有所作爲。

回答

0

我想先嚐試位圖版本,然後CGContext一個,如果位圖太慢。

那麼如果它仍然太慢,我會把所有的圖標放入GL紋理中。

1

我想這取決於你的圖像生成算法的複雜性。

我也將取決於你的應用程序:你會在動畫中每秒多次繪製這些圖像嗎?如果是這種情況,請使用UIImageViews

+0

謝謝!將不會有動畫。我可能會每隔幾秒鐘刷新一次整個屏幕,但這將是最大的重繪次數 – 2009-07-01 17:19:57

1

我認爲使用100左右UIImageViews應該沒問題,只要你不需要快速動畫或更新他們在同一時間。你應該避免做任何會改變視圖大小的事情(比如重新調整包含它們的視圖的大小),並且如果你使用Core Animation來動畫它們,就在單個動畫塊中執行所有的動畫。 (用一個[UIView beginAnimations:context:],[UIView commitAnimations] - 不是每個視圖都包含一切)

祝你好運!