choppy panner texture in VR quest 2/ pico

Hi, I’m encountering this issue in which, texture panner starts moving fine, but after 15 seconds, it slows down and becomes laggy and choppy.
the longer the time , the choppier it gets.
has anyone got same issue on Quest 2 / pico neo4 ?
any clue would be more than appreciated! thanks

Hey there @Hexaylon! Welcome back to the community! How’s performance for the rest of the engine at this time? For the most part panners are relatively performant, so I’m thinking it’s got something to do with the mobile specs of the Q2 or Pico being detected, though usually that would cause distortion the entire time.

Does it still do this when fully focused with the HMD? (to rule out directional culling weirdness)

the weird thing is, it moves fine at the beginning, slowly start to get choppy.
Overall frame rate is not dropping.
and direction of the headset view does not affect it.

I’ll try to replicate it with my Q2 when I get up tomorrow and see if I can. It sounds like it doesn’t believe it’s in view frustrum and going into low accuracy, but I didn’t think that’d apply to panners. Does it also do it on say a basic cube? The reason I ask is because if it’s bounds based that could be it if you’re using it for water and a plane with questionable bounds. (though that’s unlikely).

What version are you working with? 5.1?

I’m having a little bit of trouble reproducing the issue. I can’t get any choppiness. My current RHI is DX12 but not getting the issue in Vulkan or DX11 either. Is it only in HMD or is the display window showing it as well?

thanks for the respond!


it happens on a basic strip of polygons as well. see images of the arrow. not sure if that has anything to do with the bounds. working with UE4.27.2 .
vulkan is off. On pc inside UE editor viewport it works fine, but on the headset, choppiness gradually kicks in.

Do you think it has anything to do with large texture on other staticmeshes in the scene? Maybe they took too much resources?

Hi there @Hexaylon. Hope you’re well!

This topic has been moved from International to Programming & Scripting: Blueprint.

When posting, please review the categories to ensure your topic is posted in the most relevant space.

Thanks and happy developing! :slight_smile:

I don’t believe it’s too many resources, as your framerate would take the hit as well. You’d eventually get the RHI warnings as well in most cases. You’re free to run some profiling on it if you’d like though, if we’re lucky it might bring some insight.

Are you using Instanced Stereo? Located at Engine > Rendering > VR
image

With/Without it can bring some unintended consequences, while I couldn’t replicate it either way.

How about Mobile Multiview?
image

Can you also test it with other types of materials, ie opaque?

Hi SupportiveEntity,
with Mobile Multi-view on, the issue remains the same.
please see video here. begin smooth, around 52s, clearly slow.near the end, much worse.

I changed material to opaque and unlit.
On a almost empty scene with a few cards .
The arrow texture is 1k png, don’t think that has anything to do with it.

not sure what to look into. Please help

Hi all,

Thanks for the video. This is an interesting problem.

What version of the Engine are you using?

You said the arrow texture is 1k, as in 1000 x 1000? That’s a reasonable size, but the first thing I would try is making that arrow texture a ‘power of two’ (1024x1024).

It also looks like you’ve got some ‘Power’ nodes in your material graph. Does it still happen if it’s just the Texure Sample / Panner / TextureCoordinate chain plugged into emissive output?

Hi Astrotronic,
we are using UE 4.27.2
the texture is 1024 indeed


and there is actually no power node on this simple arrow

It is quite a big issue for us, because we are using moving texture to fake a lot of moving visuals.
in fact, when using Rotator node (say, a moving nebula),


we encoutered the same laggy issue.
so maybe there is more behind the panner node itself happening?

Thanks for the extra info,

I did a google search for ‘unreal engine android panner’ and came across this thread which mentions adding extra ‘customized UV channels’ to the Material (Click on the ‘Result’ node in the material to see these options).

Also in this Mobile Materials Doc The Solution listed for "Material Animation with Time Expressions looks choppy but framerate is good elsewhere." says Make sure the Period property is enabled in the Time expression along with a Period. This will move the computation to the CPU and run at full-precision instead of half.

Plus in the Material there is an option “Mobile → Use Full Precision”. (Try this first)

Please let us know if/which one of these 3 methods fixes it for you.

PS, I’m moving this from ‘Programming & Scripting’ to the ‘XR’ section.

2 Likes

full precision did the trick.
Thank you so much, Astrotronic!

3 Likes