G2D 가속기는 특정 상황에 대해서만 CPU보다 성능이 좋습니다. 예를 들어, 1:1 non-scaled bit-blit의 경우는 그냥 CPU NEON instruction으로 처리하는 것이 더 빠릅니다. scaled blit, alpha blend인 경우, 그리고 1:1 non-scaled bitblit 시 400*400 정도 이상의 크기를 수행할 때에는 G2D가 성능이 더 좋을 수 있습니다.
한편, 비록 G2D가 일부 상황에서는 CPU보다 느리다고 해도, G2D에게 2D operation을 수행하도록 하고 CPU는 다른 일을 하도록 함으로써, 병렬 처리 효과를 보고자 하는 경우에도 도움이 될 수 있습니다.
정리하자면, Qt에 2D 가속기를 적용하고자 한다면, 항상 모든 경우에 대해 2D 가속기를 사용하려고 하지 말고, 주요 함수에 대해서 조건을 테스트해서 2D 가속기를 사용하는 경우와 CPU를 사용하는 경우로 분기하도록 구현하는 것이 바람직합니다.
2D 가속기라 함은, Exynos에서 제공하는 FIMG-2D 가속기를 말하는 건가요??
G2D 가속기는 특정 상황에 대해서만 CPU보다 성능이 좋습니다. 예를 들어, 1:1 non-scaled bit-blit의 경우는 그냥 CPU NEON instruction으로 처리하는 것이 더 빠릅니다. scaled blit, alpha blend인 경우, 그리고 1:1 non-scaled bitblit 시 400*400 정도 이상의 크기를 수행할 때에는 G2D가 성능이 더 좋을 수 있습니다.
한편, 비록 G2D가 일부 상황에서는 CPU보다 느리다고 해도, G2D에게 2D operation을 수행하도록 하고 CPU는 다른 일을 하도록 함으로써, 병렬 처리 효과를 보고자 하는 경우에도 도움이 될 수 있습니다.
정리하자면, Qt에 2D 가속기를 적용하고자 한다면, 항상 모든 경우에 대해 2D 가속기를 사용하려고 하지 말고, 주요 함수에 대해서 조건을 테스트해서 2D 가속기를 사용하는 경우와 CPU를 사용하는 경우로 분기하도록 구현하는 것이 바람직합니다.