small remaining dependency on SDL. Because of Kodi/XBMC's origin with the resource constraints on the hardware and environment of the first-generation Xbox game-console platform, all software development of Kodi/XBMC has always been focused on reserving the limited resources that existed on embedded system hardware, like the original Xbox (which was only a 733 MHz Intel Pentium III and 64 MB of RAM in total as shared memory), as well as the still relatively low resources of embedded system devices today, of which the main hindrance has always been the amount of available system RAM and graphics memory at any one time. This means that Kodi/XBMC is purposely programmed to be very resource- and power-efficient and can therefore run on very low-end and relatively non-expensive hardware, especially when compared to other media center software design for HTPC use. But because of its origins from the Xbox game-console, Kodi/XBMC's legacy graphics renderer still runs in a more game-loop rendering environment rather than using a fully event-driven and on-demand rendering, meaning that it is almost constantly re-drawing the GUI and refreshing the frames as fast as it can, even when nothing is changing on the screen. This results in very high CPU and high GPU usage, which can be observed on embedded systems and low-end machines, and hence cause high temperatures, high fan activity, and high power consumption unless capped at a maximum frame per second configuration for that specific platform build. Work is however constantly ongoing by the developers to make Kodi/XBMC run using much fewer resources on low-power and embedded systems, which will indirectly benefit all non-embedded systems as well. Efficiency improvements in this area are however being worked on in order to move away from that old style game-loop environment in order to reduce high CPU/GPU usage by the GUI, especially as XBMC usage on embedded platforms with limited CPU/GPU resources keeps growing in popularity. XBMC 11.0 (Eden) introduced Dirty-Regions rendering option for texture support to the XBMC skinning engine as an option, and XBMC 12.0 (Frodo) enabled Dirty Regions rendering to redraw the whole screen on a single dirty region by default on all platforms. Work is also in progress for XBMC 14.0 to introduce an abstracted scene-graph deferred rendering for GUI renderer abstraction. Portability Kodi has a portable code base, with its trunk (mainline source code tree) officially available for IA-32/x86, x86-64, PowerPC, and ARM-based platforms. The Kodi