• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

No Triple Buffering?

Freezy

Grizzled Veteran
Aug 6, 2010
273
37
hey, i recently enabled V-Sync in RO2 and it seems it is only double-buffered, so if my system can't maintain 60 fps it directly drops to 30 fps, which makes the input rather "gooey".

is there a way to enable Triple Buffering in RO2? i did not find a line in the .inis that looked related to it.
 
v-sync fixes the screen-tearing, that's why it's nice to have, but only if it's triple buffered, because it will introduce inputlag otherwise.

i disabled it after i noticed the double buffering, but if TWI would add triple buffering we would have the best of both worlds, no inputlag AND no screen-tearing.
 
Upvote 0
OneFrameThreadLag is enabled, this doesn't prevent frames dropping directly to 30 when my machine can't maintain a steady 60 fps.

forcing triple buffering with the ccc works only for OpenGL and RO2 is a DirectX9 game, so it'll do nothing for it.

just type "stat fps" in the console and you will see your framerate just jumps between 30 fps and 60 fps.

v-sync off for me until TWI implements triple-buffering, even Trine 2 uses it and that's an indie-game with a far smaller budget compared to RO2.

but thanks for your suggestions :)
 
Upvote 0
v-sync + double buffering = slight inputlag, only 60/n (n={1,2,3,4,5,6,7...}) fps possible (60fps , 30 fps, 20 fps, 15 fps)
CURRENT method used by RO2

v-sync + triple buffering = no inputlag, every fps possible (60 fps, 59 fps, 58 fps, 57 fps, 56 fps, 55 fps, 54 fps, 53 fps, 52 fps, 51 fps, 50 fps, 49 fps,.........)
method RO2 SHOULD use for best experience

further reading for understanding:

Triple Buffering: Why We Love It http://www.anandtech.com/show/2794[url]http://www.anandtech.com/show/2794[/URL]
 
Upvote 0
my settings are all at medium except textures@ultra and occlusion quality@normal. Anti-Aliasing, Motion Blur, Bloom, Light Shafts and Ambient Occlusion are disabled.

seeing the framecounter show for example 47 fps is a problem with how the counter works, it takes the number of frames over a short amount of times and divides it by the time, but the renderer will just jump between 30 fps and 60 fps multiple times a second.

60 fps means one frame is rendered every 16.7 ms
30 fps means one frame is rendered every 33.3 ms

if in one second every even frame gets rendered in 16.7 ms and every odd frame in 33.3 ms, stat fps would show 45 fps.

you can try this by standing in a spot where your fps drop well below 60 and stand there for about 5~10 seconds, then the framecounter will settle for 30 fps.


hopefully after christmas we'll get a dev to answer this for good.
 
Upvote 0
you can try this by standing in a spot where your fps drop well below 60 and stand there for about 5~10 seconds, then the framecounter will settle for 30 fps.

I've put in a triple buffering implementation for testing, but I cannot reproduce the frame rate dip behavior. Since you can replicate this issue, would you be willing to test it out (it will be out in the next patch or the one after that) and let us know if it is working correctly. If all goes well, we'll announce it in the subsequent patch. I'll let you know how to enable it once the patch containing this change goes out.
 
  • Like
Reactions: Nik21
Upvote 0