パフォーマンス マップを使用して結果を比較する

パフォーマンス テーブルに記載されているデータを使用して、エコシステムのパフォーマンス マップを作成します。パフォーマンス マップにデータを入力する際は、推奨されるデータ可視化の入門ガイドに従ってください。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. エフェクト 2 入門ガイドのパフォーマンス マップ

createOneShot(効果 2)からのデータの読み取りは、効果 1 データとほぼ同じプロセスですが、1 つの例外があります。効果 2 の目標持続時間は 20 ms であるため、20 ms に近いピーク持続時間は、制動が良好の出力を表します。

createWaveform(エフェクト 3)からのデータは、振幅制御機能に焦点を当てています。最初の加速度(加速度 1 = グループ棒グラフの 50% 振幅 = 左の棒)と 2 番目の加速度(グループ化された棒グラフの加速度 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 未満(< 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))
パフォーマンス マップの読み取りに必要なデータ
  • ピーク期間(グラフの x 軸)
  • ピーク振幅(グラフの Y 軸)
  • PRR による FOMS の計算
  • FOMS = PRR / ピーク振幅(グラフ内のバブルプロットのバブルサイズ)
  • 視覚的な参照として MATLAB からのシグナル プロット
合格率
  • 85.7% のデバイスでエフェクト 1 が生成された
  • 14.3% のデバイスが F01(触覚定数が実装されていない)が原因で故障した
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

エフェクト 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 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

エフェクト 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%) 加速度率 デルタ
#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

エフェクト 1 パフォーマンス マップ 3

図 8. 効果 3 のパフォーマンス マップ(合格/不合格)