curious about occlusion culling optimization
IronHorse
Developer, QA Manager, Technical Support & contributor Join Date: 2010-05-08 Member: 71669Members, Super Administrators, Forum Admins, Forum Moderators, NS2 Developer, NS2 Playtester, Squad Five Blue, Subnautica Playtester, Subnautica PT Lead, Pistachionauts
just curious if the occlusion culling optimizations that have started have anything to do with the change in draw calls over 1500 causing serious drops in FPS?
i noticed that staring at a room that calls over 1500 , you will maintain a steady fps. but if you run back and forth spinning your screen around (like, say, to kill a skulk) the draw calls can spike from 150 to 2300, and as a result of such vast differences, the framerate can drop to 15 fps temporarily etc, whereas a static environment with 150 drawcalls can reach a fluid 60 fps without a hitch and a static environment with 1600 draw calls standing still can maintain 30 to 40 fps etc.
basically, i am just wondering if Max or any other programmers could provide any details on what occlusion culling optimizations are being done and if they are related to the situation listed above?
thanks! and keep up the awesome job, guys
i7 920 @ 3.2 ghz w/ corsair watercooling
geforce 295 gtx
intel ssd
6 gb corsair ddr3 @1800 mhz
asus p6x58d
i noticed that staring at a room that calls over 1500 , you will maintain a steady fps. but if you run back and forth spinning your screen around (like, say, to kill a skulk) the draw calls can spike from 150 to 2300, and as a result of such vast differences, the framerate can drop to 15 fps temporarily etc, whereas a static environment with 150 drawcalls can reach a fluid 60 fps without a hitch and a static environment with 1600 draw calls standing still can maintain 30 to 40 fps etc.
basically, i am just wondering if Max or any other programmers could provide any details on what occlusion culling optimizations are being done and if they are related to the situation listed above?
thanks! and keep up the awesome job, guys
i7 920 @ 3.2 ghz w/ corsair watercooling
geforce 295 gtx
intel ssd
6 gb corsair ddr3 @1800 mhz
asus p6x58d
Comments
About AA... will it be implemented in the game? I'm not very good at these things but as far as I understand, AA and deferred rendering don't get along very well. Or do they? Just an assumption I made since SC2 also uses this and it lacks AA as well. Forcing AA through CCC or nVidias control center usually drops performance like crazy in that game.
Yes, the new occlusion culling system I'm working on should make the frame rate more stable (and hopefully higher as well). I don't have enough finished to get any results yet though.
<!--quoteo(post=1843024:date=Apr 28 2011, 01:29 PM:name=BitPon)--><div class='quotetop'>QUOTE (BitPon @ Apr 28 2011, 01:29 PM) <a href="index.php?act=findpost&pid=1843024"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->About AA... will it be implemented in the game? I'm not very good at these things but as far as I understand, AA and deferred rendering don't get along very well. Or do they? Just an assumption I made since SC2 also uses this and it lacks AA as well. Forcing AA through CCC or nVidias control center usually drops performance like crazy in that game.<!--QuoteEnd--></div><!--QuoteEEnd-->
It's true that the MSAA supported by graphics cards doesn't work with deferred rendering. A modification to deferred rendering -- inferred rendering -- allows for some degree of AA and other techniques like MLAA are becoming quite popular. I'll implement an AA solution at some point before we release.
Yay, this effect ironhorse describes is the one that bothers me most regarding performance and is quite noticeable, really making minimum fps pay a dear price. I notice it even without moving but just with rotating the view around.
My question is that if you have fade blink that teleports him (or even leaping skulks) and you must redo the occlusion culling calculations for the new position because it's so far away from the old one(or similarly if you do a 180 in your view), what do you do? Will the new optimization affect these situations or does it just improve the way the culling data is stored in memory so it doesn't have to be recalculated within a small range of player positions/viewangles?
Thanks for the response, Max!
this is why i would pay double for this game - nothing like community questions being answered by the engine programmer directly.
I'll be stalking - er - ..... watching.. the progress page and your personal twitter for updates on this. :)