2012-04-19 82 views
1

我正在寫一個數學應用程序,用戶可以在其中繪製圓形,正方形,直線等幾個數學數字......我使用當前圖形上下文,Quartz 2D,UIView和drawRect:方法直接繪製屏幕。使用drawRect繪圖:性能很重要?

我不確定我在問什麼,但是這種使用drawRect:的繪圖方式每次都會對性能造成影響(iPhone電池)?非常感謝。

+1

這個問題是不應答的,因爲它完全取決於你在drawRect中做什麼。 – sosborn 2012-04-19 08:34:47

+1

這一切都取決於你更新屏幕的頻率(調用'setNeedsDisplay') – 2012-04-19 08:42:04

+0

是的,這取決於你畫的東西,但是還有什麼可以說的:性能是 - 根據我的經驗 - 不是繪製矩形的問題情況正好相反)。但是,如果你有很多視圖實例,這些實例都是通過同時顯示的drawRect實現來繪製的(或者可能在滾動視圖上不顯示),你將會遇到內存問題,因爲UIKit中有很多優化如果您使用核心圖形繪製自己,則框架無法使用它。一如既往:採取第一種方法,測試它,只在測試失敗時才考慮替代方案。 – 2012-04-19 08:47:44

回答

2

爲了回答您的問題,您需要使用工具在惡劣條件下對應用的執行進行配置。它可能很重,也可能很好。由於多種原因,複雜性可能會有很大的不同。如果界面明顯滯後/緩慢,那麼可能會表示您的繪圖花費了太多時間。如果您懷疑這會因複雜性而成爲問題,那麼通常會在樣本引入時發現並糾正問題。

相關問題