簡體   English   中英

是否可以在瀏覽器中使用javascript對用戶的系統進行基准測試

[英]Is it possible to benchmark a user's system with javascript in the browser

隨着Html5的開始,我們看到了更多關於視頻或畫布元素的實驗。

當用帆布進行實驗時,例如制作帶有顆粒的煙花,1000顆粒可以在現代機器上很好地工作,但在3年的機器上可能會非常慢。

無論如何,要對用戶系統進行基准測試以動態更改畫布實驗(或任何內容),以便將其優化為所述特定用戶。

編輯:這可能是最好的解決方案: http//benchmarkjs.com/

測量渲染幾幀所需的時間,並相應地調整細節級別。 如果您不介意動態更改細節,可以使用連續測量。

什么你不想做的就是讓你的用戶通過坐五分鍾的基准,然后才能與你的事做任何事情。

FutureMark的Peacekeeper Benchmark已經做到了這一點。 我認為它也會測試其他一些東西,但它也會進行大量的畫布基准測試。

我想你可以設計某種基准測試,測量用戶在畫布上的幀速率,然后根據它調整細節。 這可以通過設置一個短間隔並在畫布上渲染事物,然后在每次迭代時使用Date對象來計算所花費的時間並基於此計算平均幀速率來實現。

編輯:哎呀......讀得太快了。 我的回答並不適用。


取決於您想要的准確度。

如果你不想要超精確的東西,可能需要做一些工作。

我看待它的方式; 您最大的問題之一是考慮不同瀏覽器中的各種JS引擎,並根據特定瀏覽器和引擎的基線計量每個人。

例如,嘗試在IE 5.5上運行任何SunSpider測試,然后在同一台計算機上的Google Chrome上運行...驚人的差異。 你必須考慮到這一點。 http://www.webkit.org/perf/sunspider/sunspider.html

理想情況下,您也希望關聯不同瀏覽器之間的分數(即,此測試在IE 6中的機器A上以x ms運行,在IE 8中在同一台機器上以y ms運行,因此我可以將IE 6分數與IE 8通過使用不同的平均因子得分。 可能很難獲得足夠大的數據樣本量來完成有效的工作。

應該很簡單。 只需保留一個幀計數器和經過的時間,無論什么功能更新您的畫布,並將前者除以后者以獲得FPS。 您可以縮小粒子數/樣本數等。 動態地基於FPS。 所以基本上 - 是的,但它完全是定制的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM