Jump to content

small_optimization



With some finetuning of the parameter i could already double the fps and lower the rednering time. Next step: render to 0.5 scale and upscale the result. (this should make a huge difference, as pixel based operations scale with the resolution) after that i will investigate temporal reprojection (another way to optimize the rendering time).
  • Like 5

From the category:

Screenshots

· 2,447 images
  • 2,447 images
  • 443 image comments


Recommended Comments

SpiderPig

Posted

Looks great, good stuff.  Optimizing projects is the fun part. :cool:

klepto2

Posted

Implemented the downscaling: Maybe some additional AA needs to be added, but all in all it is a big performance increase.

image.thumb.png.7ec095878753870603a9b15ff28b99ab.png

  • Like 1
klepto2

Posted

and just to show something how the cloudshape can be modified by an artist or so: 

image.thumb.png.18340bfefa2b56ad5acbd0bf8ae5743a.png

  • Upvote 1
SpiderPig

Posted

Now that's cool.  So you can use masks to change the shape?

klepto2

Posted

Not directly, the clouds system is based on a weather texture, where red is used for the overall coverage of  clouds, green is used for the cloud type and blue is used for the cloud wetness.  So if you modify one of the channels it will reflect on the clud rendering. In this case i just pasted "UltraEngine" Logo directly in the red channel. Also you may notice, that currently a plain texture is used which leads to repition, i later will also support cubemaps which can then be used to create individual weather for whole planets.

  • Like 1
SpiderPig

Posted

Sounds pretty flexable.  Will it have cumulonimbus? ;)

klepto2

Posted

in theory yes,  I still need to figure out the bet weathermap format to support all of them. some systems use just the rgb and some 4 channels with the alpha map. 

  • Like 1
Josh

Posted

This looks significantly better than your last iteration.

The SSR effect uses reprojection from the previous frame. That shader code might be helpful if you need that.

It would be interesting to fetch data from a source like this and display approximate real-time weather conditions:
https://earthobservatory.nasa.gov/global-maps/MODAL2_M_CLD_FR

  • Upvote 1
klepto2

Posted

@Josh, that would be interessting. I have seen some parameters for the screen velocity, but is there already a posteffect texture i can use for that, like albeado or depth?

klepto2

Posted

ok, doubled the raysteps and reduced the raycasts per frame to 1/16 as a first step to reprojection: and this is the result (with the old raystep range (32-64) i even get around 700-800fps):

image.thumb.png.6268568d193621bd79df5a3b89663770.png

  • Like 1
  • Upvote 1
SpiderPig

Posted

Wow impressive stats!  Good job.

Josh

Posted

I have no implemented screen velocity yet, but it is planned for.

In the situations where reprojeciton can be used, it is like magic. I think this is how real-time ray tracing is usually done.

klepto2

Posted

I got a first version with reprojection working. it is not fine tuned, but in general the algo is very basic. 

This gif shows the debugging of the reprojection.

Red shows the pixels which went offscreen and needs to be rerendered as well.  In the non red area only every 16th pixel is rendered per frame, the others are reprojected from the previous frame.

 

image.thumb.gif.741f58ea5b71e903707c9083e2461157.gif

  • Like 1
  • Upvote 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...