The PowerVR Developer Technology team has always been fully committed to making development for PowerVR easier, by continually improving our groundbreaking tools and SDK. Our ecosystem is very important to us, so we’re focusing on the things developers really need and have been asking for. So, this GDC, we’re delighted to announce another set of major enhancements to the PowerVR development experience.
We’re going to talk a bit about these new enhancements in this blog post, but if you’re at GDC, do come along to our booth S763 as we’d love to show off our demos and have a chat with you!
New versions of PVRMonitor
For years, PVRMonitor existed quietly amongst our tools collection as a small, niche utility for showing basic real-time PowerVR GPU and CPU information via an overlay on Android™ devices. Following a full-on redevelopment, PVRMonitor is now propelled into the ranks of ‘must have’ for developers who are serious about convenience.
As a result of our re-imagining, you’re not just getting one PVRMonitor, not even two… but three! As well as an updated Android app, we’re also releasing versions for Unreal Engine 4™ and Unity™. Adding PVRMonitor functionality to your app with these engines is now as simple as drag and dropping a widget. Then just hit launch to get a quick and dirty way to see the statistics that matter to you as an overlay on your development device.
Each of these three versions is now a lot beefier than the original too. Going far beyond the four GPU counters and the CPU counters that came with the original PVRMonitor, you now also have instant access to the dozens of handy hardware counters previously only available through PVRTune. These include the things you’d expect, such as frames per second (FPS) but also plenty more handy counters such as cycles per pixel/vertex, texture processing load, Z load/store, and USC information. PVRScope Complete functionality is also supported.
You have full control over the statistics you want to see. Lay out as few or as many counter graphs as you like, set threshold values and even set the colours for high and low values to make your quick interpretation even quicker.
PVRMonitor for Unreal Engine will be available shortly, and the Unity version will be available early next quarter. You don’t have to wait to get a preview though – at our booth at S763 to see just how straightforward it is to get the statistics you need quickly on screen.
Just because PVRMonitor has been souped-up, we’ve not forgotten its big brother on desktop, our powerful hardware profiling tool – PVRTune. When you need more than just the stats on a screen, and you need to find out the why, PVRTune Complete gives you the tools you need to chase down those performance bottlenecks and make your app sing.
As you would expect, we’ll have a demo showing our latest enhancements at our booth. Look out for:
- New support for Vulkan™ and OpenCL™ client streams, including a timeline visualising Vulkan debug markers
- The new Statistics Report window, which gives you yet another way of analysing performance
- Shader profiling – where the original shader source is compiled to show you profiling information
- A syntax highlighter for GLSL, which makes the source code much easier to read
- Improvements to memory usage reporting including new software counters for tracking app/DDK memory usage
- A new counter ‘GPU memory interface load’, which gives you the percentage of SLC bus utilisation
- Easier deployment and connection to your device via the GUI.
Some of these enhancements we have are already discussed in more detail in an earlier blog post, but others are new for our upcoming release.
PVRMonitor told you something was wrong, PVRTune showed you exactly where. So why not use our ground-breaking new IDE PVRStudio to make and test those fixes? With PVRStudio you can debug seamlessly between CPU and GPU on Android and Linux-based devices with PowerVR GPUs. There is full support for OpenGL ES™, and initial Vulkan debugging.
We have designed a new feature called ‘Active Shaders’, which lists all shaders and kernels that are scheduled during run-time. Selecting a shader will show you an intermixed representation, enabling you to place a breakpoint inside it. The next time that shader is scheduled, it will stop, allowing inspection of its behaviour.
Other recent developments that PVRStudio now offers include:
- GPU conditional breakpoint support
- Page fault capture
- Vastly improved readability of USC code and values passed to the shader.
We’ll also be demonstrating the power of PVRStudio at our booth, so do pop along to take a look.
Come to our presentation!
If you’re at GDC and you’ve already been wowed by our booth, why not come along to our presentation? On Thursday 21st March at 11.30am in Room 2011/West Hall, Omar Zohdi, one of our experienced support engineers will be showing you the best ways to profile your applications on PowerVR using PVRTune. This is a great opportunity to learn optimisation tips and tricks if you develop for PowerVR, as well as find out more about PVRTune.