csmUpdateModel 계산의 Neon 명령 대응
업데이트: 2019/09/03
Live2D Cubism Core Ver3.0.4의 버전 갱신에서는 Neon 명령에 대응했습니다.
이에 따라 csmUpdateModel(csmModel* model) 명령의 실행 속도가 대응 CPU에서 40% 정도 빨라집니다.
적용 확인 방법
Cubism Core의 Version에서 확인합니다.
csmGetVersion()에서 Version 표기로 3.0.4 이상이면 적용되어 있습니다.
효과 범위
ARM계 Neon 명령에 대응한 CPU가 대상이 됩니다.
스마트폰 등이 주요 대상입니다.
효과 검증
실험 조건
기체 | Nexus5X Android8.0.0 |
검증 모델 | Natori Jin |
Miara | |
Cubism SDK for Native에 포함된 Haru | |
실험 방법 | 1. 모든 파라미터값을 임의로 변경하는 100회분의 파라미터 세트를 작성한다 |
2. 비Neon용 모델과 Neon용 모델을 같은 파라미터 세트로 csmModelUpdate를 100회 실시해, 실행 시간을 적산한다 | |
3. 비Neon과 Neon의 계산 결과가 일치하는지 확인 | |
4. 1~2를 200회, 5세트 반복한다 |
실험 결과
위의 그림은 각 모델에서 100회의 Update 시간을 적산한 것을 그래프로 한 것으로, 단위는 밀리 세컨드입니다.
모든 모델에서 기존 계산 방법의 C에 비해 Neon의 실행 속도가 상회하는 것을 확인할 수 있습니다.
위의 그림은 각 100회마다의 적산 시간을 C/Neon으로 계산한 것의 속도 비율 히스토그램입니다.
각 모델의 속도 비율은 약 1.40쯤에 집중되어 있음을 확인할 수 있습니다.
각 모델의 속도 비율 평균과 표준 편차는 다음과 같습니다.
속도 비율 평균 | 표준 편차 | |
Natori | 1.429702014 | 0.06952474578 |
miara | 1.414569343 | 0.04765946939 |
Haru | 1.40589412 | 0.02436108084 |
그래프 생성에 사용한 데이터에 대하여
이 기사가 도움이 되었나요?
네아니요