실적 표에 제공된 데이터를 사용하여 생태계의 실적 지도를 채웁니다. 실적 지도를 채울 때는 권장 데이터 시각화 방법 가이드를 따르세요. 비교를 위해 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 방법 가이드의 실적 지도
그림 2. Effect 2 실적 지도 관련 안내 가이드
createOneShot
에서 데이터를 읽는 작업 (효과 2)은 효과 1 데이터와 거의 동일한 프로세스이지만 한 가지 예외가 있습니다. 효과 2의 타겟 시간은 20ms이므로 20ms에 가까운 최대 시간은 제동이 잘 된 출력을 나타냅니다.
createWaveform
(효과 3)의 데이터는 진폭 제어 기능에 중점을 둡니다.
첫 번째 가속도 (가속도 1 = 50% 진폭 = 그룹 막대 차트의 왼쪽 막대)와 두 번째 가속도 (가속도 2 = 100% 진폭 = 그룹화된 막대 차트의 오른쪽 막대) 간의 타겟 비율은 2입니다.
그림 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)) |
||||||
성능 맵을 읽는 데 필요한 데이터 |
|
||||||
통과율 |
|
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 |
그림 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 | 가격 등급 | 액추에이터 유형 | 통과/실패 | 최대 시간 (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 |
그림 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 | 높음 | 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 |
그림 8. 효과 3의 실적 지도 (통과/실패 기준)