簡體   English   中英

如何有意義地檢測低規格的移動設備?

[英]How to detect low-spec mobile devices meaningfully?

現在我只知道Scientiamobile的WURFL和其他幾個。 這些庫或數據庫告訴你很多關於設備的事情,但沒有一個能清楚地表明你不應該使用CSS過渡或其他類型的動畫,因為即使設備支持它,它的完全不同的故事,那些功能這將是我在構建移動網絡應用程序時的主要關注點。

從技術上講,使用'WURF'數據庫可以將設備分類到這個方向嗎? 在圖形功率方面,我應該使用哪些設備功能將設備“分組”為“快速”?

最后,我只需要從1-5開始對設備進行評級,以便決定我可以使用哪些gfx操作。

好吧,任何想法都是受歡迎的。 事實證明,除了大量關於設備上限的數據之外,互聯網上的研究並沒有帶來任何有用的東西。

Update-1 :我剛收到ScientiaMobile的回復:“我們一直在討論某種形式的Javascript性能指標(可能基於現有基准測試之一)的想法,這可能會給出一些指示,但我們仍然還沒有。問題很復雜。“

Update-2 :我們在移動網絡應用中發現的最大瓶頸

  1. 動畫力量
  2. PNG透明度
  3. 文字和框陰影
  4. 圖像大小調整

對我們來說,它確實足以弄清楚我們需要禁用這些功能,因為它們可以讓任何應用程序癱瘓。 可能還有其他方法。

謝謝。

不幸的是,對於一般情況,我認為今天不可能。

如果您只對有限數量的設備感興趣,當然您可以測試每個設備,並通過用戶代理或基於JavaScript的檢測專門針對這些設備。

在厚應用程序的上下文中(例如,您用Apache Cordova “封裝”您的網站),可以提供對某些設備內部的JavaScript訪問(例如,總內存量,可用內存量) ,處理器速度),但除此之外,瀏覽器無法提供此信息。 正如您所暗示的那樣,訪問此類設備信息可能仍然不足(例如,看似“高規格”設備表現不佳)。

Modernizr這樣的JavaScript功能檢測庫可以回答用戶當前瀏覽器是否支持 box-shadow和text-shadow等內容,但不提供有關支持的功能的呈現效果速度的信息。

同樣,來自Browserscope和相關項目ringmark (有點像JavaScript模擬WURFL)的數據集通過眾包基准測試(例如,iPhone是否支持CSS3過渡?)以及每個瀏覽器版本來回答這些瀏覽器支持問題。一般情況下,這是必要的。 您需要針對相關的各種功能運行基准測試並評估實時性能。 然而,即使這有其局限性:

  • 由於移動用戶四處移動,接聽電話,更改硬件設置,啟動后台應用程序等,速度(可用內存,處理器,電池,網絡連接等)的必要條件不斷變化,因此基准測試的結果是可能不可靠/不可重復。
  • 基准測試需要時間並且會不變地增加(希望是不可察覺的)延遲。
  • 根據功能,基准測試可能不實用。
  • 在基准測試中,特征在組合中可以表現不同(例如,使陰影具有動畫透明PNG)或者在比例上(例如,頁面上的每個圖像都是動畫)。
  • 如果您依賴基准測試數據集而不是執行自己的實時基准測試,則數據集的樣本大小,范圍和年齡會極大地限制其有用性。

最后一點是我甚至沒有解決的問題是表現是相當主觀的 假設以某種方式可以評估/預測動畫的速度。 如果動畫將以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.

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