Develop takes a look at Geomerics’ and ARM’s drive for console-quality mobile graphics
[This feature was published in the October 2013 edition of Develop magazine, which is available through your browser and on iPad]
The Mali architecture
The Geomerics effect: Geomerics is helping make mobile games more striking than ever
Geomerics is committed to pushing the boundaries of graphics capabilities on all platforms. When it comes to mobile that brings some interesting new challenges. Of course, one British company is synonymous with mobile platforms: ARM. The Cambridge-based company licenses designs for the CPUs in the vast majority of the world’s mobile devices, and is making increasing inroads in the GPU space with its Mali architecture.
The ARM business model is based on the concept of fostering an ecosystem of companies with their own individual targets and ambitions. Part of this philosophy is a commitment to collaborative research with partners interested in furthering mobile technology. In particular, the team working on its Mali processors are keen to work with teams experienced in delivering high-end graphics on consoles. ARM is committed to bringing high-end gaming experiences to mobile devices, and that means encouraging research into rendering, graphics, control schemes and a wealth of other areas.
To push its mobile rendering research forward, ARM chose to collaborate with Geomerics, also located in Cambridge. Geomerics was already committed to researching new techniques for mobile platforms through an EU-funded collaborative project (the LPGPU project). Head of technology Sam Martin comments: “Through our EU project we already had a good handle on porting Enlighten to mobile, and the challenges faced when bringing high-end content to low-powered devices. This put us in a great position to work with ARM when they approached us.”
GREAT MINDS THINK ALIKE
The teams in ARM and Geomerics had independently come to the same realisation: that memory bandwidth had become the key bottleneck on mobile devices.
“The problem boils down to a single number: 150 picojoules per byte. That’s the energy cost of moving data between the GPU and memory. The number is decreasing with time, but not as fast as bandwidth needs are growing. The result is that mobile GPUs will be bandwidth- and power-limited for the foreseeable future,” says Tom Olson of ARM.
“If you think about a modern deferred shading pipeline, it will typically use a full-screen G-buffer with at least 16 bytes-per-pixel, stored in multiple render targets. It will write the entire buffer out and then read it in again at least once per frame, at a cost of five millijoules each way. At 60fps, that’s a bandwidth load of four gigabytes per second, and an energy cost of 600 mW – a large fraction of a typical smartphone or tablet GPU power budget. And that’s just for data movement – you haven’t done any rendering yet,” continues Tom. “We figured there had to be a better way.”
“One idea we had been working on internally was to associate a small amount (16 bytes) of persistent local memory with each pixel, shared between all of the triangles that cover that pixel. Because the Mali architecture is tile-based, we can keep this memory on-chip, and never move it across the system bus. Our in-house experiments were promising, but we wanted to know if it could be used in an industrial-strength lighting engine. That was why we approached Geomerics.”
THE MOBILE ENLIGHTENMENT
Geomerics first demoed its Enlighten tech on mobile devices at GDC 2012. At GDC 2013 they added in support for cubemaps, bringing dynamic high-quality glossy lighting to mobile devices. With devs starting to licence Enlighten for mobile they were an obvious company for ARM to approach.
“I was very keen to see what you could do with persistent on-chip memory,” says Martin. “Given our focus on lighting research, the obvious area to experiment with was using multiple lights in a standard deferred lighting setup, but with the G-buffer data stored on-chip. This was made possible through an experimental driver extension that ARM gave us access to. Using this approach we were able to light a scene on a Mali-T604 running at 720p with up to 100 dynamic lights and Enlighten running to fill in the global illumination. This was a real step forward for mobile devices.”
The end result of the collaborative initiative was presented at SIGGRAPH Mobile this July, and has generated considerable interest among the mobile community. “This reinforces a message we have been pushing for some time now. We all need to re-think how we do graphics on mobile devices. The desktop graphics pipeline is simply not appropriate for a world where power constraints are everything. It is often better to repeat a calculation in different places that is trying to move the results around,” said Martin.
This research is likely to represent the start of a longer term effort between ARM and Geomerics. “We are really pioneering a drive towards higher quality graphics on mobile devices” says founder Dr Chris Doran. “When we look at what developers want from Enlighten on mobile it is clear that they are after a different set of technologies to the PC and console guys. They want to know how to get the best graphics out of these devices, and this is what we are starting to offer.”
To read all of Develop's Geomerics Spotlights, visit our archive