Home Unreal Engine

Optimization for VR PC project tips?

polycounter lvl 7
Offline / Send Message
salimmatta polycounter lvl 7
Hey guys,

I know that's a big question concerning an overall optimization for a VR PC project, and I know it needs time in order to get it done. But I would really like to know from people who previously had this experience.

What should I take into consideration when optimizing a VR game for PC regarding art assets and VFX using Unreal Engine4?

Many thanks,
Salim

Replies

  • PatrickSF
    Options
    Offline / Send Message
    PatrickSF triangle
    UE4 has some great ways of breaking down the resources used on a map, whatever you do, look into checking that stuff out to see where you are taking the most fps hits and then adjust that aspect acordingly.

    You can set LODs and cull specific objects/rooms away from our outside of the player's view for example. Watch out for shader complexity, what a normal game can usually handle, a VR game will sometimes choke on.
  • salimmatta
    Options
    Offline / Send Message
    salimmatta polycounter lvl 7
    PatrickSF said:
    UE4 has some great ways of breaking down the resources used on a map, whatever you do, look into checking that stuff out to see where you are taking the most fps hits and then adjust that aspect acordingly.

    You can set LODs and cull specific objects/rooms away from our outside of the player's view for example. Watch out for shader complexity, what a normal game can usually handle, a VR game will sometimes choke on

    Hey Patrick,

    Thanks for your feedback, much appreciated. Besides, where I need to be careful when it comes for shader complexity? (concerning calculations)
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    Material performance normally depends on the complexity of the math involved, amount of texture lookups, and screen space covered by the given material. Materials that uses a lot of texture samples are slow. Looping materials (parallax, noise, etc) are slow. Realtime noise is extremely slow, especially multi layer ones. Unlit translucency isn't that horrible, but the lit one is again, very slow. Materials with a bunch of layers are slow, because they are technically multiple materials combined into one so you  have the price of each of them.  

    Taken screen space also plays a part of this. When you have an expensive material, and you make it covering the whole screen by going closer to it, you can notice that the performance decreases, and it improves as you go further (it takes less screen space).
  • salimmatta
    Options
    Offline / Send Message
    salimmatta polycounter lvl 7
    Obscura said:
    Material performance normally depends on the complexity of the math involved, amount of texture lookups, and screen space covered by the given material. Materials that uses a lot of texture samples are slow. Looping materials (parallax, noise, etc) are slow. Realtime noise is extremely slow, especially multi layer ones. Unlit translucency isn't that horrible, but the lit one is again, very slow. Materials with a bunch of layers are slow, because they are technically multiple materials combined into one so you  have the price of each of them.  

    Taken screen space also plays a part of this. When you have an expensive material, and you make it covering the whole screen by going closer to it, you can notice that the performance decreases, and it improves as you go further (it takes less screen space).
    Thanks a lot Obscura for your tips. Any idea if using too much emission (like a neon city) is expensive?
  • Obscura
    Options
    Offline / Send Message
    Obscura grand marshal polycounter
    No that should not cause any issue, thats a generic material property, it is calculated for each drawcalls, per pixel, even if you are not using it. Thats kinda how a deferred renderer would work, I'd say so... A material might just not any emission. In that case its zero.

    - Complexity of the math of the emissive could be considered though, but I would assume you just multiply a color/value by a mask, or some simple animation. Like sines and whatnot.
  • poopipe
    Options
    Offline / Send Message
    poopipe grand marshal polycounter
    I'm finding that on 4.17/18 most of the problems that were present last time I did a ue4 vr project are gone. TAA, FXAA, bloom and reflection /refraction issues seem to be mostly solved - they were awful around the 4.12 - 14 mark

    Epic put up a video about the art process on robo recall that has specs in it - that'd be a good place to start.
    I'm pretty sure robo recall was done on the forward renderer though so be aware that things will be a little different if you choose to use the deferred one. 

Sign In or Register to comment.