隨着Html5開始逐漸成熟,我們看到了更多有關視頻或畫布元素等實驗的實驗。是否有可能在瀏覽器中使用JavaScript對用戶系統進行基準測試
當用帆布進行實驗時,例如用顆粒製作煙花時,1000顆顆粒可能在現代機器上運行良好,但在3年機器上可能會非常緩慢。
是否有基準用戶系統動態更改畫布實驗(或任何其他內容)以優化爲特定用戶。
編輯:這有可能會是最好的解決辦法:http://benchmarkjs.com/
隨着Html5開始逐漸成熟,我們看到了更多有關視頻或畫布元素等實驗的實驗。是否有可能在瀏覽器中使用JavaScript對用戶系統進行基準測試
當用帆布進行實驗時,例如用顆粒製作煙花時,1000顆顆粒可能在現代機器上運行良好,但在3年機器上可能會非常緩慢。
是否有基準用戶系統動態更改畫布實驗(或任何其他內容)以優化爲特定用戶。
編輯:這有可能會是最好的解決辦法:http://benchmarkjs.com/
Futuremark的Peacekeeper Benchmark幾乎已經做了這個。我認爲它也測試了一些其他的東西,但它也做了大量的帆布基準測試。
我想你可以設計一些基準測量用戶在畫布上的幀率,然後根據它來調整細節。這可以通過設置一個較短的時間間隔並在畫布上渲染東西來實現,然後在每次迭代中使用Date
對象計算需要多長時間並計算平均幀速率。
編輯:哎呀......太快讀了這個問題。我的答案並不適用。
取決於你想要的準確度水平。
如果你不想要超級準確的東西,可能需要一些工作。
我看到它的方式;你最大的問題之一就是將不同瀏覽器中的各種JS引擎考慮在內,並根據特定的瀏覽器和引擎的基準度量每個人。
例如,嘗試在IE 5.5上運行任何SunSpider測試,然後在同一臺機器上的谷歌瀏覽器上運行...驚人的區別。你必須考慮到這一點。 http://www.webkit.org/perf/sunspider/sunspider.html
理想情況下,你想要關聯不同瀏覽器之間的分數(也就是說,這個測試在IE 6的機器A上運行x毫秒,在IE 8上運行在同一臺機器上的y毫秒,所以我可以通過使用不同的平均因子將IE 6分數與IE 8分數相關)。可能很難獲得足夠大的數據樣本量來完成有效的工作。
應該很簡單。只要保留一個幀計數器和經過的時間在任何函數中更新您的畫布並將後者分割爲後者以獲得FPS。您可以縮小粒子/樣本數量等。動態地基於FPS。所以基本上 - 是的,但它是完全自定義的。
你讓我想到這個:http://clients.futuremark.com/peacekeeper/ – thirtydot