title: Optimizing animation performance in WebKit on Linux
body: <p>How does one optimize a compiled WebKit browser to take the best advantage of the GPU?</p>
  
  <p><strong>Background</strong></p>
  
  <p>My team and I are working on configuring a Linux box (CentOS) to display full screen HTML with smooth, CSS-driven animations. The box has more than adequate GPU and CPU power and is able to play back these animations easily in Chromium.</p>
  
  <p>However, we are attempting to use pure WebKit to render these animations both by using <a href="https://webkitgtk.org" rel="noreferrer">WebKitGTK+</a> in Python and by compiling WebKit to a simplistic browser from the source.</p>
  
  <p><strong>Current Status</strong></p>
  
  <p>In both "pure" webkit applications, the animations are vastly slower than on Chromium, which is making us scratch our heads to answer what <em>exactly</em> is different between the two. We understand Chromium uses Blink, a fork of WebKit, and we currently believe the difference in performance is due to the fact that Chromium, Safari, and other WebKit-based browsers each use their own graphics component that is separate from WebKit and Web Core itself, based on what we've read.</p>
  
  <p>It would be great if we could customize our WebKit build to perform even to half the specs of what we're seeing in Chromium but we're not sure where to start.</p>
  
  <p><strong>I'm wondering</strong>...</p>
  
  <ol>
  <li>Is our assumption about the separate graphics component correct?</li>
  <li>What options exist for us to optimize CSS animation performance in a "pure" WebKit browser such as ours?</li>
  </ol>