cancel
Showing results for 
Search instead for 
Did you mean: 

Vertical tearing with Android N, not with Android 6.

Norman3D
Expert Protege
Hi guys,

I'm having trouble. Our game runs perfectly fine on S6 and S7 with Android 6. As soon as we update our S7 to Android N the game starts getting "vertical tearing" like described in this thread:
https://forums.oculus.com/community/discussion/50589/oculus-home-graphic-problem-and-other-apps#late...

Also note how in that thread an Oculus staff member claimed just 2 weeks ago to believe that Android N is still not supported by GearVR. Is this still true? Even with the S8 being released? Is this entire issue something we should worry about? We don't even know what causes it or if there is anything we can even do on our end to fix it.

Here is a reddit thread of people complaining about this specific issue as well:
https://www.reddit.com/r/GearVR/comments/5z0xpp/did_samsung_throttle_cpu_performance_for_gear_vr/

So yeah, any info or help would be appreciated!
39 REPLIES 39

Norman3D
Expert Protege

Leemon89 said:

Any news here?


Yes, sorry I forgot to update this.
The problem (in my specific case) seems that even though I'm hitting 60fps on Android 7 Samsung S7 the prediction time is sitting at 51ms instead of 49ms.
The only explanation, but Oculus engineers have not been able to confirm, is that there is something wrong with the drivers of the GPU that Android 7 has. And it's adding some type of cost to the GPU that is causing the prediction time to be longer. This is the only explanation as the content (my game) is exactly the same between OS versions. Android 7 is clearly adding an overhead.
Because the prediction time is 2ms longer, it is my understanding that the frame arrives late and so tearing occurs.
My workaround unfortunately has consisted in halving the pixel shader costs brutally. I now have only occasional tearing but with the same shader quality than a Samsung S6 could handle.
Even though a Samsung S7 with Android 6 could handle higher quality shaders we decided to leave this feature exclusive to S8 phones (and higher whenever they get released).

TLDR: It seems that FPS are at 60 but prediction time is higher. Possibly due to faulty driver in Android 7. No fix in sight unless Android/Samsung release a OS update that fixes it. Solution: Optimize pixel shaders a lot.

Leemon89
Explorer
@imperativity

Thank you! I'll try that.

@Norman3D

Thank you, Sir! Are you working on UE4? If so, would you be so kind and share shader complexity figures? And what software are you using to test performance? I wonder how I could find prediction time in my case.
Edit: are you using OpenGL ES 2.0 or 3.1?

Norman3D
Expert Protege

Leemon89 said:

@imperativity

Thank you! I'll try that.

@Norman3D

Thank you, Sir! Are you working on UE4? If so, would you be so kind and share shader complexity figures? And what software are you using to test performance? I wonder how I could find prediction time in my case.
Edit: are you using OpenGL ES 2.0 or 3.1?


I am using Unreal 4 and OpenGL ES 3.1. Even though the performance tests were done by Oculus when they were looking into the issue, I believe they used "Oculus Remote Monitor"
Regarding the shader complexity it was an average of 39 instructions including lightmap. The high quality profile shader that used to run on S7 and now only runs on S8 has 79 instructions. (That version uses normal maps and parallax corrected cubemaps)
Here is a link of the finished game, the footage you see is with the high quality profile:
https://www.youtube.com/watch?v=U9qT_2NJbbQ

Anonymous
Not applicable

Norman3D said:


Here is a link of the finished game, the footage you see is with the high quality profile:
https://www.youtube.com/watch?v=U9qT_2NJbbQ


Great stuff! Would love to ask some unreal related questions for tips on how you achieved such a great looking product!
  • Are you using mobile HDR on or off?
  • Are your materials lit or unlit?
  • How did you achieve the reflections?
  • How did you get your textures/materials so crisp looking? at what size do you recommend for the textures and any specific material trick?
Many thanks for sharing the information! 🙂

Norman3D
Expert Protege



Norman3D said:


Here is a link of the finished game, the footage you see is with the high quality profile:
https://www.youtube.com/watch?v=U9qT_2NJbbQ


Great stuff! Would love to ask some unreal related questions for tips on how you achieved such a great looking product!
  • Are you using mobile HDR on or off?
  • Are your materials lit or unlit?
  • How did you achieve the reflections?
  • How did you get your textures/materials so crisp looking? at what size do you recommend for the textures and any specific material trick?
Many thanks for sharing the information! 🙂


I plan on making a blog post going into a lot of detail. But to answer quickly

mobile HDR off

Materials are 100% unlit, lighting is rendered in 3dsmax with vray.

Reflections are cubemaps rendered in the editor. I'm using OpenGLES 3.0 since I can use cubemap mip maps and plug in a roughness texture to control the mip bias per pixel. The shader is totally unlit so I'm adding the cubemap there. I'm not relying on Unreal to do this automatically like materials usually work.

The textures look crips because they are 1024x1024, I think at times even 2048x2048 but tiled a lot. We had very limited time, the actual art production took only around 25 days for 20 levels so we knew we had to reuse the same textures over and over again and make the art awesome in other ways.

I'll be writhing a blog post at some point detailing all of it. I think a lot could be done better in regards to how Unreal does things in terms of mobile shaders, lighting and FX.

drash
Heroic Explorer

Norman3D said:
Here is a link of the finished game, the footage you see is with the high quality profile:
https://www.youtube.com/watch?v=U9qT_2NJbbQ


Is this game out yet?  I don't see it on the store yet.   Looks great!
  • Titans of Space PLUS for Quest is now available on DrashVR.com

Norman3D
Expert Protege

drash said:


Norman3D said:
Here is a link of the finished game, the footage you see is with the high quality profile:
https://www.youtube.com/watch?v=U9qT_2NJbbQ


Is this game out yet?  I don't see it on the store yet.   Looks great!


Yes it is! Go to top selling it's usually between the first 20 or so. It doesn't pop up under "just released" because Oculus changed that list so that it isn't sorted by release date anymore, instead it's listed by "suggested" so for some reason that makes the game disappear from that list, essentially. Also you can follow the link on the trailer's description 🙂

Leemon89
Explorer
@Norman3D
Big thanks for the info! Looking forward to read your blogpost. Couple more questions pls: what are drawcalls and tris count?

Norman3D
Expert Protege

Leemon89 said:

@Norman3D
Big thanks for the info! Looking forward to read your blogpost. Couple more questions pls: what are drawcalls and tris count?



The draw call varies greatly depending on how complex the level is. The most complex level has: 89 draw calls and a bit over 50.000 triangles.
But typically the draw call count and triangle count is much lower do to the architectural simplicity of the levels. I'm talking about 30 draw calls 5000 triangles

Leemon89
Explorer
Are those figures mono- or stereo- (x2)? I've also watched trailer of your game - looks very crisp! Looking forward to buy it and try. BTW are you targeting Galaxy S6 (I'm working on one)? How does it performs?