2013-03-06 61 views
2

我有一個JavaScript應用程序,工作正常,但肯定需要一些內存/ CPU性能(它基於谷歌地圖的頂部)。JavaScript:如何確定運行時(又名瀏覽器)的性能?

所以基本上它在臺式機/筆記本電腦上運行良好,iPad工作正常。但是現在所有這些不同的設備,更小的設備肯定會超載。

所以基本上我想確定可用的運行時並決定是啓動我的JavaScript應用程序還是顯示消息。

  1. OK,我可以檢查的瀏覽器,但是這是一個永無止境的故事
  2. 我可以檢查的操作系統信息,但是這同樣是非常繁瑣。還有一些操作系統運行在高性能設備以及低端硬件上。
  3. 我可以檢查在屏幕尺寸和排除手機,但隨後變得難以

那麼,有沒有一種方法來確定客戶端的性能?爲了說清楚,我不在乎它是否是平板電腦,但如果它是一款CPU性能/內存很低的低性能平板電腦(所以Detect phone/tablet/web client using javascript不起作用)。

+3

也許運行一個簡單的測試/函數,它代表您的站點的基本功能級別;監視它的啓動時間和完成時間。確定持續時間,並根據該持續時間決定是否正常或快速運行緩慢? – 2013-03-06 23:53:22

+0

我測試了以下內容:測量應用程序啓動時的時間,並且在某些給定時間後某個點未達到,我停下來。不幸的是,由於異步調用和開始時的一些掛鉤的性質(虛警),不太可靠。此外,這個概念缺少以下內容,它會檢查「後期」加載,而不是預先加載。但也許我必須改進檢查。 – 2013-03-07 00:02:21

+1

這已被問至少幾次之前(如[這裏](http://stackoverflow.com/questions/4734518/whats-the-best-way-to-determine-at-runtime-if-a-瀏覽器是太緩慢到優美))。由於現有答案是舊的(事情發生變化),所以我沒有投票決定是否重複,因爲它不是很滿意;此外,您還遇到了一些新的因素(谷歌地圖,在iPad上測試)。 – 2013-03-07 01:06:26

回答

1

在JavaScript中您可以檢查功能列表並根據該結果判斷設備是否爲低內存。

例如:

  1. 檢查覈心與window.navigator.hardwareConcurrency 數(爲了更好的覆蓋面增加Core Estimator polyfill

  2. 檢查WebGL的支持(我喜歡user2070775建議):Proper way to detect WebGL support?

  3. 檢查它的桌面或手機。最有可能的桌面將不會有任何內存問題。

  4. 檢查屏幕分辨率 - 最可能的小分辨率將在低內存設備上。

相關問題