所以,我一直在玩核心劇情(iOS版本1.5),看看我可以如何融入我的應用程序。我正在iPad 3上測試它,這通常是我的基本圖形設備。核心繪圖使用大量內存
而是粘貼一噸的代碼,這裏的情節配置:
- 1圖,採用了純白色主題
- 1劇情空間
- 2個獨立散點圖,每小區3個數據點。
- 2軸:
- X軸:範圍:2013年12月,2014年3月(NSTimeInterval)。 3個標籤,3個主要蜱和約90個次要蜱(每天1個)
- YAxis:範圍:0,250。3個標籤,3個主要蜱,12個次要蜱。 YAxis漂浮在圖的右側。
- 每軸有1個標題
所以,一般我的應用程序坐在周圍33-34 MB的使用。如果顯示一些圖像,它可能會達到50 mb,但通常它會位於33-34 mb範圍內。但是,加載Core Plot會將內存跳至63 mb左右。如果我啓用縮放並縮放圖表來縮放它或我只需拖動圖表,內存使用率峯值達到〜143 mb,然後穩定回到84mb。當我關閉圖形時,內存下降到大約22mb,我認爲這是因爲其他緩存由於內存壓力而被清除。
另外,也許相關,捏和拖動圖形是非常緩慢。也許平均2-3 FPS與下降到2 SPF(每幀秒...嚴重)。
它看起來像核心繪圖是一個淫穢數量的內存,是非常緩慢。
我錯過了什麼,或者這只是核心劇情的方式?除非我能夠加速並使用更少的內存,否則我無法在生產環境中使用Core Plot。
更新
我已經使用儀器描述了我的應用程序。除了所有的內存增益都在Core Plot對象中(或者從它們衍生而來)之外,這裏沒有太多要說的。時間分析器顯示,當我調整大小或移動繪圖時,大部分時間都花費在源自drawInContext:
方法的各種核心繪圖方法之一中。具有諷刺意味的是,該方法的第一行是self.useFastRendering = YES;
。
我會補充說情節幾乎是全屏。我有幾個其他控件來編輯繪圖字段,圖形類型等,但就是這樣。
說實話,我很希望我會錯過某些與表演有關的財產,但似乎並非如此。核心圖可能適用於靜態圖,但它在交互性和性能方面落後。
我花了一些時間看看Shinobi Controls並檢查他們的iOS演示。這正是我想要的圖表中交互性的一種交互性。但我很懷疑在我的應用中包含昂貴的,封閉的第三方代碼......
可能我會花時間手工創建我的圖表。
核心繪圖確實存在已知的性能問題,特別是在像iPad 3這樣的舊硬件上,但這聽起來非常極端。你有沒有分析應用程序,看看瓶頸在哪裏? –
是的,我介紹了這個應用程序(見上文)。這個問題幾乎完全在覈心劇情中。 –
我有同樣的問題亞倫..簡單的餅圖.. 3節..我正在觀看設備定位通知和內存穿過屋頂,在設備的幾次旋轉後崩潰的應用程序..看着Shinobi圖表也許..可能必須爲Shinobi自己分出..! – jheneghan