Testing StageVideo in Flash Player 10.2
Adobe has launched the public beta of Flash Player 10.2. This minor update offers us a limited but very important set of improvements:
- Internet Explorer 9 hardware accelerated rendering – Flash Player 10.2 exploits GPU accelerated graphics (vector rendering, composition,etc..) in Internet Explorer 9.
- Stage Video hardware acceleration – H.264 decoding, scaling and compositing is performed entirely by the GPU.
- Native custom mouse cursors – Developers can define custom native mouse cursors, enabling user experience enhancements and improving performance.
- Support for full screen mode with multiple monitors – Full screen content will remain in full-screen on secondary monitors, especially usefull during video playback.
From my personal point of view the most important improvement is the new StageVideo API. I have introduced the technology in this post, talking about the AIR for TV runtime, but now it is becoming reality for the desktop too.
StageVideo technology allows a direct use of video acceleration features of the underling hardware. When using StageVideo object intead of the classic Video object you have some limitation (essentially beacause it is not part of the display list but is an external video plane composited by the GPU with the Flash stage), but you have an excellent performance with zero dropped frame, high rendering quality and exceptional performance.
The aim of StageVideo is to optimize decoding performance even in low power CPU scenario (netbook, set top boxes, smart phones and tablet) where it is very import to exploit the dedicated HW acceleration features instead of using the CPU.
Flash Player 10.1 (Mobile or not), already exploited HW acceleration of H.264 decoding and scaling but, especially on Mac and Mobile, some step was still performed by CPU. For example the compositing in the display list was very CPU intensive on bot Mac and Mobile. With Stage Video this is going to change.
For the moment Flash Player 10.2 is only available for the desktop, but AIR for TV has already the support for StageVideo. I hope to see very soon the Mobile version of Flash Player 10.2 because this kind of platform is the one that can take more advantages by StageVideo (perfect performance, higher quality, lower battery consumption).
If you want to compare the performance of a video decoded with StageVideo and the classic method, install the player and go to this test page. You can also go to YouTube that is already started to support StageVideo. Below you find my results:
Note: the video is 1920×1080 25p at very high bitrate so I suggest you to start playback and then put it in pause (with SPACE) and let it buffer for a while. Press O to switch from StageVideo to standard Video object and monitor the CPU usage.
Laptop Core 2 Duo 2.1 GHz – Windows Vista – IE8 – GeForce 8400M
With standard Video Object: 45-50% (H.264 decoding is accelerated on win 7/vista but not the full path to screen)
With StageVideo : 3-5%
Desktop Quad Core 2.4 GHz – Windows XP sp3 – IE7 – ATI Radeon 3400
With standard Video Object: 30-35% (H.264 is decoded by software here on 4 cores)
With StageVideo: 15-20% (this GPU is not very powerful but still impressing considering that VLC requires 20-25%)
Desktop Core i7 2.8 GHz – Windows 7 x64 -FF 3.6 – ATI Radeon 5750
With standard Video Object: 10% (H.264 decoding is accelerated on win7 /vista but not the full path to screen)
With StageVideo: 0% ! (Yes, you read right, zero percent)
Mac iBook Core 2 Duo 2.2 GHz – OSX – Safari – GeForce 8400M
With standard Video Object: >40% (H.264 decoding “should” be accelerated on nvidia cards and latest OSX and Safari)
With StageVideo: <20%
Very very impressive…
To know more details about how to support StageVideo in your players read this article by Thibault Imbert.