2013-01-09 95 views
0

我正在使用超過5000+數據的Ext JS折線圖。它使用了太多的內存,特別是在IE上。我怎樣才能解決這個泄漏或爲什麼會導致?ExtJS 3. *圖表使用太多內存

+0

是否有必要一次顯示大量數據?你能聚合服務器上的任何數據點以減少必須發生的渲染量嗎? – existdissolve

+0

我覺得有必要顯示所有的數據。我怎樣才能在服務器端聚合? – vtokmak

+0

你的數據來自服務器,對嗎?因此,在將結果返回給ExtJS的過程中,首先需要一個方法來處理數據並對其進行聚合,然後將聚合數據返回到圖表。 – existdissolve

回答

3

顯示5k +數據點並在客戶端處理它們都是不好的設計決策,應該避免。沒有人能夠在一張圖表中理解這麼多的數據。那應該是最大10-12點或它變成毫無意義的白噪聲。 JavaScript中的客戶端處理是昂貴的,特別是在較老的IE中;不僅如此,還會浪費時間和資源來傳輸不會被使用的數據。

最好的解決方案是修改您的服務器端方法來過濾或聚合數據並提供UI訪問這些功能。

0

其實我有同樣的問題,我同意它不值得加載那麼多的數據,但有些情況下我需要在我的ExtJs窗口中顯示鑽孔數據。

下面顯示其畫面:

Logviewer for Drilling Data

這點可能會高達15K的數據。其實用戶希望看到這裏的變化,而不是實際的數據。但他可能需要將鼠標放在/放大。

我使用HTML5插件實現了這一點,並將其添加爲iframe。

在ExtJs中實現的任何詞語或如何去做到這一點。

+1

當你開始談論這麼多的數據時,無論圖形庫如何,你都需要開始定義一些限制。例如只有在任何給定時間屏幕上只有很多數據,只有現代瀏覽器,儘可能多地在服務器端進行計算,允許下鑽以便隨後調用服務器以獲取更多信息,而不是預加載數據。 –

+1

雅同意菲爾, 但是,當用戶想要去圖表,他們想要太多的數據,因爲他們擔心發生的變化,當...不是確切的價值。 說例如年度報告,在這裏我不能告訴你必須每月收到12份報告......! 他不能比較和對比... – vajrakumar