실적 지도를 사용하여 결과 비교

실적 표에 제공된 데이터를 사용하여 생태계의 실적 지도를 채웁니다. 실적 지도를 채울 때는 권장 데이터 시각화 방법 가이드를 따르세요. 비교를 위해 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.1g보다 약하면 사용자가 햅틱을 인식할 수 없습니다 (오류 사례 F03-2).

효과 안내 가이드 1

그림 1. 효과 1 방법 가이드의 실적 지도

효과 안내 가이드 2

그림 2. Effect 2 실적 지도 관련 안내 가이드

createOneShot에서 데이터를 읽는 작업 (효과 2)은 효과 1 데이터와 거의 동일한 프로세스이지만 한 가지 예외가 있습니다. 효과 2의 타겟 시간은 20ms이므로 20ms에 가까운 최대 시간은 제동이 잘 된 출력을 나타냅니다.

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보다 작습니다(0 <).
    • F03-2: 신호 진폭이 너무 약하여 분석하거나 사람이 인식할 수 없습니다. 진폭 값이 0.1보다 작습니다(0.1 미만).
    • F04: 첫 번째 가속 단계가 누락되었습니다. 전반에는 신호가 없습니다.
    • F05: 두 단계 간에 가속이 증가하지 않습니다. 가속 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축)
  • FOMS를 계산하는 PRR
  • FOMS = PRR / 최대 진폭 (그래프의 풍선 차트의 풍선 크기)
  • 시각적 참조용 MATLAB의 신호 플롯
통과율
  • 85.7% 의 기기에서 효과 1이 생성됨
  • F01 (햅틱 상수가 구현되지 않음)으로 인해 14.3% 의 기기가 실패했습니다.
EFFECT_CLICK (효과 1)의 실적 맵을 채우는 데이터
기기 ID 가격 등급 액추에이터 유형 통과/실패 최대 시간 (ms) 최대 진폭 (g) PRR FOMS
기초 높음 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축)
  • FOMS를 계산하는 PRR
  • FOMS = PRR / 최대 진폭 (그래프의 풍선 차트의 풍선 크기)
  • 시각적 참조용 MATLAB의 신호 플롯
통과율
  • 89.3% 의 기기에서 효과 2가 생성됨
  • F02 또는 F03-2로 인해 10.7% 의 기기가 실패했습니다 (신호 진폭이 너무 약하여 분석/인식할 수 없음).
createOneShot의 실적 테이블을 채우는 데이터 (효과 2)
기기 ID 가격 등급 액추에이터 유형 통과/실패 최대 시간 (ms) 최대 진폭 (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을 생성했습니다.
  • F04 (10.7%, 가속도 1 신호 없음) 또는 F05 (57.1%, 예상대로 가속도 1과 가속도 2 간에 차이가 없음)로 인해 67.9%의 기기가 실패했습니다.
createWaveform의 실적 표를 채우는 데이터 (효과 3)
기기 ID 가격 등급 액추에이터 유형 통과/실패 가속 1 (50%) 가속도 2 (100%) 가속 비율 델타
#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의 실적 지도 (통과/실패 기준)