使用成效地圖比較結果

使用成效表格中提供的資料,填入生態系統的成效地圖。填入成效地圖時,請按照建議的資料視覺化操作指南操作。將從 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 中的綠色氣泡顯示高品質觸覺回饋 (效果 1)。EFFECT_CLICK如果時間短、振幅高且泡泡大,效果通常會清晰有力。

圖 1 中的紅色氣泡顯示 EFFECT_CLICK觸覺回饋品質不佳 (效果 1)。如果時間長度較長、振幅較小且泡泡大小較小,通常會產生嗡嗡聲、糊狀感和微弱的感覺。

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

效果使用指南 1

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

特效使用指南 2

圖 2. Effect 2 學習指南的成效地圖

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

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

效果使用指南 3

圖 3. Effect 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) 以上版本。在導入觸覺回饋實作檢查清單之前,資料擷取作業是使用 HapticFeedbackConstants.KEYBOARD_PRESS 執行的,因此效果 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 的成效地圖 (Effect 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 成效表格的資料 (Effect 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 (Effect 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 (Effect 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 通過 美元 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. Effect 3 的成效地圖 (依通過/失敗)