xbmc/xbmc — pull request #2713 by theuni (2013-05-09 10:40:03+00:00)
Title: gui: two texture speedups

1. Check to see if we have a texture loaded already before opening/uploading
another instance of it.

2. Set a time-out for deleting textures. If they are needed again before the
time-out expires, they are re-added to the loaded textures array and ready
for use again. Otherwise, they are deleted after X msec. This helps to avoid
doing _really_ nasty things, like re-loading the background image when
moving from home to settings.

This gives a big improvement on embedded devices. Background image reloads were not noticed before because confluence no longer uses the large texture manager, so the slow jpeg decodes aren't logged.

This timeout will eventually move to a release after n scenes have been rendered. As I'm working on moving rendering to a dedicated thread (async render), we need the ability to guarantee that a texture will hang around for a period of time after guilib has processed it.