VideoTexture 는 AIR 17.0 에 새롭게 추가된 기능입니다. 비디오 파일을 stage3d 컨텍스트를 이용하여 텍스쳐로 바로 생성합니다. 기존의 Video 를 Bitmap 에 그리는 방식이 아닌 영상 자체를 하드웨어 가속을 통해 출력하므로 많은 성능 개선을 기대할 수 있습니다.
아래는 각 설정 별 성능 테스트 영상입니다.
Test1
Flare3D : v2.7
AIR : v16.0
Source : 512×512 flv
Test2
Flare3D : v2.7
AIR : v16.0
Source : 2000×1000 flv
Test3
Flare3D : v2.8 Dev
AIR : v17.0
Source : 2000×1000 flv
Test4
Flare3D : v2.8 Dev
AIR : v17.0
Source : 1000×500 mp4
기존의 방식에서도 512×512 정도의 해상도 까지는 상당한 퍼포먼스를 보여 줍니다. 하지만 Test2 에서 보듯 2000×1000 와 같이 큰 영상을 사용하는 경우 3D 성능이 눈에 띠게 떨어지는 것을 확인 할 수 있습니다. 여기에 AIR 17.0 의 VideoTexture 를 사용하는 경우 Test3 와 같이 빠른 성능을 보여 줍니다.
하지만 Test3 의 경우도 자세히 보면 3D 오브젝트는 빠른 성능을 보여주지만 내부의 동영상은 매우 느리게 재생되는 것을 확인 할 수 있습니다. 아무래도 이 부분은 좀 더 최적화가 필요할 것 같습니다.
마지막으로 Test4는 1000×500 mp4 형식의 영상을 사용하였습니다. 절반 정도의 사이즈만 되어도 쓸만한 성능이 나와주는 것 같습니다. 그리고 재미난 점은 AIR 17.0 의 VideoTexture 를 사용하는 경우 PC 에서 시뮬레이션을 하면 flv 포멧만 재생이 됩니다. 디바이스에서 테스트 하면 mp4, 3gp 모두 정상 작동 합니다.
아직 AIR 17.0 에서 VideoTexture 는 윈도우, 맥 그리고 iOS 만 지원한다는 점도 조금은 아쉽운 점이네요. 하지만 최근 어도비 릴리즈 속도로 봐서는 조만간 안드로이드를 지원하는 AIR 18.0 이 출시 할 것으로 기대합니다.