Teemu Virolainen is a senior software engineer at Basemark, a company that develops industry-leading system performance and power consumption analysis tools that are used by leading semiconductor and OEM companies around the world such as AMD, Imagination Technologies, Intel, NVIDIA, Renesas and Qualcomm. Its world-renowned product portfolio includes Basemark Metal, Basemark ES, Basemark X, Basemark OS and Browsermark.
Your new game is ready, your framerate is at a smooth 60 fps and things look great. However, after some time, the phone heats up and you can see the battery indicator falling in front of your eyes. And you know this means your players will be annoyed as they can’t play their favorite game for more than a few minutes at a time.
Modern mobile devices are really powerful in terms of raw computational capability. However, they are generally constrained by heat dissipation and limited battery life. In short burts, our phones can do wonders, but after a longer period of time they start to suffer along with the user experience as the mobile chip begins to lower clocks in order to constrain heat output. The promised one day battery life can easily turn into mere hours.
This can be devastating especially in the emerging mobile virtual reality applications where the initial smooth operation of a game can quickly change into nausea inducing stuttering.
Therefore it makes sense to optimize a game beyond what is needed for smooth operation – even going so far as simply lowering the quality of every effect to provide the user with a longer battery life and a better experience.
What is Basemark PAT?
Basemark’s Power Assessment Tool (PAT) is an easy to use power consumption measurement tool for battery-powered devices charged through a standard a micro USB port.
You simply plug the PAT device between the phone and its charger and measure the charging voltage and current.
PAT can measure the current drain the phone uses for either charging or for running the application
In the case when the battery is full, devices generally take all the possible power they need directly from the charger. Only when their power requirements go over what the charger can supply does the phone resort to using the battery. In cases where this happens, the PAT software cleverly determines the true energy usage by measuring the battery charging period after the test. The downside of this method is that the exact time of the heightened power usage cannot be determined. However, for determining average power consumption of an application, this method works very well.
For applications that are meant to be enjoyed for a long time (possibly with the user keeping the device plugged in), it is crucial to optimize the power consumption so that a normal charger can supply all the necessary power. Otherwise the device will eventually run dry even when charging.
PAT provides an easy to use and accurate power consumption measurement solution for mobile devices
As all power used by computing in a phone is transformed into heat, the power consumption does not only determine the overall battery life, but it also impacts the thermals of the device. Thus PAT can be used to indicate both the battery life and the heating of a mobile device.
The power of example
In this example, we’re using the Basemark GPU Mobile high-end benchmark as the software of choice for our measurements. We’ve connected the PAT device to a latest generation smartphone using a PowerVR Rogue GPU.
We can toggle effects on and off individually and we’re using PAT to determine the additional power drain that a single effect produces. Before we begin, let’s see what happens when we pull out all the stops.
The example below shows what happens when we’re running the full benchmark before the phone has heated up. In this case, the power usage is so high that the phone starts taking some energy from the battery itself. Due to rendering into an offscreen render target, there are no stalls on frame changes; this is probably the best way of highlighting an extreme case of power consumption for the mobile GPU.
But the phone cannot really hold this kind of power consumption up for long due to overheating; as is evident when the test is repeated, the score eventually goes down. Even though knowing the absolute energy consumption of a test might be interesting, what really matters most to an application developer is the relative impact of various changes.
Let’s see then what is the worst case difference, this time running the test onscreen with native resolution with all effects on vs all effects off. This is a highly artificial test case as the visual quality with no effects at all goes quite low. But it does give an extreme example on what can happen and how much it indeed matters.
First we allow the device to charge fully while being connected to the PAT. Then we select a low quality mode in Basemark GPU Mobile and run the scene. The scene duration varies as benchmarks are run with a fixed number of frames, and not within a fixed amount of time.
|All effects||No effects||No SSAO|
The scene with all the bells and whistles on runs nicely at 30 frames per second. However as we can see, it consumes 4.3 watts on this mobile device. The scene with everything off runs at 60 fps and manages to use only 3 watts. A comparison of the raw total energy tells us that the actual energy used by the heavier test was 300 Joules, with a mere 103 on the low quality scene. That is 3x more energy per frame!
What about something a bit more reasonable? By removing only the SSAO (screen space ambient occlusion) effect, we’re still maintaining very good image quality but we also save around 25% of the total energy consumption during the whole run. The wattage difference in constantly running the test that does not hit vertical sync is not that large, only 5.4%, but if the fps of the SSAO off run is limited to 30 fps then we reach a number far closer to the 25%.
Naturally one cannot compare the results quite strictly like this, as every phone has things that use constant amount of power such as the display; however, the effect of the display is less than a watt (actually around 0.5 wats or a bit more depending on the brightness). If we would limit the low quality scene at 30 fps, it would drop down to less than 2 watts, giving us over double the battery life.
It is important to do these measurements in a way of a comparison, as there is an unknown base power usage from the display and other components, like the mobile data or Wi-Fi. In addition, the battery charging has an unknown (but thankfully generally small) inefficiency which is around 10% or so; however this can be higher on bad charging circuits.
Due to these unknowns, it is really hard to compare individual quantitative results across phones and generally we recommend that this should be avoided. Instead, one should perform the measurements in a way that, keeping all other things constant, tests the device with various effects turned on or off and then use only the difference in power consumption as a real data.
Naturally all of these considerations must take into account the expected use time of your product. If the user is expected to engage with your application/web page only few minutes at a time, then optimizing for power efficiency is not really worth the additional cost.
However if the user is expected to use your product for five or more minutes per average in a single session, it makes sense to invest in optimizing the final product beyond smooth rendering, helping your customers have cooler phones and enjoy longer battery life.
Pricing and availability
PAT is priced at 995 € + VAT for corporate customers. The unit includes a PAT device, desktop software for Windows PC and high-quality USB cables. Limited quantities of PAT are available immediately with broader availability in April. To order and for more information, please visit our dedicated website.