What is better for GPU performance : UV Offset via script or moving multiple planes (parallax effect) ?

Hey,

I searched for this topic and found none, thats why im asking it.

Scene:

I have Background images on a 3D plane, each element is on a plane

I need to achieve parallax effect !

I have two different solutions… but need the best in Performance, GPU draw calls

1- make a script that offset the UVs of the planes ( each plane with a specific speed )

2- actually moving the planes on 1 axis with different speed…

hope this is not a tough question :stuck_out_tongue:

please advise

I’d expect moving the transform to be faster.

Unity has to tell the graphics card the transform matrix of each object it renders anyway, so it doesn’t matter if the value changes.

UV offsets on the other hand might (I don’t know) be stored in video RAM, meaning that unity has to send a special command to change the value (which it wouldn’t otherwise be sending).

Realistically though, the performance impact of this decision is going to be completely meaningless.

I find a solution but its not same effect with that maintextureoffset method.

I instantiate planes when player moves in 2d. And delete when player go far from that plane.

I made a game named Crow in googleplay you can compare the game for performance vs effect.

https://play.google.com/store/apps/details?id=com.GuYa.crow