Are contact shadows really that important?

Discussion in 'Console Technology' started by Dr. Nick, Dec 10, 2009.

  1. zed

    zed
    Legend

    Joined:
    Dec 16, 2005
    Messages:
    6,415
    Likes Received:
    2,139
    my stuff
    the thing about SSAO its about the most expensive operation u can do
    u need depth values + ideally the normal values. ok no probs there but then u have to heaps of sample of these values, and then afterwards u have to do a couple blur passes. == a large drop in performance (+ if u want better quality like the nviodia pdf below youve gotta jump though a lot more hoops, halving your fps perhaps)

    I havent played crysis (+ couldnt find with a google any benchmarks with SSAO on/off compared)
    but did find this
    http://bbs.pczilla.net/viewthread.php?action=printable&tid=4517

    interesting the reiterate my experiences
    also see nvidia pdf here
    http://developer.nvidia.com/object/siggraph-2009.html
     
  2. homerdog

    homerdog donator of the year
    Legend Subscriber

    Joined:
    Jul 25, 2008
    Messages:
    6,294
    Likes Received:
    1,075
    Location:
    still camping with a mauler
    I'm 99.99% sure FC2 does not support SSAO..

    There actually isn't an option for SSAO in Crysis, it is turned on automatically if you set Shaders to High. On Very High the SSAO gets even purtier.

    It can be forced off via the console (r_SSAO I think), but like I said the perf hit isn't anywhere close to 30% on my GTX260 and 8800GT. I'll see about some benches when I get home. :smile:
     
  3. Neb

    Neb Iron "BEAST" Man
    Legend

    Joined:
    Mar 16, 2007
    Messages:
    8,391
    Likes Received:
    3
    Location:
    NGC2264
    Values for it to activate. Heck even on a 7900GT the perfomance penalty is around 10-15% or less.
     
  4. zed

    zed
    Legend

    Joined:
    Dec 16, 2005
    Messages:
    6,415
    Likes Received:
    2,139
    heres a screenshot of SSAO as in crysis
    http://en.wikipedia.org/wiki/File:SSAO.jpg

    first notice all pixels are darkened, also the creases from the polygons on the guys hat (thus theyre only taking into consideration depth values and not normal values) this is gonna result in a faster SSAO method but less accurate, see the nvidia pdf above which I linked to.

    esp the slides marked Ray traced AO (gelato) this is how the AO should ideally look like.

    Another reason perhaps why theres only a 10-15% hit with crysis is
    A/ Ive heard it brings most cards to their knees that I assume theyre doing a lot of post processing there, so much so that adding another expensive operation aint gonna bring the FPS down to much percentage wise, now if the game ran fast adding an expensive operation eg 5-10msec is gonna be like hitting a brick wall
     
  5. Neb

    Neb Iron "BEAST" Man
    Legend

    Joined:
    Mar 16, 2007
    Messages:
    8,391
    Likes Received:
    3
    Location:
    NGC2264
    Dunno if their SSAO is the same as that image is really old and not from final game nor even near that date. Though results ingame are excellent as evident in the game.

    But even disabling AA, reducing res, disabling different post-process features it still hovers around 5-10% perfomance impact for highest SSAO quality. Was about same with CE3 assimilation config going over 100fps (DF).

    But even if as you said and doing very high settings you end up losing a couple of frames and still being well above 30fps on moderate systems. In that case the tradeoff in perfomance is still small as in SSAO on/off for gained visual IQ!
     
    #25 Neb, Dec 15, 2009
    Last edited by a moderator: Dec 15, 2009
  6. L. Scofield

    Veteran

    Joined:
    Mar 28, 2007
    Messages:
    2,559
    Likes Received:
    323
    CE3 will use SSAO for normals as well

    [​IMG]
     
  7. homerdog

    homerdog donator of the year
    Legend Subscriber

    Joined:
    Jul 25, 2008
    Messages:
    6,294
    Likes Received:
    1,075
    Location:
    still camping with a mauler
    I believe they're extending SSAO to support normals in CE3, can't recall but they may already be doing it in Warhead.

    I think they already had the buffers they needed for doing other stuff, so they just reused them to do SSAO calculations. They do the occlusion calculations on an aggressively downscaled z-buffer which is said to speed things up a lot. But I suspect you know more about this stuff than I do :razz:

    btw a 5-10 ms calculation would bring fps down more % wise if framerate is already low... perhaps I misunderstood :???:
     
  8. Neb

    Neb Iron "BEAST" Man
    Legend

    Joined:
    Mar 16, 2007
    Messages:
    8,391
    Likes Received:
    3
    Location:
    NGC2264
    One could test by turning SSAO downscaling off.

    r_SSAO_downscale_result_mask=0 (default setting)
    r_SSAO_downscale_ztarget=1 (default setting)

    Dunno r_SSAO_downscale_ztarget 0 seem to impact perfomance very slightly (0.5-1fps, 65 vs 64.5fps/55 vs 54fps, v.h). However a slight visual difference is noticable when swtiching off for the better as in smoother SSAO. To test it out correctly apply excessive SSAO by r_SSAO_amount and put some high number and put your weapon against a surface say inside a house. :eek:

    EDIT: Dang keeping this off, improved SSAO for almost no perfomance cost! :happy2:
     
    #28 Neb, Dec 16, 2009
    Last edited by a moderator: Dec 16, 2009
  9. zed

    zed
    Legend

    Joined:
    Dec 16, 2005
    Messages:
    6,415
    Likes Received:
    2,139
    no its the opposite
    if the framerate is low a X amount of time is going to affect the game less percentage wise
    conversely if the framerate is high its gonna affect it more (*)

    Crysis is one of the games that cards struggle with, Ive heard its a game that can bring even beefy cards to their knees (thus its gonna be affected less percentagewise than most games)

    (*)example is perhaps easier to understand

    game A runs at 100fps, thus 10hz,
    game B runs at 30fps, thus 33hz,

    say SSAO adds 5msec
    game A now runs at 66fps -> 100fps->66fps
    game B now runs at 26fps -> 30fps->26fps

    SSAO is the same cost per game (provided they use the same methods/screenmsize) i.e. its not dependant on the shaders/polygon numbers/amount of objects drawn etc
     
  10. TheWretched

    Regular

    Joined:
    Oct 7, 2008
    Messages:
    830
    Likes Received:
    23
    10Hz = 10fps
    33Hz = 33fps
    and so on...

    you mean 100fps = 10ms per frame and 30fps = 33ms per Frame.
     
  11. Neb

    Neb Iron "BEAST" Man
    Legend

    Joined:
    Mar 16, 2007
    Messages:
    8,391
    Likes Received:
    3
    Location:
    NGC2264
    SSAO on.
    [​IMG]

    SSAO off.
    [​IMG]

    SSAO on.
    [​IMG]

    SSAO off.
    [​IMG]

    (DX10 very high base +30-40% load increase by u.cfg, 4890, E8400).
     
  12. homerdog

    homerdog donator of the year
    Legend Subscriber

    Joined:
    Jul 25, 2008
    Messages:
    6,294
    Likes Received:
    1,075
    Location:
    still camping with a mauler
    Ahh this makes sense. Thanks :smile:
     
  13. zed

    zed
    Legend

    Joined:
    Dec 16, 2005
    Messages:
    6,415
    Likes Received:
    2,139
    yes I mistyped hz for ms some reason

    But basically u get the idea a slow update game (like crysis) is affected far less from a fixed cost operation (like SSAO) than a faster game
     
  14. PhilB

    Regular

    Joined:
    Nov 18, 2008
    Messages:
    659
    Likes Received:
    0
    I thought STALKER CoP was kind of interesting with it's various SSAO modes. It uses the new HDAO, NV's HBAO, and their own implementation.

    For HDAO at the highest setting on average it took about 33ms (or slightly more). It usually halved my frame rate and while it made the bump maps really stick out and look great, it wasn't too good for actual occlusion between objects. I hear DX11 takes some strain off but for me (DX10) it just wasn't worth it.

    Their default implementation usually took about 8 to 9ms. The game for me barely runs at over 30fps as is so this was still too much, though more bareable than the HDAO. Besides that it doesn't look good really at all (very splottchy and unfiltered looking).

    HBAO was actually the most interesting. On average it took about 3 to 4ms, looks a lot better than default (one of the best looking implementations I've seen) and is the fastest. Can't beat that.

    Of course I only run at 1440x900 (GTX 260) but if a game can get good results like HBAO at a resonable cost (say 10 to 15) then I'd definitely say it's worth it - does great for IQ, in my opinion.
     
  15. Dr. Nick

    Regular

    Joined:
    Jul 30, 2005
    Messages:
    854
    Likes Received:
    140
    http://www.youtube.com/watch?v=bhEtp6r92eI&feature=player_embedded#

    Now I know the AO is a bit exaggerated in this game but it fits what I was asking about earlier so well. In many games the image breaks for me as soon as I see the characters feet or the bottom of certain objects. The shown in this video does a good job of showing contact more so than just normal shadow projections IMO.
     
  16. PeterT

    Regular

    Joined:
    May 14, 2002
    Messages:
    702
    Likes Received:
    14
    Location:
    Austria
    Contact shadows seem particularly important to establish object locations in 3D space (to stop "floating"), but recently when playing with 3D vision I noticed that this problem disappears completely -- for obvious reasons. Which is a good thing, since like many screen-space postprocessing methods SSAO can cause flickering issues in stereoscopic 3D.
     
  17. Shifty Geezer

    Shifty Geezer uber-Troll!
    Moderator Legend

    Joined:
    Dec 7, 2004
    Messages:
    44,104
    Likes Received:
    16,896
    Location:
    Under my bridge
    Oh no! SSAO has made some great illumination contributions so far. Removing it for 3D seems a backwards step to me, creating unconvincingly lit 3D worlds. Uncharted 2 without it's SSAO wouldn't look a patch on the beauty ND achieved.
     
  18. sebbbi

    Veteran

    Joined:
    Nov 14, 2007
    Messages:
    2,924
    Likes Received:
    5,296
    Location:
    Helsinki, Finland
    My personal opinion is that contact shadows are actually more important for gameplay than long distance shadows. Contact shadows give really important clues to the brain to quickly determine 3d positions of each object.

    No worries. Screen space ambient occlusion is not the only way to do ambient occlusion. SSAO has many flaws. But it is good enough for current visual standards. The flickering is not the only problem in SSAO with stereo rendering. You have to do the SSAO post process for both eyes separately and this doubles the performance hit (unless you use some kind of projection system). For stereo 3d it would be likely better to have the ambient occlusion factor stored somehow in the surface material itself (for example in baked lightmaps or in virtual texture).
     
  19. Shifty Geezer

    Shifty Geezer uber-Troll!
    Moderator Legend

    Joined:
    Dec 7, 2004
    Messages:
    44,104
    Likes Received:
    16,896
    Location:
    Under my bridge
    For static AO, sure. Dynamic shadowing on, and with, characters has seen a considerable improvement with the introduction of SSAO though, and outside of stylised renderers, I'd rather dynamic illumination push forwards.
     
  20. PeterT

    Regular

    Joined:
    May 14, 2002
    Messages:
    702
    Likes Received:
    14
    Location:
    Austria
    I'm not arguing for the removal of ambient occlusion! I like it as well. It will just be required to replicate the effect in a way that works with stereoscopic 3D (maybe with a larger performance hit -- hardware "overprovisioning" is something you have to live with as an early adopter ;)). What I wanted to point out is that the important gameplay aspect of contact shadows becomes irrelevant in 3D gaming. (And for now, when I regrettably have to choose between SSAO and headache-free 3D, I clearly choose the latter -- the overall impact on immersion and visual quality is much higher in my experience)
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...