使用成效對應比較結果

使用成效表中提供的資料,填入生態系統的成效地圖。填入成效地圖時,請按照建議的資料視覺化操作說明操作。將從 DUT 取得的資料與效能地圖對齊,以便進行比較。

在成效地圖中以視覺化方式呈現資料

效果 1 和效果 2 的效能地圖會繪製尖峰時間長度、尖峰振幅和清晰度評估值 (FOMS = PRR / 尖峰時間長度)。將資料對齊成效地圖時,請仔細追蹤 x 軸 (峰值時間長度)、y 軸 (峰值振幅) 和氣泡大小 (FOMS) 中的資料。成效地圖會顯示多個類別,包括價格等級 (低、中、高) 和執行器類型 (X-LRA、Z-LRA、ERM)。使用不同的顏色代表不同的類別。

效能地圖可協助評估目標裝置,使用內容相關的相對比較 (而非通過或失敗的判斷)。解讀效能地圖與 DUT 評估結果的比較結果時,請根據手機所屬的類別建立預期值,然後考慮下列問題:

  • 裝置的效能特徵位於地圖上的哪個位置?
  • 考量許多條件 (例如價格級別或執行器類型),您的裝置是否表現優於、與或低於競爭對手?
  • 結果是否符合您的預期?如果不是,哪些因素表現不佳?

舉例來說,如果搭載 ERM 的平價手機效能與高階 X-LRA 手機相當,那麼相較於其他搭載 ERM 的平價手機,這款平價手機的觸覺回饋品質就會更出色。

EFFECT_CLICK (效果 1) 和 createOneShot (效果 2) 中,x 軸和 y 軸分別代表峰值持續時間和峰值振幅。氣泡的大小代表銳利度的評價指標 (FOMS = PRR / 峰值持續時間),圖例中的顏色代碼則代表進一步區隔的類別 (價格層級或執行器類型)。舉例來說,在以價格等級 (例如低/中/高) 區分的效能地圖中,每個氣泡的顏色代表價格等級。只要將氣泡的顏色與手機的價格層級相符,即可將手機與同價位的競爭對手進行比較。

圖 1 中的綠色氣泡顯示 EFFECT_CLICK (效果 1) 的高品質觸覺回饋。當時間長度短、振幅高且氣泡大小大時,特效通常會顯得清晰且強烈。

圖 1 中的紅色氣泡顯示 EFFECT_CLICK低品質觸覺回饋 (效果 1)。當時間長、振幅低且氣泡大小小時,效果通常會發出嗡嗡聲、模糊且效果微弱。

虛線紅線表示最小振幅門檻。如果振幅小於 0.1 g,使用者就無法感知觸覺回饋 (失敗案例 F03-2)。

特效使用指南 1

圖 1. 效果 1 操作說明的成效地圖

效果使用指南 2

圖 2. Effect 2 操作說明的效能地圖

createOneShot (效果 2) 讀取資料的程序幾乎與效果 1 資料相同,但有一個例外狀況。由於效果 2 的目標時間長度為 20 毫秒,因此接近 20 毫秒的峰值時間長度代表有良好煞車效果的輸出內容。

createWaveform (效果 3) 的資料著重於振幅控制功能。第一個加速度 (Acceleration 1 = 50% 振幅 = 群組長條圖中的左側長條) 和第二個加速度 (Acceleration 2 = 100% 振幅 = 群組長條圖中的右側長條) 之間的目標比率為 2。

特效使用指南 3

圖 3. 效果 3 使用指南的成效地圖

效能地圖資料和插圖

這項資料適用於成效地圖:

  • 測試日期:2020 年 4 月 12 日
  • 測試的裝置型號數量:28
  • 測試的裝置製造商數量:10
  • 裝置發布期間:測試日期前最多 18 個月
  • 在成效地圖中觀察到的觸覺效果:

    • VibrationEffect.EFFECT_CLICK (效果 1)
    • VibrationEffect.createOneShot (效果 2)
    • VibrationEffect.createWaveform (效果 3)
  • 價格級別區隔

    • 高 (600 美元以上)
    • 中 (300 美元至 600 美元)
    • 低 (最高 300 美元)
  • 失敗情況

    • F01:未實作觸覺回饋常數。沒有可分析的訊號。
    • F02:信號振幅太弱,無法進行分析或人類感知。MATLAB 錯誤。
    • F03-1:信號振幅太弱,無法進行分析或人類感知。PRR 值小於零 (< 0)。
    • F03-2:信號振幅過弱,無法進行分析或讓人類感知。振幅值小於 0.1 (< 0.1)。
    • F04:缺少第一個加速階段。第一節沒有信號。
    • F05:兩個階段之間沒有加速。加速度 1 和加速度 2 的最大振幅幾乎相同。
  • 硬體評估所需的 Android 版本:Android 10.0 (API 級別 29) 以上版本。

  • 用於填入效能地圖的 Android 版本:Android 8.0 (API 級別 26) 以上版本。針對效果 1,使用 HapticFeedbackConstants.KEYBOARD_PRESS 而非 VibrationEffect.EFFECT_CLICK,因為資料擷取作業是在觸覺回饋實作檢查清單推出前執行。

EFFECT_CLICK (效果 1) 的成效圖表

關於 EFFECT_CLICK (效果 1) 的成效地圖
效果定義 (Java)
Vibrator vibrator = getSystemService(Vibrator.class);
vibrator.vibrate(VibrationEffect.createPredefined(EFFECT_CLICK));
效果定義 (Kotlin)
val vibrator = getSystemService(Vibrator::class.java)
vibrator.vibrate(VibrationEffect.createPredefined(EFFECT_CLICK))
讀取成效地圖所需的資料
  • 高峰時段 (圖表的 X 軸)
  • 峰值振幅 (圖表的 y 軸)
  • 使用 PRR 計算 FOMS
  • FOMS = PRR / 峰值振幅 (圖表中泡泡圖的泡泡大小)
  • MATLAB 的訊號圖表做為視覺參考
通過率
  • 85.7% 的裝置產生效果 1
  • 14.3% 的裝置因 F01 (未實作觸覺常數) 而失敗
用於填入 EFFECT_CLICK (效果 1) 效能地圖的資料
裝置 ID 價格等級 致動器類型 通過/未通過 峰值時間長度 (毫秒) 峰值振幅 (g) PRR FOMS
#101 X-LRA 通過 167.33 0.53 20.91 0.12
#102 X-LRA 通過 20.63 1.07 20.09 0.97
#103 X-LRA 通過 19.98 0.98 21.75 1.09
#104 X-LRA 通過 22.67 1.16 20.02 0.88
#105 X-LRA 通過 10.96 1.30 23.62 2.16
#106 Z-LRA 通過 20.13 1.11 24.15 1.20
#107 Z-LRA 通過 49.31 0.79 20.06 0.41
#108 X-LRA 通過 120.71 0.24 14.93 0.12
#109 Z-LRA 通過 51.46 0.43 8.69 0.17
#110 X-LRA 通過 8.44 1.01 27.68 3.28
#111 ERM 失敗 (F01) 不適用 不適用 不適用 不適用
#112 Z-LRA 通過 25.85 0.51 21.94 0.85
#113 Z-LRA 通過 58.35 0.29 25.10 0.43
#114 Z-LRA 通過 34.46 0.28 20.91 0.61
#115 Z-LRA 通過 23.67 0.31 26.46 1.12
#116 X-LRA 通過 8.40 0.44 29.82 3.55
#117 Z-LRA 通過 31.35 1.13 23.65 0.75
#118 Z-LRA 通過 26.42 0.42 25.05 0.95
#119 Z-LRA 通過 30.65 0.48 19.69 0.64
#120 Z-LRA 通過 170.65 0.97 20.16 0.12
#121 Z-LRA 通過 51.69 0.55 17.14 0.33
#122 X-LRA 失敗 (F01) 不適用 不適用 不適用 不適用
#123 ERM 失敗 (F01) 不適用 不適用 不適用 不適用
#124 ERM 通過 68.33 0.93 7.40 0.11
#125 ERM 失敗 (F01) 不適用 不適用 不適用 不適用
#126 Z-LRA 通過 41.96 0.68 8.77 0.21
#127 Z-LRA 通過 9.63 0.43 4.55 0.47
#128 Z-LRA 通過 22.77 0.55 26.10 1.15

效果 1 成效圖 1

圖 4. 效果 1 的成效地圖 (按價格級別劃分)

效果 1 成效圖 2

圖 5. 效果 1 的效能地圖 (依致動器類型劃分)

createOneShot 的效能地圖 (效果 2)

關於 createOneShot 的成效地圖 (效果 2)
效果定義 (Java)
private static final long oneShotTiming = 20;
private static final int oneShotAmplitude = 255;

Vibrator vibrator = getSystemService(Vibrator.class); vibrator.vibrate(VibrationEffect.createOneShot(oneShotTiming, oneShotAmplitude));
效果定義 (Kotlin)
private val oneShotTiming: Long = 20
private val oneShotAmplitude = 255

val vibrator = getSystemService(Vibrator::class.java) vibrator.vibrate(VibrationEffect.createOneShot(oneShotTiming, oneShotAmplitude))
讀取成效地圖所需的資料
  • 高峰時段 (圖表的 X 軸)
  • 峰值振幅 (圖表的 y 軸)
  • 使用 PRR 計算 FOMS
  • FOMS = PRR / 峰值振幅 (圖表中泡泡圖的泡泡大小)
  • MATLAB 的訊號圖表做為視覺參考
通過率
  • 89.3% 的裝置產生效果 2
  • 10.7% 的裝置因 F02 或 F03-2 而失敗 (訊號振幅太弱,無法進行分析/人類無法察覺)
為 createOneShot 填入成效表格的資料 (效果 2)
裝置 ID 價格等級 致動器類型 通過/未通過 峰值時間長度 (毫秒) 峰值振幅 (g) PRR FOMS
#201 X-LRA 通過 168.81 0.98 20.62 0.12
#202 X-LRA 通過 28.35 2.29 28.95 1.02
#203 X-LRA 通過 77.25 0.78 21.01 0.27
#204 X-LRA 通過 70.48 1.42 21.85 0.31
#205 X-LRA 通過 67.92 1.19 22.61 0.33
#206 Z-LRA 通過 33.44 1.34 25.19 0.75
#207 Z-LRA 通過 73.90 1.36 23.13 0.31
#208 X-LRA 通過 102.02 0.71 20.12 0.20
#209 Z-LRA 通過 63.71 0.14 3.70 0.06
#210 X-LRA 通過 8.46 1.01 28.77 3.40
#211 ERM 失敗 (F02、F03-1) 不適用 不適用 不適用 不適用
#212 Z-LRA 通過 43.71 1.03 23.14 0.53
#213 Z-LRA 通過 27.42 0.23 22.85 0.83
#214 Z-LRA 通過 45.29 0.72 19.99 0.44
#215 Z-LRA 通過 23.71 0.41 27.30 1.15
#216 X-LRA 通過 8.31 0.43 27.58 3.32
#217 Z-LRA 通過 42.19 1.03 26.97 0.64
#218 Z-LRA 通過 26.38 0.42 24.74 0.94
#219 Z-LRA 通過 46.77 1.01 24.64 0.53
#220 Z-LRA 通過 166.33 0.97 20.61 0.12
#221 Z-LRA 通過 38.60 0.42 18.21 0.47
#222 X-LRA 通過 76.00 0.61 23.17 0.30
#223 ERM 失敗 (F03-2) 55.27 0.08 1.95 0.04
#224 ERM 通過 39.29 0.30 7.04 0.18
#225 ERM 失敗 (F03) 不適用 不適用 不適用 不適用
#226 Z-LRA 通過 34.31 0.53 30.23 0.88
#227 Z-LRA 通過 5.42 0.37 12.23 2.26
#228 Z-LRA 通過 22.65 0.90 24.23 1.07

效果 2 效能對照圖 1

圖 6. 效果 2 的成效地圖 (按價格等級劃分)

效果 2 效能對照圖 1

圖 7. 效果 2 的成效地圖 (按致動器類型劃分)

createWaveform 的效能地圖 (效果 3)

關於 createWaveform 的成效地圖 (效果 3)
效果定義 (Java)
private static final long[] waveformTimings = {500, 500};
private static final int[] waveformAmplitudes = {128, 255};

Vibrator vibrator = getSystemService(Vibrator.class); vibrator.vibrate(VibrationEffect.createWaveform(waveformTimings, waveformAmplitudes, -1));
效果定義 (Kotlin)
private val waveformTimings = longArrayOf(500, 500)
private val waveformAmplitudes = intArrayOf(128, 255)

val vibrator = getSystemService(Vibrator::class.java) vibrator.vibrate(VibrationEffect.createWaveform(waveformTimings, waveformAmplitudes, -1))
讀取成效地圖所需的資料
  • 加速度 1 (圖表中左側已分組長條的 y 軸)
  • 加速度 2 (圖表中右側分組長條的 y 軸)
  • 加速度 1 (50% 振幅) 和加速度 2 (100% 振幅) 之間的加速度比率:目標比率為 2。
  • MATLAB 的訊號圖表做為視覺參考
通過率
  • 32.1% 的裝置產生預期的效果 3。
  • 67.9% 的裝置失敗,原因是 F04 (10.7%,加速度 1 沒有訊號) 或 F05 (57.1%,加速度 1 和加速度 2 沒有差異)
為 createWaveform 填入效能表格的資料 (效果 3)
裝置 ID 價格等級 致動器類型 通過/未通過 加速度 1 (50%) 加速度 2 (100%) 加速比率 Delta
#301 X-LRA 通過 1.19 2.02 1.70 0.83
#302 X-LRA 通過 0.87 1.85 2.12 0.98
#303 X-LRA 通過 0.62 1.47 2.37 0.85
#304 X-LRA 通過 0.82 1.89 2.30 1.07
#305 X-LRA 通過 0.69 1.51 2.21 0.83
#306 Z-LRA 通過 1.02 1.50 1.46 0.47
#307 X-LRA 通過 0.59 1.37 2.32 0.78
#308 Z-LRA 通過 0.58 0.72 1.25 0.14
#309 Z-LRA 通過 0.39 1.43 3.66 1.04
#310 X-LRA 失敗 (F04) 0.00 1.36 1.36 1.36
#311 X-LRA 失敗 (F04) 0.00 0.56 0.56 0.56
#312 Z-LRA 失敗 (F04) 0.00 0.71 0.71 0.71
#313 Z-LRA 失敗 (F05) 0.60 0.61 1.02 0.01
#314 Z-LRA 失敗 (F05) 0.64 0.65 1.01 0.01
#315 ERM 失敗 (F05) 0.96 0.95 0.99 -0.01
#316 Z-LRA 失敗 (F05) 0.40 0.40 1.00 0.00
#317 Z-LRA 失敗 (F05) 0.60 0.58 0.98 -0.01
#318 Z-LRA 失敗 (F05) 0.30 0.30 1.00 0.00
#319 Z-LRA 失敗 (F05) 0.57 0.56 0.99 0.00
#320 Z-LRA 失敗 (F05) 0.67 0.67 1.00 0.00
#321 Z-LRA 失敗 (F05) 0.67 0.66 0.99 -0.01
#322 X-LRA 失敗 (F05) 0.95 1.02 1.07 0.06
#323 ERM 失敗 (F05) 0.86 0.88 1.01 0.01
#324 ERM 失敗 (F05) 1.46 1.45 0.99 -0.01
#325 ERM 失敗 (F05) 0.95 0.96 1.01 0.01
#326 Z-LRA 失敗 (F05) 0.90 0.92 1.02 0.02
#327 Z-LRA 失敗 (F05) 0.47 0.47 1.00 0.00
#328 Z-LRA 失敗 (F05) 0.51 0.56 1.09 0.04

特效 1 成效對照圖 3

圖 8. 效果 3 的成效地圖 (依通過/失敗)