tl;dr Try to enable hardware acceleration, or HTML5 video playback whenever that’s possible.

Flash’s performance has been an issue some releases after Square. It was even a better time when we only had 32-bit built of Flash, remember nspluginwrapper? It was quite a fine time.

Playing videos on YouTube is nothing I like to do, because It has been more than a year that sound would crackle up. Like you see in those ancient b/w films or vinyl record you heard in films. I know for a fact that the Flash on my Firefox (24.1.1 ESR) doesn’t have hardware acceleration. The videos can still play fine in windowed browser window, but if I set to fullscreen mode, the sound started to crackle up.

I had been trying to enable the hardware acceleration, but it’s kind of futile, never worked, don’t think my just 7-year-old1 laptop would be minded by those developers, even it has no problem to play 1080p video files using mplayer. If you think about it, it’s pretty sad that you need new hardwares to play videos should have been able to be played with 7-year-old antique.

Anyway, I finally decided to seek for a solution one last time. There was always some thought I believed that might be caused by sound system, because the crackling sound only happened after I installed PulseAudio, but it turned out just CPU wasn’t enough, cracking at 100% to cost the crackling sound.

I went to Google Chrome (31.0.1650.63_p1:stable) to check out the PPAPI’s (Pepper) version (11.9.900.170, shipped with Chrome), then I was surprised because it played smoothly, then I realized that YouTube played videos with HTML5 Player whenever the media format is available for unsigned-in viewers by default.

So, on Firefox and if you can’t enable hardware acceleration, turning on HTML5 video is a choice, at least that would work for some videos.

Then I confirmed it’s still having issue with PPAPI’s version of Flash, but sound is fine, only the video stuttered, I believed in PPAPI, the frames were dropped significantly instead of trying keeping all frames rendered as in NSAPI’s version (11.2 r202, system-wide). But either way, none of them are good viewing experience.

If I looked into chrome://gpu, this was what I saw:

Graphics Feature Status

  • Canvas: Software only, hardware acceleration unavailable
  • Compositing: Software only, hardware acceleration unavailable
  • 3D CSS: Unavailable. Hardware acceleration unavailable
  • CSS Animation: Software only, hardware acceleration unavailable
  • WebGL: Unavailable. Hardware acceleration unavailable
  • WebGL multisampling: Unavailable. Hardware acceleration unavailable
  • Flash 3D: Unavailable. Hardware acceleration unavailable
  • Flash Stage3D: Unavailable. Hardware acceleration unavailable
  • Flash Stage3D Baseline profile: Unavailable. Hardware acceleration unavailable
  • Texture Sharing: Unavailable. Hardware acceleration unavailable
  • Video Decode: Software only, hardware acceleration unavailable
  • Video: Software only, hardware acceleration unavailable

After I enabled the following in chrome://flags and restarted Chrome, everything was changed to “Hardware accelerated.”

Override software rendering list Mac, Windows, Linux, Chrome OS, Android

Overrides the built-in software rendering list and enables GPU-acceleration on unsupported system configurations. #ignore-gpu-blacklist

And YouTube’s “Stats for nerds” shows the following instead of both by software:

accelerated video rendering, software video decoding

Even it’s still decoded by software, it’s playing smoothly in fullscreen mode with 720p video. 1080p would have some crackling some, but video still is smooth. You see my old laptop can still handle the decoding well, so sad, if you know what I mean.

I made another test to confirm the crackling sound in NSAPI is universal by disabling PPAPI in Chrome regardless which browser is used, and the video did play with crackling sound.

Unfortunately, although it now plays smoothly in Google Chrome, Chrome isn’t my primary browser, so still no juice for me, still have to waste unnecessary processing power to watch videos on Firefox.

Strangely enough, there were some reports saying disabling hardware acceleration is the way to fix, but not in my case. If you need to use software, then that must be very wrong, hardware should always be a better performance option.

I only use Flash on YouTube videos purposely, not on other websites, PPAPI and Chrome proved that hardware acceleration still be possible, even it does have glitches like video page renders blank and characters ain’t rendered correctly during ads, the latter I believe is language or font issue.

[1]Received on December 6, 2006.