パフォーマンス テーブルに記載されているデータを使用して、エコシステムのパフォーマンス マップを作成します。パフォーマンス マップにデータを入力する際は、推奨されるデータ可視化の入門ガイドに従ってください。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 のハウツー ガイドのパフォーマンス マップ
図 2. エフェクト 2 入門ガイドのパフォーマンス マップ
createOneShot
(効果 2)からのデータの読み取りは、効果 1 データとほぼ同じプロセスですが、1 つの例外があります。効果 2 の目標持続時間は 20 ms であるため、20 ms に近いピーク持続時間は、制動が良好の出力を表します。
createWaveform
(エフェクト 3)からのデータは、振幅制御機能に焦点を当てています。最初の加速度(加速度 1 = グループ棒グラフの 50% 振幅 = 左の棒)と 2 番目の加速度(グループ化された棒グラフの加速度 2 = 振幅 100% = 右の棒)の目標比は 2 です。
図 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 未満(< 0)です。
- F03-2: 信号振幅が弱すぎて、分析できないか、人間が認識できない。振幅値が 0.1 未満(< 0.1)です。
- F04: 最初の加速フェーズがありません。前半はシグナルがありません。
- F05: 2 つのフェーズ間で加速は増加していません。加速度 1 と加速度 2 の最大振幅はほぼ同じです。
ハードウェア評価に必要な Android バージョン: Android 10.0(API レベル 29)以降。
パフォーマンス マップの入力に使用される Android バージョン: Android 8.0(API レベル 26)以降。効果 1 では、ハプティクス実装チェックリストの導入前にデータ取得が行われたため、
VibrationEffect.EFFECT_CLICK
ではなくHapticFeedbackConstants.KEYBOARD_PRESS
が使用されました。
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)) |
||||||
パフォーマンス マップの読み取りに必要なデータ |
|
||||||
合格率 |
|
EFFECT_CLICK(効果 1)のパフォーマンス マップを入力するデータ | |||||||
---|---|---|---|---|---|---|---|
デバイス ID | 料金ティア | アクチュエータのタイプ | 合格 / 不合格 | ピーク時間(ミリ秒) | ピーク振幅(g) | PRR | FOMS |
#101 | 高 | XLRA | 合格 | 167.33 | 0.53 | 20.91 | 0.12 |
#102 | 高 | XLRA | 合格 | 2,063 | 1.07 | 20.09 | 0.97 |
#103 | 高 | XLRA | 合格 | 19.98 | 0.98 | 21.75 | 1.09 |
#104 | 高 | XLRA | 合格 | 22.67 | 1.16 | 20.02 | 0.88 |
#105 | 高 | XLRA | 合格 | 10.96 | 1.30 | 2,362 | 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 | 高 | XLRA | 合格 | 120.71 | 0.24 | 14:93 | 0.12 |
#109 | 高 | Z ~ LRA | 合格 | 51.46 | 0.43 | 8.69 | 0.17 |
#110 | 高 | XLRA | 合格 | 844 | 1.01 | 27.68 | 328 |
#111 | 高 | ERM | 不合格(F01) | なし | × | × | なし |
#112 | 高 | Z ~ LRA | 合格 | 2,585 | 0.51 | 2,194 | 0.85 |
#113 | 高 | Z ~ LRA | 合格 | 5,835 | 0.29 | 25.10 | 0.43 |
#114 | 高 | Z ~ LRA | 合格 | 3,446 | 0.28 | 2,091 | 0.61 |
#115 | 高 | Z ~ LRA | 合格 | 2,367 | 0.31 | 26.46 | 1.12 |
#116 | 高 | XLRA | 合格 | 8.40 | 0.44 | 2,982 | 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 | 740 | 0.11 |
#125 | 低 | ERM | 不合格(F01) | なし | × | × | なし |
#126 | 低 | Z ~ LRA | 合格 | 41.96 | 0.68 | 8.77 | 0.21 |
#127 | 低 | Z ~ LRA | 合格 | 9.63 | 0.43 | 455 | 0.47 |
#128 | 低 | Z ~ LRA | 合格 | 2,277 | 0.55 | 26:10 | 1.15 |
図 4. 効果 1 のパフォーマンス マップ(価格帯別)
図 5. エフェクト 1 のパフォーマンス マップ(アクチュエータの種類別)
createOneShot のパフォーマンス マップ(エフェクト 2)
createOneShot(エフェクト 2)のパフォーマンス マップについて | |||||||
---|---|---|---|---|---|---|---|
エフェクトの定義(Java) | private static final long oneShotTiming = 20; private static final int oneShotAmplitude = 255; |
||||||
エフェクトの定義(Kotlin) | private val oneShotTiming: Long = 20 private val oneShotAmplitude = 255 |
||||||
パフォーマンス マップの読み取りに必要なデータ |
|
||||||
合格率 |
|
createOneShot のパフォーマンス テーブルに入力するデータ(効果 2) | |||||||
---|---|---|---|---|---|---|---|
デバイス ID | 料金ティア | アクチュエータのタイプ | 合格 / 不合格 | ピーク時間(ミリ秒) | ピーク振幅(g) | PRR | FOMS |
#201 | 高 | XLRA | 合格 | 168.81 | 0.98 | 20.62 | 0.12 |
#202 | 高 | XLRA | 合格 | 28.35 | 2.29 | 28.95 | 1.02 |
#203 | 高 | XLRA | 合格 | 7,725 | 0.78 | 21.01 | 0.27 |
#204 | 高 | XLRA | 合格 | 70.48 | 1.42 | 21.85 | 0.31 |
#205 | 高 | XLRA | 合格 | 67.92 | 1.19 | 2,261 | 0.33 |
#206 | 高 | Z ~ LRA | 合格 | 3,344 | 1.34 | 25:19 | 0.75 |
#207 | 高 | Z ~ LRA | 合格 | 7,390 | 1.36 | 23.13 | 0.31 |
#208 | 高 | XLRA | 合格 | 102.02 | 0.71 | 20.12 | 0.20 |
#209 | 高 | Z ~ LRA | 合格 | 63.71 | 0.14 | 3.70 | 0.06 |
#210 | 高 | XLRA | 合格 | 8.46 | 1.01 | 2,877 | 3.40 |
#211 | 高 | ERM | 不合格(F02、F03-1) | なし | × | × | なし |
#212 | 高 | Z ~ LRA | 合格 | 4,371 | 1.03 | 23:14 | 0.53 |
#213 | 高 | Z ~ LRA | 合格 | 27.42 | 0.23 | 22.85 | 0.83 |
#214 | 高 | Z ~ LRA | 合格 | 4,529 | 0.72 | 19.99 | 0.44 |
#215 | 高 | Z ~ LRA | 合格 | 23.71 | 0.41 | 27:30 | 1.15 |
#216 | 高 | XLRA | 合格 | 8:31 | 0.43 | 27.58 | 3.32 |
#217 | 高 | Z ~ LRA | 合格 | 42.19 | 1.03 | 2,697 | 0.64 |
#218 | 中 | Z-LRA | 合格 | 2,638 | 0.42 | 24.74 | 0.94 |
#219 | 中 | Z-LRA | 合格 | 4,677 | 1.01 | 24.64 | 0.53 |
#220 | 中 | Z-LRA | 合格 | 166.33 | 0.97 | 2,061 | 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) | 5,527 | 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 | 合格 | 2,265 | 0.90 | 24.23 | 1.07 |
図 6. 効果 2 のパフォーマンス マップ(料金ティア)
図 7. 効果 2 のパフォーマンス マップ(アクチュエータ タイプ別)
createWaveform のパフォーマンス マップ(エフェクト 3)
createWaveform のパフォーマンス マップについて(エフェクト 3) | |||||||
---|---|---|---|---|---|---|---|
エフェクトの定義(Java) | private static final long[] waveformTimings = {500, 500}; private static final int[] waveformAmplitudes = {128, 255}; |
||||||
エフェクトの定義(Kotlin) | private val waveformTimings = longArrayOf(500, 500) private val waveformAmplitudes = intArrayOf(128, 255) |
||||||
パフォーマンス マップの読み取りに必要なデータ |
|
||||||
合格率 |
|
createWaveform のパフォーマンス テーブルに入力するデータ(エフェクト 3) | |||||||
---|---|---|---|---|---|---|---|
デバイス ID | 料金ティア | アクチュエータのタイプ | 合格/不合格 | 加速 1(50%) | 加速 2(100%) | 加速度率 | デルタ |
#301 | 高 | XLRA | 合格 | 1.19 | 2.02 | 1.70 | 0.83 |
#302 | 高 | XLRA | 合格 | 0.87 | 1.85 | 2.12 | 0.98 |
#303 | 高 | XLRA | 合格 | 0.62 | 1.47 | 2.37 | 0.85 |
#304 | 高 | XLRA | 合格 | 0.82 | 1.89 | 2.30 | 1.07 |
#305 | 高 | XLRA | 合格 | 0.69 | 1.51 | 2.21 | 0.83 |
#306 | 高 | Z ~ LRA | 合格 | 1.02 | 1.50 | 1.46 | 0.47 |
#307 | 高 | XLRA | 合格 | 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 | 366 | 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 | 中 | XLRA | 失敗(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 |
図 8. 効果 3 のパフォーマンス マップ(合格/不合格)