[英]How to detect low-spec mobile devices meaningfully?
現在我只知道Scientiamobile的WURFL和其他幾個。 這些庫或數據庫告訴你很多關於設備的事情,但沒有一個能清楚地表明你不應該使用CSS過渡或其他類型的動畫,因為即使設備支持它,它的完全不同的故事,那些功能這將是我在構建移動網絡應用程序時的主要關注點。
從技術上講,使用'WURF'數據庫可以將設備分類到這個方向嗎? 在圖形功率方面,我應該使用哪些設備功能將設備“分組”為“快速”?
最后,我只需要從1-5開始對設備進行評級,以便決定我可以使用哪些gfx操作。
好吧,任何想法都是受歡迎的。 事實證明,除了大量關於設備上限的數據之外,互聯網上的研究並沒有帶來任何有用的東西。
Update-1 :我剛收到ScientiaMobile的回復:“我們一直在討論某種形式的Javascript性能指標(可能基於現有基准測試之一)的想法,這可能會給出一些指示,但我們仍然還沒有。問題很復雜。“
Update-2 :我們在移動網絡應用中發現的最大瓶頸
對我們來說,它確實足以弄清楚我們需要禁用這些功能,因為它們可以讓任何應用程序癱瘓。 可能還有其他方法。
謝謝。
不幸的是,對於一般情況,我認為今天不可能。
如果您只對有限數量的設備感興趣,當然您可以測試每個設備,並通過用戶代理或基於JavaScript的檢測專門針對這些設備。
在厚應用程序的上下文中(例如,您用Apache Cordova “封裝”您的網站),可以提供對某些設備內部的JavaScript訪問(例如,總內存量,可用內存量) ,處理器速度),但除此之外,瀏覽器無法提供此信息。 正如您所暗示的那樣,訪問此類設備信息可能仍然不足(例如,看似“高規格”設備表現不佳)。
像Modernizr這樣的JavaScript功能檢測庫可以回答用戶當前瀏覽器是否支持 box-shadow和text-shadow等內容,但不提供有關支持的功能的呈現效果和速度的信息。
同樣,來自Browserscope和相關項目ringmark (有點像JavaScript模擬WURFL)的數據集通過眾包基准測試(例如,iPhone是否支持CSS3過渡?)以及每個瀏覽器版本來回答這些瀏覽器支持問題。一般情況下,這是必要的。 您需要針對相關的各種功能運行基准測試並評估實時性能。 然而,即使這有其局限性:
最后一點是我甚至沒有解決的問題是表現是相當主觀的 。 假設以某種方式可以評估/預測動畫的速度。 如果動畫將以15 fps運行,用戶是否應該看到該動畫? 5 fps怎么樣? 誰成為最終仲裁者,決定某個特定功能是否表現良好的門檻?
我今天提供的最佳建議是減少(或消除)您暫時對麻煩功能的依賴。 建議回到使用具有預組合陰影的圖像或在沒有CSS3的情況下制作背景漸變的“舊方法”可能看起來很糟糕,但在一天結束時,用戶體驗應該優先於使用閃亮的新技術。 許多移動設備根本就不存在,檢測方法也不存在。 如果您必須使用這些功能,可以考慮使用簡單但不顯眼的方式讓用戶選擇加入/退出,例如Gmail的“標准”與“基本HTML”視圖選項,或者考慮自動選擇加入已知良好的瀏覽器。
我不能添加比'user113215'更多的內容。 它也不是實際問題的答案,而是實際問題的答案:
我嘗試了幾個用戶,我們使用了一個簡單的歡迎彈出菜單,要求用戶關閉特殊效果,如陰影和動畫。 大多數測試用戶都很欣賞這種選擇,並清楚地理解了這種菜單的方法。 我們現在將此更高級整合,並與用於自動預選GFX效果的隱藏基准相結合。
謝謝。 G
簡而言之,沒有。 我們如何定義動畫和圖形的平滑度完全取決於FPS(每秒幀數)。 在這個問題中,我們討論的是“web-app”,它們在客戶端使用HTML和JS。 由於客戶端都沒有為程序提供通過HTML或JS獲取FPS的接口,因此無法判斷客戶端是否順暢。
但是,如果你真的想要一個關於web-app性能的基准測試。 您可以使用stats.js來監控stat的變化,並為您建議客戶激活或禁用任何類型的運行時效果。 這種方法甚至可以與大多數Javascript庫的FX一起使用,例如jquery。 但是,在應用更改之前,您需要一段時間才能獲得足夠的數據,並且統計信息可能與設備狀態不同,例如內存使用情況,並發應用程序等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.