Jump to content
small_optimization
 

small_optimization


klepto2
 Share


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

 Share


Recommended Comments

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
Link to comment

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
Link to comment

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
Link to comment

@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?

Link to comment

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
Link to comment

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.

Link to comment

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
Link to comment

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...