Disclosed are methods and systems for interfaces between video applications
and display screens that allow applications to intelligently use display resources
of their host device without tying themselves too closely to operational particulars
of that host. Video applications (1) receive information about the display environment
from a graphics arbiter, (2) use that information to prepare their video output,
and (3) send their output to the graphics arbiter which efficiently presents that
output to the display screen. The graphics arbiter tells applications the estimated
time when the next frame will be displayed on the screen. Applications tailor their
output to the estimated display time, thus improving output quality while decreasing
resource waste by avoiding the production of "extra" frames. The graphics arbiter
tells an application when its output is fully or partially occluded so that the
application need not expend resources to draw portions of frames that are not visible.