HBAO performance
- aufkrawall
- Topic Author
Less
More
Hello,
the performance impact of HBAO is very high even with just 7 samples and ReShade gives these warnings:
Could the performance please be improved? I like the look of this HBAO a lot.
the performance impact of HBAO is very high even with just 7 samples and ReShade gives these warnings:

Could the performance please be improved? I like the look of this HBAO a lot.
Please Log in or Create an account to join the conversation.
- Marty McFly
Less
More
That's what I like: different compiler warnings on different targets. That is the first I've seen of these warnings. However HBAO is nvidia reference implementation afaik and I suppose they did all possible optimizations. Sadly HBAO needs branching so it's uber slow. I posted some screenshots of my AO shader, it looks better and is way, WAY faster than HBAO.
Please Log in or Create an account to join the conversation.
- aufkrawall
- Topic Author
Less
More
What is your AO shader? 
From the shaders that come with the framework, I'd pick the "simple" SSAO with maximum blur and a range of 50, as it works with a good performance with just 16 samples and it doesn't have any visual problems like shimmering between fine structures.

From the shaders that come with the framework, I'd pick the "simple" SSAO with maximum blur and a range of 50, as it works with a good performance with just 16 samples and it doesn't have any visual problems like shimmering between fine structures.
Please Log in or Create an account to join the conversation.
- Marty McFly
Less
More
Well my shader isn't integrated yet as I'm still working on it. But I posted some screenshots recently in the screenshots thread and on my Facebook page.
Please Log in or Create an account to join the conversation.
- aufkrawall
- Topic Author
Less
More
Looking forward to it. 
I'm still amazed by the SSAO, it looks incredible good in Crysis 1:
Values used:

I'm still amazed by the SSAO, it looks incredible good in Crysis 1:




Values used:
//
///**AMBIENTOCCLUSION**///
//
////
#define USE_AMBIENTOCCLUSION 1 //[SSAO] //-Ambient Occlusion: Enables physically incorrect shading that most newer gen games use. Multiple algorithms available.
//>Global Parameters<\\
#define AO_METHOD 1 //[1:6] //-No description given
#define AO_TEXSCALE 1.00 //[0.25:1.00] //-Scale of AO resolution, 1.0 means fullscreen. Lower resolution means less pixels to process and more performance but also less quality.
#define AO_SHARPNESS 0.5 //[0.05:2.00] //-No description given
#define AO_SHARPNESS_DETECT 2 //[1:2] //-AO must not blur over object edges. 1 : edge detection by depth (old) 2 : edge detection by normal (new). 2 is better but produces some black outlines.
#define AO_BLUR_STEPS 10 //[5:15] //-Offset count for AO smoothening. Higher means more smooth AO but also blurrier AO.
#define AO_DEBUG 0 //[0:2] //-No description given
#define AO_LUMINANCE_CONSIDERATION 1 //[0:1] //-No description given
#define AO_LUMINANCE_LOWER 0.3 //[0.0:1.0] //-No description given
#define AO_LUMINANCE_UPPER 0.6 //[0.0:1.0] //-No description given
#define AO_FADE_START 0.40 //[0.00:1.00] //-Distance from camera where AO starts to fade out. 0.0 means camera itself, 1.0 means infinite distance.
//>Global Parameters<\\
#define AO_FADE_END 0.45 //[0.00:1.00] //-Distance from camera where AO fades out completely. 0.0 means camera itself, 1.0 means infinite distance.
#define AO_ToggleKey RFX_ToggleKey //[undef] //-
//>SSAO Settings<\\
#define iSSAOSamples 16 //[16:128] //-Amount of samples. Don't set too high or shader compilation time goes through the roof.
#define fSSAOSamplingRange 150.0 //[10.0:50.0] //-SSAO sampling range. High range values might need more samples so raise both.
#define fSSAODarkeningAmount 1.1 //[0.0:5.0] //-Amount of SSAO corner darkening
#define fSSAOBrighteningAmount 0.1 //[0.0:5.0] //-Amount of SSAO edge brightening
//
Please Log in or Create an account to join the conversation.
- aufkrawall
- Topic Author
Less
More
9 years 9 months ago - 9 years 9 months ago #6
by aufkrawall
Replied by aufkrawall on topic HBAO performance
Experienced a bit further.
Crysis:
off:
Crytek SSAO:
ReShade SSAO:
Battlefield 4:
off:
ReShade SSAO:
A bit more subtle, very little artifacting in motion.
Settings:
Crysis:
off:

Crytek SSAO:

ReShade SSAO:

Battlefield 4:
off:

ReShade SSAO:

A bit more subtle, very little artifacting in motion.
Settings:
Warning: Spoiler!
////
//
///**AMBIENTOCCLUSION**///
//
////
#define USE_AMBIENTOCCLUSION 1 //[SSAO] //-Ambient Occlusion: Enables physically incorrect shading that most newer gen games use. Multiple algorithms available.
//>Global Parameters<\\
#define AO_METHOD 1 //[1:6] //-No description given
#define AO_TEXSCALE 1.00 //[0.25:1.00] //-Scale of AO resolution, 1.0 means fullscreen. Lower resolution means less pixels to process and more performance but also less quality.
#define AO_SHARPNESS 0.3 //[0.05:2.00] //-No description given
#define AO_SHARPNESS_DETECT 2 //[1:2] //-AO must not blur over object edges. 1 : edge detection by depth (old) 2 : edge detection by normal (new). 2 is better but produces some black outlines.
#define AO_BLUR_STEPS 15 //[5:15] //-Offset count for AO smoothening. Higher means more smooth AO but also blurrier AO.
#define AO_DEBUG 0 //[0:2] //-No description given
#define AO_LUMINANCE_CONSIDERATION 0 //[0:1] //-No description given
#define AO_LUMINANCE_LOWER 0.3 //[0.0:1.0] //-No description given
#define AO_LUMINANCE_UPPER 0.6 //[0.0:1.0] //-No description given
#define AO_FADE_START 0.1 //[0.00:1.00] //-Distance from camera where AO starts to fade out. 0.0 means camera itself, 1.0 means infinite distance.
//>Global Parameters<\\
#define AO_FADE_END 0.45 //[0.00:1.00] //-Distance from camera where AO fades out completely. 0.0 means camera itself, 1.0 means infinite distance.
#define AO_ToggleKey RFX_ToggleKey //[undef] //-
//>SSAO Settings<\\
#define iSSAOSamples 16 //[16:128] //-Amount of samples. Don't set too high or shader compilation time goes through the roof.
#define fSSAOSamplingRange 25.0 //[10.0:50.0] //-SSAO sampling range. High range values might need more samples so raise both.
#define fSSAODarkeningAmount 1.0 //[0.0:5.0] //-Amount of SSAO corner darkening
#define fSSAOBrighteningAmount 0.0 //[0.0:5.0] //-Amount of SSAO edge brightening
Last edit: 9 years 9 months ago by aufkrawall.
Please Log in or Create an account to join the conversation.