Jump to content

Basic Scene Benchmarks

Josh

197 views

I did some work optimizing the new renderer to discrete cards and came up with a new benchmark. This scene is interesting because there is not much in the scene, so the culling does not benefit much xrom multithreading, since there is so little work to do. The screen is filled with a spotlight in the foreground, and in the background a point light is visible in the distance. Both engines are running at 1280x720 resolution. This is really a pure test of deferred vs. forward lighting.

AMD R9 200

Leadwerks: 448 FPS
Turbo: 648 FPS (44% faster)

On this older AMD card we see that forward rendering automatically gives a significant boost in performance, likely due to not having to pass around a lot of big textures that are being written to.

391381548_TEMPTRASH2018-11-1410-44-11-17.thumb.jpg.4b08802969e76158d136efeb34fc2cc6.jpg

685173272_Engine2018-11-1411-07-02-48.thumb.jpg.6a65b25c42721a360ed6f348c8531430.jpg

GEForce 1070M (Laptop)

Leadwerks 4: 120 FPS
Turbo: 400 FPS (333% faster)

Here we see an even bigger performance boost. However, these are two very different cards and I don't think it's safe to say yet if one GPU vendor will get more from the new engine.

Intel Graphics 4000

Leadwerks 4: 67 FPS  (18% faster)
Turbo: 57 FPS

This is an interesting result because integrated graphics tend to struggle with pixel fillrate, but seem to have no problems with texture bandwidth since they are using regular old CPU memory for everything. Although I think the new engine will run faster on Intel graphics (especially newer CPUs) when the scene is loaded down, it seems to run a bit slower in a nearly empty scene. I think this demonstrates that if you build a renderer specifically to take advantage of one type of hardware (discrete GPUs) it will not automatically be optimal on other types of hardware with different architectures. I commented out the lighting code and the framerate shot way up, so it definitely does seem to be a function of the pixel shader, which is already about as optimized as can be.

Overall, I think the new engine will show higher relative performance the more you throw at it, but an empty scene may run a bit slower on older Intel chips since the new renderer is optimized very specifically for discrete GPUs. The parallel capabilities of discrete GPUs are relied on to handle complex lighting in a single pass, while texture bandwidth is reduced to a minimum. This is in line with the hardware trend of computing power increasing faster than memory bandwidth. This also shows that low to mid-range discrete GPUs stand to make the most gains.

  • Like 5


3 Comments


Recommended Comments

It looks like there is less geometry in the second picture. Missing a stack on the right side.

Share this comment


Link to comment
50 minutes ago, shadmar said:

It looks like there is less geometry in the second picture. Missing a stack on the right side.

Yeah, there was a culling problem I fixed. I don't think this has any effect on framerate.

  • Like 1

Share this comment


Link to comment

Hold on...brushes were not being removed after being collapsed into large models! The engine is way faster than this! :D

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Create Your Account

Sign in

Already have an account? Sign in here.

Sign In Now
×