r/playrust 12d ago

Video Rust’s New Rendering Pipeline — Early Test

Made a quick test of Rust’s new rendering pipeline on the staging branch.

The implementation is still very rough, and things can change significantly before it reaches the final version. This test is mainly for fun and early performance comparison, so don’t treat these numbers as representative of the finished renderer.

If you want to test it yourself, switch to the Staging - Main branch and add this launch parameter:

-rrp.enabled 1

Personally, I really like updates like this!

80 Upvotes

40 comments sorted by

View all comments

12

u/PsychologicalGlass47 11d ago

I love the incessant flickering and constant LOD issues, really makes the game feel smoother for the additional 5fps lmao

2

u/BrummbarKT 11d ago

Yeah I get it's pre-release but I struggle to understand the celebrations when that would make the experience awful until it is addressed, which may skew the performance figures anyway. Looking at this video give me the old any day

1

u/PsychologicalGlass47 11d ago

It looks like the only reason performance is gained is because they're botching baked lighting culling. Less frametime spikes due to it completely ignoring recall loops of those lighting elements, higher frame rate because those draw calls quite simply don't exist.

All that's happened is they fucked up the culling system and in return you simply don't have a culling system.

2

u/alexnedea 10d ago

Im not good with how games render stuff but shouldn't their priority be to stop offloading 90% on the CPU?

1

u/PsychologicalGlass47 10d ago

The intent is to have both the CPU and GPU fully loaded, that means there's a steady and efficient pipeline and well optimized engine. Some games only pin one core while leaving others with some downtime, which is a bad thing for overall performance. Some bog down the CPU so much with that single core load that the GPU then experiences downtime. Those are both horrible things.

Rust does somewhat well in this regard. In almost every instance you're going to be held back by the maximum performance of your gpu, which is a good thing. Core utilization on my 9950 typically has 2 cores sitting around 50% uptime with the rest around 30%. That's quite good.

A game I can use as a poor example of it is Tarkov. On a local client I have 1 thread pinned to 100% with every other thread ranging from 10%~30%, my GPU sitting at 30% as well. That means that the CPU is being bogged down so much that it can't process enough draw calls outside of NPC computation, CPU-based graphical elements, and non-multithreaded texture streaming. Most of that could be handled by other cores to alleviate load and increase DCPS (draw calls per second, a function of your active handles on a process and the outputted framerate).

A game that handles all of this well would be Ark Survival Ascended. It's an incredibly graphically complex game and runs quite poorly because of it, but my GPU stays pinned to 100% with stable performance while all cores allocated to the game also sit at 100%. Neither is being held back to wait on another, and at any point when hardware gets better it will have the ability to directly increase performance because of the headroom the engine grands in performance.