我在iOS的工作,並已提出了這個問題。我將收到一組相對較大的數據(一個500x500或更大的C風格數組)。我需要根據這些數據構建基本上是X/Y圖的東西,其中500x500網格中的每個數據點對應於基於其值的顏色。事情是,這會隨着時間的推移而改變,使得一些動畫保持原樣,所以計算必須快速以便在新的數據集進入時進行更改。Quartz2D性能 - 如何提高
所以基本上,對於數組中的每個點,我需要找出它應該映射到哪種顏色,然後找出在網格上繪製的正方形來表示數據。如果我的網是768x768像素,但我有一個500×500的數據集,則每個數據點將代表約1.5x1.5矩形(這是圓的,但我希望你的想法)。
我通過創建一個新的視圖類和重寫的drawRect嘗試這個。然而,這與20x20數據集上的任何事情都有可怕的表現相遇。
我已經看到了一些建議,關於寫入圖像緩衝區,但我一直沒能找到這樣做(我很新於iOS)的任何實例。你有什麼建議嗎?或者你能指點我哪些可以幫助的資源?
謝謝您的時間,
達里爾
這基本上正是他沒有... – Eiko 2011-05-18 23:07:52
沒有,他是在一個UIView子類,這將是比在屏幕外的圖像內容繪製慢得多使用的drawRect。 – 2011-05-18 23:46:30
是什麼讓這個更快?爲什麼畫到屏幕外的環境要便宜得多?我也建議屏幕外渲染,但直接訪問內存,而不是使用25,000次調用石英,我認爲*(未測量)是這裏的性能瓶頸。 – Eiko 2011-05-18 23:55:13