View Single Post
Old 05-10-09, 07:33 PM   #13
Registered User
Join Date: Sep 2002
Posts: 623
Default Re: Firefox + Flash terribly slow

Flash is pure software video playback. That is why it is so slowly. Do not blame Nvidia because Nvidia can not do anything with this. The hardware acceleration checkbox you see in recent flash 10 release allows only partial hardware acceleration if flash animation/video author enabled such option in flash animation script. In 99% of flash content hw acceleration is not enabled because author do not knows or did not know about it when flash content was created. The only acceleration you can have in flash is to use multicore CPU. Flash10 plugin can use max 4 cores by splitting rendering work to 4 threads. That is why owners of multicore CPUs usually better enjoy flash content on Linux.

1. Huge CPU usage in Linux flash is main topic in complains to Adobe Flash Linux.
2. Linux Flash developers refused to provide 2D acceleration saying that quality of acceleration is varying in GPUs drivers. They say also it takes more overhead to accelerate in hardware so it is better to optimize CPU code than add GPU acceleration.
I do not buy such explanation. Using XRender and/or Cairo library can improve 2D very much.
3. They say that Flash does not need Xv acceleration because the flash output is RGB already and Xv hardware conversion from YUV to RGB is not needed. I think they do not have right because compressed video is always in YUV format. I do not buy argument that software YUV to RGB conversion in flash has better performance than Xv hardware YUV to RGB converter. Now VDPAU could improve performance even more for mpeg-4 like streams.
# FAQ regarding hardware acceleration: Why doesn't the Flash Player on Linux user the X video extension (Xv)?
# Answer: Because Xv scales YUV data. Flash Player operates on RGB data.

Since 2 years on penguin.swf - the Adobe blog about Linux Flash I try to convince flash developers to use Cairo library for 2D drawing to stop hogging the CPU. firefox3 uses Cairo already so why not using this library also in Flash? (Cairo library uses XRender or OpenGL via glitz acceleration).

This is what I understood from blogs/user comments/author responses:

Here are Flash Linux plugin blogs where you can contact people responsible for Flash Linux plugin or read more:
zbiggy is offline   Reply With Quote