Hello Unity community. This is a dedicated attempt to producing World-Class visual fidelity within Unity - 2022.3.19f1* I have produced amazing visuals with Unity in HDRP. While utilizing the greater portion of tools available in the HDRP post processing package such as ray tracing, and other effects. The performance drop is fatal to any real-time mechanics. Such as vehicle physics. I managed to get a solid 55-45fps. (had to overclock my $1,000 machine to achieve that). Prior, it was running shy of 30fps inconsistently. This is a scene with just 1 Vehicle and an optimized environment for testing purposes before the attempt to integrate gameplay mechanics. It has always been a goal of mine to create World-Class visuals with unity after seeing what Natural Motion Games managed to do on mobile (CSR2) Now I have to do it better. I am just a dude without a degree with a passion for cars and games. I am clueless when it comes to optimization without obscuring the results I have produced here. Which are stunning considering I have people asking me “Is it Unreal?” Please, If there is anyone in here who can guide me into a higher framerate, I would invest for your time and mutual dedication.
- no reflection probes
- ray traced everything (with capable hardware)
- Default High Quality project settings
- Built in HDRP shader graphs (Unmodified)
- Unity 2022.3.19f1*
- DX12
- Forward Rendering
- Auto_LOD
- Temporal Anti-Aliasing
I know It is not the greatest graphics you have seen. But it is the greatest graphics I will ever produce. And I know I can make it better! However, this performance drop is obscuring my dedication. I am confident my hardware is not the culprit. So lets take a look at the profiler to confirm it is the Visuals obstructing my frames.
I’m afraid to ask you what the tri count of that car is.
Post a screenshot with wireframe mode enabled
Also if your game is visually heavy, another place to see stats is the “stats” button in the game window:
The best way to see what’s killing your framerate is just disable things and see how that affects things. Disable the car and see how that affects framerate. Disable various post processing at runtime and see how that affects things.
Tons of alpha cards overlaying each other can kill framerate, could be that your trees leaves are using a transparency shader rather than a “cut out” or you could ditch transparency all together and just cut the leaves out with geo. This is just one random example of what could be slowing things down. Or even if they’re just huge alpha cards, having to many transparent cards overlaying can kill performance.
Also I’m kinda curious why you’re choosing Unity. Is cross platform your goal? I don’t generally suggest Unreal because it can be really clunky and hard for beginners. But to my knowledge it would allow for much better visuals for this sort of game and if I remember correctly they have a really nice vehicle solution that allows you to put cars together really fast. Not to mention the superior visual scripting for newcomers wanting to make their own game…
1 Like
The tri count of the vehicle is 2.5 million. However I have utilized mesh optimizers thus it has no impact on performance. If I remove the vehicle from the scene there is a minor change in frame rate. You wont believe me if I tell you but the frames go down if I remove the car.
The low performance is caused by the post processing effects.
That can sometimes make sense. It’s not always high tri counts that cause performance hits these days, but crazy high poly counts don’t always mean higher quality visuals either, often times a nice normal bake will look better than a raw mesh with high polys due to lighting in game engines. It could be that the car is obscuring multiple transparent meshes or lowering the overhead of depth of field, overlaying transparency of trees, or who knows what depending on your post processing. Those shadows look cool are they light bakes?
Your shots look nice but obviously those nice looks come with performance hits that are gonna bite you later if you push this to runtime.
You’re obviously passionate about this project so you’re likely to be stubborn about things. All we can really say is best of luck. Just keep an open mind and bear in mind that gamedev is hard, and those first gains and excitement you get exploring an engine and setting up these scenes will eventually go away if you stick with a project.
I equate learning gamedev because you like games or cars to someone wanting to work at a meat factory because they like to eat hamburgers. The more you learn about it the less glamorous it becomes!
1 Like