Search code examples
androidarmgpumali

Understanding GUI application background mode at low level


I'm interested mostly in ARM Mali GPU and android, but any generic information here will be useful. I just want to know at which level we are aware about such term as "GUI application goes to background"

  • On platform API level (i.e. graphical stack system libraries above opengl) (1)
  • At opengl level? (2)
  • Does GPU (driver and hardware level) understands what is "application goes to background"? (3)

Basically, from my understanding it should be (1). Are there any standards of what should happens when app goes to background i.e. which graphical data could be discarded and which is needed for resume? Or each platform implements this by its own way? Please, could somebody give any useful information or references about what data from low level graphical context must be saved in order to resume GUI application when it goes back from background to foreground?


Solution

  • It's entirely managed by the OS window system notification framework sending notifications to the application, and the application has to manage what being sent to the background actually means (e.g. destroying OpenGL ES resources to free the memory).

    The graphics driver has no knowledge of any of this; it is entirely above the OpenGL ES API level.