The graphics API uses a file graphics.xml that is created and occasionally modified by the core client or screensaver. This file has the format
<graphics_info> <do_graphics/> <xsize>500</xsize> <ysize>400</ysize> <full_screen/> </graphics_info>
The graphics API implementation uses a 60 Hz timer. Every 0.5 sec, it sees if graphics.xml has been modified, and if so parses it. Every 1/60 sec, it sees if it's time for a new frame, and if so calls app_render().
Explain graphics modes of apps
Explain graphics use of shmem
Explain screensaver module
Explain screensaver logic in core