2011-01-26 6 views
2

나는 여러 개의 애니메이션이있는 2 차원 스프라이트 기반 게임을 개발 중입니다. 별도의 스레드로 개발되었으며 일반적으로 모든 것이 훌륭합니다.활성 캔버스 애니메이션 위에 PNG 오버레이

저는 최근 애니메이션 된 비트 맵의 ​​나머지가 그려진 후에 Canvas 위에 그려진 알파 PNG 그래픽이있는 레벨을 추가했습니다.

이 레벨에서 눈에 띄는 속도 저하가 있으며 스퍼터링 등으로 보인다 ... 그래픽을 위해 페인트에 Multiply Xfermode를 추가하고 정지 상태로 전환했습니다.

성능이 떨어지는 것을 피하기 위해 그래픽을 오버레이하는 더 좋은 방법이 있습니까 (알파 채널을 계산해야한다고 가정하고 캔버스 비트 맵에 적용)? drawbitmap/png로 오버레이를 그릴 수있는 대안이 있습니까?

+1

게임 개발자의 특정 질문에 대해서는 gamedev.stackexchange.com에서 더 좋은 답변을 얻을 수 있습니다. –

답변

0

더 나은 성능을 얻으려면 WindowManager.addView를 사용하거나 PoupWindow를 사용하여 다른 창에 오버레이를 배치 할 수 있습니다. 그러면 컴포지션이 GPU에서 완료됩니다.

+0

재미 있습니다. 그것의 많은 결과가있을 것입니다. 즉, 최전방에있을 것이기 때문에 그 창에서 모든 접촉 이벤트를해야합니다. 나는 그것을 시도 할 수는 있지만 상당한 양의 작업이 필요할 것이다. 당신이 한 짓인가요? – methodin

관련 문제