Sometimes video elements can go into software mode, if the the cursor happens to be over the video element around page load time. The issue is that when the mouse is over the content area, we do an eager layout, which in turn updates compositing layers. RenderLayerCompositor::updateBacking() calls video->acceleratedRenderingStateChanged(), but before any data has loaded, so all the videos start in software mode. Once in softare mode, they don't get pushed into hardware mode later.
<rdar://problem/7524278>
Created attachment 47264 [details] Patch
Comment on attachment 47264 [details] Patch While not new to this patch, I think there is still have a problem if mediaPlayerGraphicsLayer() ever returns NULL. The rendering mode will be set to MediaRenderingMovieLayer, but the QTMovieLayer won't get attached until the rendering state changes. r=me
I filed bug 34036 to address that problem.
http://trac.webkit.org/changeset/53768