我正在建立一個移動HTML5服務,其中我在地圖圖像上顯示多邊形標記。我通過繪製然後應用CSS3動畫來爲標記生成動畫。檢測能夠以合適的速度執行圖形的「強大」瀏覽器
這是部分成功。像Android Galaxy S這樣的設備可以流暢地顯示動畫,但第二代iPod觸摸屏卻沒有。兩者都具有幾乎相似功能集的WebKit瀏覽器。另一個具有500 MHz GPU 64 MB內存,另一個具有1 Ghz CPU和700 MB內存。
問題是,我如何將設備分成低端和高端類別。這更像是有內存和CPU的事情,這兩個事實從來沒有暴露給JavaScript(這很糟糕)。
您可以輕鬆獲得某種Javascript的渲染速度測量?
所有基於用戶代理告知設備CPU,內存和加速狀態的預組合表?
目前我已經試圖確定標記的大小始終回落到非動畫矩形在移動設備上添加簡單heurestics。然而,這意味着大量的移動設備將錯過Bling Bling的,他們可以很容易地做到
var pixelAreaThreshold = 200*200;
var area = (this.bounds[1][0] - this.bounds[0][0]) * (this.bounds[1][1] - this.bounds[0][1]);
if(area > pixelAreaThreshold && isMobile()) {
// <canvas> is very big and may slow down mobile devices
// (iPod)
drawUsingCanvas = false;
}
var marker;
if(drawUsingCanvas) {
// Go for animated polygon if the polygon is small,
// or if we are using a desktop browser
marker = this.drawPolyCanvas(canvas, context)
marker.addClass("room-marker-animated");
} else {
marker = this.drawRectangle();
}
見http://stackoverflow.com/questions/6499776/is-it-可能對基準測試的用戶系統用JavaScript在瀏覽器中詳細說明此方法 – Ian
問題是Javascript不公開功能「CPU」:( –
功能測試幾乎總是**更好**。 – lowtechsun