Abstract

Mobile apps such as games and virtual reality(VR) are getting increasingly popular but they drain battery quickly due to the heavy graphics rending process. Currently, Open Graphics Library for Embedded Systems (OpenGL ES) is the dominating API for rendering advanced graphics on embedded and mobile systems. Despite the attracting usability of OpenGL ES, the lacking support of multi-threading limits its performance and power efficiency on modern multicore mobile chips, especially when the big.LITTLE architecture has become the de facto industry standard of mobile phones. Vulkan was recently proposed to address the weaknesses of OpenGL but its performance and energy efficiency on the big.LITTLE architecture has not been fully explored yet. This paper conducts a comprehensive study to compare the performance and energy efficiency of Vulkan versus OpenGL ES on an ARM processor with both high performance cores (i.e. big cores) and low power cores (i.e. LITTLE cores). Our experimental results show that 1) Vulkan can save up to 24% of energy by leveraging multi-threading and parallel execution on LITTLE cores for heavy workloads; and 2) Vulkan can render at a much higher frame rate when OpenGL ES has reached its full capability. Meanwhile, writing efficient Vulkan code is not trivial and the performance/energy gains are negligible for light workloads. The clear tradeoff between optimizing verbose Vulkan code manually and potential performance or energy efficiency benefits should be carefully considered.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call