Bring­ing Imag­i­na­tion to game graph­ics

Su­per­charge game de­vel­op­ment with Imag­i­na­tion Tech­nolo­gies’ free Pow­erVR tools


When graph­ics go wrong, you need the best tools by your side. When they’re free to down­load, all the bet­ter. Imag­i­na­tion Tech­nolo­gies’ Pow­erVR tools make up a suite of essen­tials for em­bed­ded sys­tems de­vel­op­ment, de­signed to save time cre­at­ing and de­bug­ging OpenGL ES ap­pli­ca­tions re­gard­less of whether you’re deal­ing with a mid­dle­ware so­lu­tion like Un­real or rolling your own in-house code.

Imag­i­na­tion’s tools are de­signed for all stages of de­vel­op­ment, and make div­ing into your ren­der­ing en­gine’s API calls, shaders and buf­fers a far less ar­du­ous process. In ad­di­tion, the tools re­quire no code-level changes, which means that you don’t have to worry about cus­tom de­bug builds for in­ves­ti­ga­tions – any bi­nary will suf­fice.

Up first is PVRTrace, Imag­i­na­tion’s OpenGL ES cap­ture and anal­y­sis tool. With it, you get a set of record­ing li­braries that sit be­tween your ap­pli­ca­tion and the host OpenGL ES driver, a GUIbased tool for analysing the record­ings once gath­ered, and an on-de­vice play­back tool. Data in hand, you can use PVRTrace to in­spect the API calls and data con­tained, as well as vi­su­alise frame­buffer at­tach­ments (colour, depth and sten­cil data), and ren­der a pie chart dis­play­ing where GPU cy­cles are be­ing spent. It’ll also an­a­lyse your API calls and look for ways to im­prove per­for­mance. All of these fea­tures are avail­able from within an easy-to-use en­vi­ron­ment, of­fer­ing fea­tures such as a wid­get for play­ing back en­tire frames, ranges of draw calls or in­di­vid­ual draws. The frame scrub­ber in the bot­tom-right cor­ner of PVRTrace al­lows you to step or jump be­tween recorded frames, with a drop­down for switch­ing from nor­mal ren­der­ing to ba­sic wire­frame, and spe­cial view­ing modes such as Pow­erVR Depth Com­plex­ity, which es­ti­mates the GPU’s hid­den-sur­face re­moval, and a pixel heatmap for in­stantly see­ing which shaders are prov­ing the most costly.

PVRTune picks up from there as the Pow­erVR GPU per­for­mance anal­y­sis tool, its job be­ing to pull the GPU per­for­mance met­rics from the driver and vi­su­alise the data. Im­me­di­ate is­sues are caught with GPU task tim­ing data (ver­tex, frag­ment and com­pute), with high-level and low-level GPU, CPU and mem­ory coun­ters pro­vided for in-depth anal­y­sis – for ex­am­ple, un­der­stand­ing the load of spe­cific hard­ware blocks re­spon­si­ble for tasks such as shader ex­e­cu­tion and Hid­den Sur­face Re­moval (HSR) over­draw re­duc­tion. Nat­u­rally, ev­ery­thing is pro­vided in real time, pro­vid­ing fine-grain per­for­mance data to drill into at will.

Next comes PVRShaderEdi­tor, in­tended as a light­weight but pow­er­ful tool for de­vel­op­ing op­ti­mised shaders for Pow­erVR GPUs. Key fea­tures in­clude GLSL ES syn­tax high­light­ing, per-line cy­cle count es­ti­mates, and sim­u­lated per­for­mance es­ti­mates – with spe­cific com­pil­ers for all Pow­erVR ar­chi­tec­tures. Ad­di­tion­ally, the tool gen­er­ates re­al­time in­struc­tion dis­as­sem­bly when Pow­erVR Rogue com­pil­ers are ac­tive, en­abling you to see ex­actly how your shader will be ex­e­cuted by the GPU. This makes it easy to get a feel for how your new shaders will work, with­out hav­ing to have ac­tual de­vices on hand.

Imag­i­na­tion of­fers com­pre­hen­sive doc­u­men­ta­tion for each com­po­nent, in­clud­ing ba­sic text and video guides for ev­ery tool, ded­i­cated user man­u­als and quick starts, and ar­chi­tec­ture guides cov­er­ing deeper in­for­ma­tion such as sup­ported ex­ten­sions and per­for­mance rec­om­men­da­tions. You can also find sev­eral re­lated blog ar­ti­cles, rang­ing from how to cap­ture an in­di­vid­ual ren­der to us­ing reg­u­lar ex­pres­sion searches in PVRTrace.

Imag­i­na­tion’s tools are crossplatform, re­quir­ing a min­i­mum of Win­dows Vista, Mac OS X 10.8 or, on Linux, Ubuntu 12.04. Other tools avail­able in­clude PVRTexTool for tex­ture com­pres­sion, PVRGeoPOD for ex­port­ing 3D scenes to the Pow­erVR Ob­ject Data op­ti­mised for­mat, shader com­poser PVRShaman, and PVRMon­i­tor, an on-de­vice hard­ware pro­fil­ing tool for An­droid that al­lows rapid vis­i­bil­ity of per­for­mance fluc­tu­a­tions at the high­est frame rates. The suite is avail­able to down­load now from pow­ervrin­

While the tools are de­signed to be easy to use, you’re never left on your own: sup­port from Imag­i­na­tion is avail­able to all, with a fo­rum for pos­ing ques­tions, a con­fi­den­tial tick­et­ing sys­tem for more spe­cific queries, and even the abil­ity to re­quest per­sonal as­sis­tance.

You’re never left on your own: Imag­i­na­tion’s sup­port is avail­able to all

Imag­i­na­tion’s OpenGL ES cap­ture and anal­y­sis tool, PVRTrace, at work

Newspapers in English

Newspapers from Australia

© PressReader. All rights reserved.