# HSR Efficiency always at 0%

**URL:** <https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285>\
**Category:** PowerVR Insider\
**Tags:** pvrtune\
**Created:** [September 25, 2020, 1:43pm UTC](https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285 "2020-09-25T13:43:30Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![jsantos](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.imgtec.com/jsantos/32/374_2.png) [@jsantos](https://forums.imgtec.com/u/jsantos)\
**Post date:** [September 25, 2020, 1:43pm UTC](https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285/1 "2020-09-25T13:43:30Z")

</div>

I am trying to discover why my single app with two overlapped triangles has 0% HSR Efficiency (counter exposed in PVRTune). Alpha blending is disabled.

The app just clear the screen and draw two 2D triangles on the screen, no-zbuffer. Triangles are rendered on the near place (Z is set to 0 for both of them). Z operations are disabled.

Hardware is a Motorola One with a PowerVR Rogue GE8320. I know this hardware supports HSR because if I try the app linked in [this post](https://forums.imgtec.com/t/2-opaque-plane-hsr-efficiency-is-33/3020) it works.

As far as I understand after reading all the topics about this, this should work without Z-Buffer, the tag buffer supports this. So I started to made changes to be more similar to the mentioned app.

1. Just double checked alpha blending is disabled
2. Separated the two triangles in two different batches
3. Enable Z-Buffer
4. Added different z to each triangle using glPolygonOffset

But no luck, HSR is always at 0%. The .apk for testing can be downloaded at

> **[Samples.HelloWorld.apk](https://drive.google.com/file/d/1KKYbFnLc7ZjrFDdEF2Uvc9FJ5YP7ZhPC/view?usp=sharing)**
>
> Google Drive file.

Can anyone shed some light please?  
Thank you!

---

<div class="post-metadata">

**Author:** ![AlejandroC](https://avatars.discourse-cdn.com/v4/letter/a/97f17d/32.png) [@AlejandroC](https://forums.imgtec.com/u/AlejandroC)\
**Post date:** [September 28, 2020, 11:40am UTC](https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285/2 "2020-09-28T11:40:44Z")

</div>

Hi jsantos,

We’ve tested your app in a PVR Device (Acer Chromebook R13, GPU PowerVR GX6250). We were able to perform a PVR Tune record which worked fine, showing a HSR value of about 60% (see attached image).

Could you please double-check which PVR GPU your device has? I haven’t been able to find a Motorola One with PVR GPU so far (I’ve reviewed 11 different Motorola One models but all have Adreno or Mali GPU), I might have skipped some. Also if possible please provide the Android and DDK version of your device.

Best regards,  
Alejandro

 ![record](https://us1.discourse-cdn.com/flex015/uploads/imagination1/original/1X/9eec96b5afa7328a367078f892bb0b1d62562d4d.png)

---

<div class="post-metadata">

**Author:** ![jsantos](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.imgtec.com/jsantos/32/374_2.png) [@jsantos](https://forums.imgtec.com/u/jsantos)\
**Post date:** [September 28, 2020, 11:47am UTC](https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285/3 "2020-09-28T11:47:52Z")

</div>

Thanks for your reply. Effectively, it is not a Motorola One, sorry about that. It is a LG K40S with the GPU mentioned above, GE8320.

Android version is 9 (API Level 28). Regarding DDK version, I am not sure how to get that information, could you please help me?

Thanks!

---

<div class="post-metadata">

**Author:** ![AlejandroC](https://avatars.discourse-cdn.com/v4/letter/a/97f17d/32.png) [@AlejandroC](https://forums.imgtec.com/u/AlejandroC)\
**Post date:** [September 28, 2020, 3:45pm UTC](https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285/4 "2020-09-28T15:45:19Z")

</div>

Hi jsantos,

Thanks for the quick reply.

To know the DDK version, you can install the AIDA64 software for Android ([https://play.google.com/store/apps/details?id=com.finalwire.aida64&hl=en\_GB](https://play.google.com/store/apps/details?id=com.finalwire.aida64&hl=en_GB)) and copy-paste the value displayed for “Display”-\>“GPU Version”.

Also, could you please provide what PVR Tune version are you using?

Lastly, I’d ask if possible that you try a couple of 3D apps to verify if the HSR GPU value works properly for those other apps.

Best regards,  
Alejandro

---

<div class="post-metadata">

**Author:** ![jsantos](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.imgtec.com/jsantos/32/374_2.png) [@jsantos](https://forums.imgtec.com/u/jsantos)\
**Post date:** [September 28, 2020, 3:51pm UTC](https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285/5 "2020-09-28T15:51:45Z")

</div>

Hi Alejandro,

GPU Version: OpenGL ES 3.2 build 1.10@5130912  
PVRTune Version: 14.149 (Build 20.1@5740574)

Yes, as mentioned above, the application posted here:

> [@2 Opaque plane HSR Efficiency is 33%?](https://forums.imgtec.com/t/2-opaque-plane-hsr-efficiency-is-33/3020):
>
> Emmmm,I did a test recently, I was using the Unity3d engine, I made a button on the interface to generate a full-screen Opaque Plane, and every time I click, I generate one more Plane, when I connect to the PVRTune debugging on my phone, A Plane HSR Efficiency is 0%, but when I generate two Planes, the value is 33%, I wonder, because according to my understanding should not be 50%? How can I understand that?

reports correct HSR efficiency on my device.

---

<div class="post-metadata">

**Author:** ![AlejandroC](https://avatars.discourse-cdn.com/v4/letter/a/97f17d/32.png) [@AlejandroC](https://forums.imgtec.com/u/AlejandroC)\
**Post date:** [September 30, 2020, 11:57am UTC](https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285/6 "2020-09-30T11:57:36Z")

</div>

Hi jsantos,

Thanks for all the information. We’re still trying to reproduce the issue. I’ll come back to you in a few days, sorry for the late reply.

Best regards,  
Alejandro

---

<div class="post-metadata">

**Author:** ![AlejandroC](https://avatars.discourse-cdn.com/v4/letter/a/97f17d/32.png) [@AlejandroC](https://forums.imgtec.com/u/AlejandroC)\
**Post date:** [October 2, 2020, 2:10pm UTC](https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285/7 "2020-10-02T14:10:02Z")

</div>

Hi jsantos,

We were able to reproduce the issue. The Tools Team will be taking care of it. I’ll update you as soon as I’ve news.

Best regards,  
Alejandro

---

<div class="post-metadata">

**Author:** ![jsantos](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.imgtec.com/jsantos/32/374_2.png) [@jsantos](https://forums.imgtec.com/u/jsantos)\
**Post date:** [October 2, 2020, 2:34pm UTC](https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285/8 "2020-10-02T14:34:48Z")

</div>

Thank you! So the problem is in PVR Tune, not on my device?

Can I use an alternative? I am trying to download PVRMonitor for Android

> **[PVRMonitor for Android now available! - Imagination](https://www.imgtec.com/blog/pvrmonitor-for-android-now-available/)**
>
> You can now get your virtual hands on the Android version of the latest version of PVRMonitor, courtesy of the Google Play Store.

But it seems links are broken.

---

<div class="post-metadata">

**Author:** ![AlejandroC](https://avatars.discourse-cdn.com/v4/letter/a/97f17d/32.png) [@AlejandroC](https://forums.imgtec.com/u/AlejandroC)\
**Post date:** [October 2, 2020, 3:14pm UTC](https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285/9 "2020-10-02T15:14:04Z")

</div>

Hi jsantos,

PVRMonitor is currently available on GitHub including the source code ([https://github.com/powervr-graphics/PVRMonitor](https://github.com/powervr-graphics/PVRMonitor)). Unfortunately at the moment it won’t work since PVRMonitor needs to collaborate with another tool to extract GPU counter values and we’re still fixing some issues related with that other tool.

I’m sorry I cannot help you get HSR values at the moment for your device, I’ll update you about any progress in PVRTune as soon as I have news.

Best regards,  
Alejandro

---

<div class="post-metadata">

**Author:** ![jsantos](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.imgtec.com/jsantos/32/374_2.png) [@jsantos](https://forums.imgtec.com/u/jsantos)\
**Post date:** [October 2, 2020, 3:30pm UTC](https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285/10 "2020-10-02T15:30:13Z")

</div>

Thanks for your help Alejandro. I will wait for the fix in PVRTune.

I wanted to make sure about something, I don’t need to use ZBuffer to have HSR right? My first try was using two overlapped triangles, with Z=0 sent to the pixel shader and not using ZBuffer.

---

<div class="post-metadata">

**Author:** ![AlejandroC](https://avatars.discourse-cdn.com/v4/letter/a/97f17d/32.png) [@AlejandroC](https://forums.imgtec.com/u/AlejandroC)\
**Post date:** [October 5, 2020, 5:22pm UTC](https://forums.imgtec.com/t/hsr-efficiency-always-at-0/3285/11 "2020-10-05T17:22:22Z")

</div>

Hi jsantos,

You’re right, you don’t need to use a Z-Buffer for HSR to work. You can find some interesting notes about how it internally works in another forum post ([Hidden surface removal for alpha blended fragment under opaque one](https://forums.imgtec.com/t/hidden-surface-removal-for-alpha-blended-fragment-under-opaque-one/1585)).

As mentioned in my previous post, I’ll keep you updated about any progress with PVRTune regarding the issue you’re experiencing.

Best regards,  
Alejandro
