Jump to content
  • Advertisement
Sign in to follow this  
ddengster

DX11 Recommendation for optimizing 3k rendertarget performance?

This topic is 443 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

In my render pipeline, I have a large 3k by 3k rendertarget meant for terrain splatting, and another one that uses the splatting output render the terrain's final texture. As you can guess, I'm hitting ~40 fps on my weaker laptop. What would be the best way to optimize this without lowering the resolution of my rendertargets? In essence, how do you optimize textures that need to be large?

Things I've thought about, correct me if it's likely wrong:

- Subdividing up the rendertarget into 4 quads and rendering them.

Share this post


Link to post
Share on other sites
Advertisement

You are likely bandwidth bound and splitting the render target won't solve anything.

Your options are to not render everything everyframe, can you update just a sub rectangle of your splatting ? if the texture is based on your current position, maybe do a fixed step in texel step, move the existing content and only splat the new edges.

Or use a compute shader to rasterize manually your splatting, combining everything inside a loop, to save on alpha blending and ROP bandwidth.

 

You should give us more details of what you are doing here if you want more precise options. 

Share this post


Link to post
Share on other sites

What do you actually do with this 3k texture? Do you run a single pixel shader once per frame for each of the ~10M texels, etc?

Share this post


Link to post
Share on other sites
4 minutes ago, Hodgman said:

What do you actually do with this 3k texture? Do you run a single pixel shader once per frame for each of the ~10M texels, etc?

It is true, you should also only rasterize portions of your texture that are visible !

Share this post


Link to post
Share on other sites
4 hours ago, Hodgman said:

What do you actually do with this 3k texture? Do you run a single pixel shader once per frame for each of the ~10M texels, etc?

I use a 3k rendertarget for doing terrain splatting, I update it when I do terrain changes(gameplay mechanic). Then I use another 3k rendertarget to render projective textures like crack decals on top of converting the rgb splat to the base terrain texture. I let the camera be top-down RTS/MOBA-styled isometric(and zoomable!), player controlled, so it's not stuck to any player.

Anyway, thanks for the suggestions y'all. It's probable that my laptop just can't take it and I'd have to provide better performing graphics options.

Share this post


Link to post
Share on other sites
8 minutes ago, ddengster said:

I use a 3k rendertarget for doing terrain splatting, I update it when I do terrain changes(gameplay mechanic). Then I use another 3k rendertarget to render projective textures like crack decals on top of converting the rgb splat to the base terrain texture. I let the camera be top-down RTS/MOBA-styled isometric(and zoomable!), player controlled, so it's not stuck to any player.

Anyway, thanks for the suggestions y'all. It's probable that my laptop just can't take it and I'd have to provide better performing graphics options.

I still think you have opportunities to optimize, and do caching to reach quality and performance on modest hardware, but you would have to give more details on how you compose things, AND do more in depth profiling to find where the costs are really.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!