2010-02-08 59 views
2

我之前編寫過純JavaScript前端,並在處理大量數據時開始注意到性能降低。我嘗試過使用xml和json,但在這兩種情況下,瀏覽器都處理很多事情。多少外部數據太多? (XML或JSON)

這構成了我的問題,這是多少太多?

+1

這不是依賴於您使用的瀏覽器和操作系統嗎? – rahul 2010-02-08 12:22:07

回答

3

你不能知道,不完全,並不總是。你可以做出一個很好的猜測。

這取決於瀏覽器,操作系統,內存,CPU,還有什麼是運行在那一刻,他們的連接速度有多快,他們要轉移還有什麼,等

弄清楚你期待的幾種情況你的普通用戶,並測試這些。添加各種最佳,最差和有趣的(例如手機,平板電腦)案例。

當然,您可以根據您的具體情況應用經驗和外推,答案將在未來發生變化。


但是不要陷入「它適用於我!」的陷阱。

我通常會看到屏幕分辨率:隨着屏幕分辨率的增加,更多的是同時顯示多個窗口。在1995年我很少有不是有最大限度的東西;現在十五年後,情況正好相反。

然而,有時人們會設計一些軟件或網站,使用較低的對比度[1],最大化,並連接到服務器上的本地主機—,這就是他們做的唯一的評價。

[1]因爲他們知道文字說什麼,不需要自己讀,所以較低的對比度看起來美學上更好。

2

在我看來,如果你需要停下來思考這個問題,那麼數據太多了。一般來說,您應該設計您的應用程序,以便低端上網本和/或較慢互聯網連接的用戶仍能夠運行它們。同時請記住,您的應用程序並不是您的用戶同時訪問的唯一頁面。

我的建議是使用Firefox和Firebug做一些測量。查看請求在適度配置下完成多長時間。如果瀏覽器顯示數據需要很長時間,那麼最好不要重新設計。

+0

是的,關於上網本的好點。另外,還有其他人注意到現在找到一個擁有超過768個垂直像素的筆記本是多麼的困難?我們實際上失去了房地產...... – Pointy 2010-02-08 12:38:12

2

一個好的指導原則應該是,與其擔心瀏覽器是否能夠處理的數據要發送它的體積,擔心你用戶是否可以處理它。這一切都取決於當然的呈現方式(即,爲可視化工具綁定的大量數據將在一個畫布中呈現一個複雜的圖形,這與爲一張巨大的表格綁定大量原始數據不同),但根據我的經驗,用戶的大腦在瀏覽器/網絡/客戶端計算機之前達到數據超載。

0

這實際上取決於您的外部數據將在您的Javascript中採取的形式。如果您想一次加載所有數據並將其作爲具有許多屬性的大對象(關聯數組)存儲在內存中,那麼您會發現大多數當前桌面只能處理大約100k條目(使用小鍵值對)在性能真正降低之前。

如果可能的話,你應該看看是否有辦法只加載用戶在給定請求/交互中需要的數據。您可以使用AJAX來請求您認爲用戶可能需要的所需數據和預取數據。