How can I force Triple Buffering? (ATI)

Post » Sun May 27, 2012 8:26 pm

Hi Guys,

This game is absolutely infuriating, as soon as I fix one problem I seem to find another.

I've finally got the game working well, with VSync on but without any choppyness, but I can't for the life of me work out how to enable triple buffering, so when I go into a town and my FPS drops to maybe 50, the double buffer will force my frame rate down to 30, which is very, very annoying.

I've tried:

- Forcing it in the Catalyst Control Center (even though it's only for OpenGL).
- Forcing Triple Buffering on using Radeon Pro.
- Forcing Triple Buffering and high application detection levels using D3DOverrider.
- Manually setting a higher Flip Queue Size (which should de-facto act as a triple buffer) using Radeon Pro.

None of these work.

I'm using a Radeon 5870 with the 11.12 drivers.

Has anyone else managed to actually get Triple Buffering to work?
User avatar
mishionary
 
Posts: 3414
Joined: Tue Feb 20, 2007 6:19 am

Post » Sun May 27, 2012 6:16 pm

I may be mistaken but I believe triple buffering will have little to no effect on framerate. The fact your framerate drops in towns is because of NPCs and their hit on your CPU. Everybody, and I mean EVERYBODY takes a hit in towns because of the way TESV was developed.

CCC triple buffer is only for openGL, which is completely useless for Skyrim.

RadeonPro and D3DOverrider both do the job just fine (pick one or the other). I use D3DOverrider and can tell you it works with an ATI card.

The easiest way to tell, is D3DOverrider will make an audible 'ding' noise when you start the game, telling you it detected the DirectX application. If you hear that noise, it's working. I suspect you just have different expectations for what triple buffering actually accomplishes.
User avatar
Danny Blight
 
Posts: 3400
Joined: Wed Jun 27, 2007 11:30 am

Post » Sun May 27, 2012 10:46 pm

Thanks for the reply,

I see what you're saying, but in this instance, the frame rate dip is DEFINITELY because of a double buffer. When I don't have VSync enabled, when standing in exactly the same spot, my frame rate drops to about 45 - 50.

With VSync enabled, my frame rate drops to a perfectly solid 30 at any instance where my frame rate would have dropped below 60 with VSync disabled. This is clearly happening because the game isn't using a triple buffer.
User avatar
An Lor
 
Posts: 3439
Joined: Sun Feb 18, 2007 8:46 pm

Post » Sun May 27, 2012 8:19 pm

Do you hear the audible beep when you fire up Skyrim with D3DOverrider? Easiest way to tell as I said. Check that first. Did it beep?

If you have RadeonPro and D3DOverrider both trying to force triple buffering at the same time, I assume this may also cause issues.

EDIT: the other thing to consider is drivers, but I wouldn't go that far yet. I've used triple buffer (D3DOverrider) with 11.9 and 11.11a and both work. Not sure about 11.12. I can't see why a driver would cause this problem but hey, who knows.
User avatar
Shelby Huffman
 
Posts: 3454
Joined: Wed Aug 08, 2007 11:06 am

Post » Sun May 27, 2012 3:52 pm

Are you using the antilag DLL? That one has the effect you mentioned in some places. It could also be that stuff like the FXAA injector/ENBSeries can also interfere.
User avatar
Jessica Stokes
 
Posts: 3315
Joined: Fri Jul 28, 2006 11:01 am

Post » Mon May 28, 2012 1:00 am

Do you hear the audible beep when you fire up Skyrim with D3DOverrider? Easiest way to tell as I said. Check that first. Did it beep?

If you have RadeonPro and D3DOverrider both trying to force triple buffering at the same time, I assume this may also cause issues.

EDIT: the other thing to consider is drivers, but I wouldn't go that far yet. I've used triple buffer (D3DOverrider) with 11.9 and 11.11a and both work. Not sure about 11.12. I can't see why a driver would cause this problem but hey, who knows.

I've had a bit of a play, and it turns out that by default Skyrim does triple buffer or use a flip queue size of more than 1.

The problem here is that I'm using the borderless window launcher to run the game fullscreen windowed without a border, mainly because using VSync without running the game induces horrendous choppyness and stuttering, and disabling VSync causes the game to effectively break and exhibit plenty of extremely aggrevating bugs in the engine.

The problem here is that it appears to be impossible to force a triple buffer while running the game fullscreen borderless, as whatever I do I'm still seeing the same behaviour, and RadeonPro and D3DOverrider (which I did use separately) appear to be unable to detect the process (even though the launcher will eventually run TESV.exe) and force triple buffering (which I assume is done by hooking the system D3D9.dll or setting global flags somewhere).

It's incredibly aggrevating. As soon as I fix one bug I'm chasing another, so after discovering that running the game in windowed mode fixed the stuttering I was experiencing in full screen, I then discover that running the game windowed without a border seems to mess with the buffering options, so I drop to 30 frames as soon as I set foot into a town.
User avatar
Brooke Turner
 
Posts: 3319
Joined: Wed Nov 01, 2006 11:13 am

Post » Sun May 27, 2012 4:59 pm

Also, the reason I'm having to force VSync, is because when I disable it, this happens:

http://www.youtube.com/watch?v=kl2kGDztuRg

Apologies for the camera recorded video, but using Fraps causes my frame rate to drop, which stops the problem from occuring. Unfortunately, limiting my framerate introduces severe game logic/engine bugs, so I can't do that to fix this either.

Has anyone seen this before?
User avatar
Carys
 
Posts: 3369
Joined: Wed Aug 23, 2006 11:15 pm

Post » Sun May 27, 2012 11:50 am

That svcks man - I tried the borderless window mod myself, but not long enough to realize it wasn't compatible with triple buffering tools.

I'm surprised the game does it by default. For me there is definitely a difference when using d3doverrider vs. not in fullscreen.

Here's another option - if you're using vsync to mostly control framerates (and hence control crazy-ass physics bugs, etc.), use an FTP limiter with vsync off instead. There are 3 options I know of:

1. - Antilag/FTP limiter mod - http://skyrimnexus.com/downloads/file.php?id=34
this uses a d3d9.dll and config file to limit FPS. You can set any FPS limit (60 for example) and also enable a sort of render ahead tweak as well. I used this one for quite a while and it is great. Only downside is it is not compatible with FXAA PPI or enb series mods. If you don't use them, I recommend trying this.

2. Newest enbseries - http://enbdev.com/download_en.htm
version 9 (latest) includes a fps limit feature. Even if you don't want all the other tweaks his library includes, you can disable everything but the limiter. You may get a small FPS hit in general for using this (1-2 FPS). I've tried and works well.

3. Use an app to control FPS
I also tried Dxtory, a small utility like FRAPs that can show framerate, record video, etc. It has a framerate capper that works just fine.

My current setup to control framerate is vsync off, dxtory limiting FPS, plus a FXAA PPI for better visuals.
User avatar
Tracey Duncan
 
Posts: 3299
Joined: Wed Apr 18, 2007 9:32 am

Post » Sun May 27, 2012 1:57 pm

It svck's your having to go through all this just to play the game but at the same time don't you get at least 30 fps in towns ? I don't see the problem then as most everyone drops down in town like that, i go down to the 30's in city's also and i have been running on vanilla no mods or tweak/fixes since launch. I know people who would give their left "you know what" to be able to run the game and get no less than 30 fps. ( you know cause that's all you need is a min of 30)
User avatar
TOYA toys
 
Posts: 3455
Joined: Sat Jan 13, 2007 4:22 am

Post » Sun May 27, 2012 10:38 pm

That svcks man - I tried the borderless window mod myself, but not long enough to realize it wasn't compatible with triple buffering tools.

I'm surprised the game does it by default. For me there is definitely a difference when using d3doverrider vs. not in fullscreen.

Here's another option - if you're using vsync to mostly control framerates (and hence control crazy-ass physics bugs, etc.), use an FTP limiter with vsync off instead. There are 3 options I know of:

1. - Antilag/FTP limiter mod - http://skyrimnexus.com/downloads/file.php?id=34
this uses a d3d9.dll and config file to limit FPS. You can set any FPS limit (60 for example) and also enable a sort of render ahead tweak as well. I used this one for quite a while and it is great. Only downside is it is not compatible with FXAA PPI or enb series mods. If you don't use them, I recommend trying this.

2. Newest enbseries - http://enbdev.com/download_en.htm
version 9 (latest) includes a fps limit feature. Even if you don't want all the other tweaks his library includes, you can disable everything but the limiter. You may get a small FPS hit in general for using this (1-2 FPS). I've tried and works well.

3. Use an app to control FPS
I also tried Dxtory, a small utility like FRAPs that can show framerate, record video, etc. It has a framerate capper that works just fine.

My current setup to control framerate is vsync off, dxtory limiting FPS, plus a FXAA PPI for better visuals.

Thanks for the reply ... unfortunately I've been through this. I've tried:

- Bandicam
- Marco Ludolph's FPS Limiter
- DXTory
- Nthusim
- The D3D 'antilag' dll.

It seems that when I limit my frame rate, regardless of what I limit it TO (even if it's close to 60, which you would hope would eliminate bugs caused by the ludicrous tie between frametime and game logic), insane bugs occur.

For example:

- Scripted events not working correctly, E.G. when you're told to test your shout at High Hrothgar, the apparitions you're supposed to shout at simply don't spawn.
- Dragons don't land.
- Cells don't load correctly, so if you move too fast (E.G. riding a horse) cells are still set to 'distant' mode when you enter them, so no actors spawn and trees and textures are still set to be those for distant cells.
- Quick switching weapons/spells often causes a 5+ second delay before they become available.
- Audio playback often gets stuck, E.G. if you're riding a horse and get attacked by a pack of wolves, no sound will play, until a minute or so later when the engine will suddenly catch up and play all of the 'missing' sounds at once.

The only useful solution I can find is to limit my framerate, turn off VSync, and simply don't do any of the things that induce these bugs, which mostly involves me never using a horse to get around. If I encounter bugs in quest scripts, I often have to load the game without the limiter on just to get past them.

So I'm sort of stuck regardless of which method I use to make the game playable.
User avatar
Blessed DIVA
 
Posts: 3408
Joined: Thu Jul 13, 2006 12:09 am

Post » Sun May 27, 2012 3:05 pm

It svck's your having to go through all this just to play the game but at the same time don't you get at least 30 fps in towns ? I don't see the problem then as most everyone drops down in town like that, i go down to the 30's in city's also and i have been running on vanilla no mods or tweak/fixes since launch. I know people who would give their left "you know what" to be able to run the game and get no less than 30 fps. ( you know cause that's all you need is a min of 30)

You've got a good point, and yes, when I don't have VSync enabled my frame rate bottoms out at 45fps regardless of where I am and what I'm doing.

The issue isn't that I'm only getting 30 frames, it's more that the frame rate jumps around SIGNIFICANTLY due to this problem. For example, you'll be running at 60fps synced to VBlank, and then you'll turn around, catch a point in the render where you'd typically drop down to 55, let's say, and then you're down to 30 FPS. Move your camera a bit again and you're back to 60 FPS.

You can probably imagine that it's very offputting and deterimental to gameplay when this repeats ad-nauseum.

One solution I have though about is setting iPresentInterval to 2, which gives you a 30 frame cap, but it introduces fairly horrendous input lag simply by virtue of how long frames are going to be waiting in the flip queue.
User avatar
K J S
 
Posts: 3326
Joined: Thu Apr 05, 2007 11:50 am

Post » Mon May 28, 2012 12:50 am

That svcks man. I haven't run into any of those issues luckily.

Maybe you're best bet is to run fullscreen to allow vsync to work, and try to get around the stuttering (maybe enb dlls?)

Edit: one other option (not perfect but whatever) is to enable vsync to get rid of bugs, run windowless to remove stutter you mentioned, and limit FPS to like 40 or so rather than 60. I know it svcks if you PC can handle more but to be honest, the most important factor as you've clearly demonstrated is steady FPS.

My system has good specs other than a dated GPU so I get 45-60 fps indoors and only 28-33 outdoors. It is jarring to come from an interior cell to drop down to 30 fps when you were used to 60 for the past hour. I use dxtory to limit to 30 everywhere, and to be honest it's worth it - there is nothing wrong with 30, it's still smooth and when consistent you get immersive gameplay without stutter and fluctuations.

consistent/constant FPS at the lower limit your PC can put up is better than fluctuations of 30 frames.

If I were you, I'd run fullscreen, turn on vsync/triple buffer to get rid of game issues, and limit to 35 or 40. I know it isn't ideal but at least it's consistent and playable. If you still get stutter hopefully some of the enb libraries or other d3d9 fixes can help.
User avatar
Pants
 
Posts: 3440
Joined: Tue Jun 27, 2006 4:34 am

Post » Mon May 28, 2012 12:11 am

That svcks man. I haven't run into any of those issues luckily.

Maybe you're best bet is to run fullscreen to allow vsync to work, and try to get around the stuttering (maybe enb dlls?)

The stuttering issues when running full screen with VSync enabled seem to be most prevalent when I'm indoors, so obviously at that point my framerate without syncing to VBlank will be higher (it often exceeds 100). It's as if the engine is somehow having problems similar to choke, in that the engine (which is obviously just a modified Gamebryo, but that's another matter) appears to be having trouble dealing with so much downtime between rendering each frame.

But then again, this doesn't explain why it's not a problem when limiting the framerate with VSync off.

Something I could always test is forcibly using heavy AA and detail options to force my maximum framerate down and see if that alleviates the stuttering in any way.
User avatar
Rebekah Rebekah Nicole
 
Posts: 3477
Joined: Fri Oct 13, 2006 8:47 pm

Post » Sun May 27, 2012 6:38 pm

Yeah might work - one last suggestion - you might want to try these 2 things for the stutter which I've heard can help:

1 - set priority for TESV (or 4GB version) process to high in task manager.
2 - if you have HDMI audio drivers installed as part of Catalyst Control, disable them in control panel. This apparently makes a difference based on a few other threads I read?? Not sure why.

Anyway good luck..
User avatar
Suzy Santana
 
Posts: 3572
Joined: Fri Aug 10, 2007 12:02 am

Post » Mon May 28, 2012 1:21 am

Yeah might work - one last suggestion - you might want to try these 2 things for the stutter which I've heard can help:

1 - set priority for TESV (or 4GB version) process to high in task manager.
2 - if you have HDMI audio drivers installed as part of Catalyst Control, disable them in control panel. This apparently makes a difference based on a few other threads I read?? Not sure why.

Anyway good luck..


Thanks for the advice, unfortunately I've tried both with no improvement.

It's really dissapointing that Bethesda appear to have learnt nothing from the community improvements to their previous games through the script extenders and still seem to be making some fundamental mistakes. It's a real detriment to the gaming experience, and it's even more upsetting because the game itself is very, very good.
User avatar
phillip crookes
 
Posts: 3420
Joined: Wed Jun 27, 2007 1:39 pm

Post » Sun May 27, 2012 10:47 am

Just thought id note:
V-sync does not effect rendering. It caps the fps to watever your screens refresh rate is. (i.e. 60HZ=60FPS)
this is supposed to stop screen tearing

The flickering problem that your getting is prob the result of AA mode.
Adaptive AA is broken right now in this game for both AMD and NVIDIA TRSAA and causes invisible walls/people and other wierd glitches.
Its all over the forums if you look
Under AA mode, change the slider from Adaptive aa to? something else. Any other mode works fine.
User avatar
Barbequtie
 
Posts: 3410
Joined: Mon Jun 19, 2006 11:34 pm

Post » Sun May 27, 2012 2:17 pm

Just thought id note:
V-sync does not effect rendering. It caps the fps to watever your screens refresh rate is. (i.e. 60HZ=60FPS)
this is supposed to stop screen tearing

The flickering problem that your getting is prob the result of AA mode.
Adaptive AA is broken right now in this game for both AMD and NVIDIA TRSAA and causes invisible walls/people and other wierd glitches.
Its all over the forums if you look
Under AA mode, change the slider from Adaptive aa to? something else. Any other mode works fine.

I've seen this advice before, and I've tried all possible modes to no effect.

This problem still occurs even when I'm NOT using anti-aliasing.
User avatar
Katie Pollard
 
Posts: 3460
Joined: Thu Nov 09, 2006 11:23 pm

Post » Mon May 28, 2012 12:13 am

Just thought id note:
V-sync does not effect rendering. It caps the fps to watever your screens refresh rate is. (i.e. 60HZ=60FPS)
this is supposed to stop screen tearing
That's not what vsync does. VSync's only function is syncing framebuffer output to the monitor's vblank signal. That is, putting a new frame into the framebuffer at the same moment the monitor has finished displaying the current frame. This is what allows tear-free output. And it's not "supposed" to stop tearing; syncing to vblank *does* stop tearing.

The resulting frame cap is just a side effect of syncing to vblank. Saying that vsync's purpose is capping FPS to the monitor refresh rate is like saying that your PC's job is to produce heat. No, that's not a PCs function. That's just a side effect.
User avatar
Sarah MacLeod
 
Posts: 3422
Joined: Tue Nov 07, 2006 1:39 am

Post » Sun May 27, 2012 2:53 pm

I'm trying to enable triple buffering too. By customizing the Skyrim profile in the NVIDIA Control Panel (290.53 drivers), does switching triple buffering to 'on' not enable it?
User avatar
N Only WhiTe girl
 
Posts: 3353
Joined: Mon Oct 30, 2006 2:30 pm

Post » Sun May 27, 2012 4:49 pm

I just turned mine on in catalyst control center. I only use MSI afterburner outside of that as far as GPU programs... I don't know if it actually enabled in Skyrim or not how could one check to see?
User avatar
Zosia Cetnar
 
Posts: 3476
Joined: Thu Aug 03, 2006 6:35 am

Post » Sun May 27, 2012 9:45 am

I use RadeonPro and had no trouble enabling triple buffer and vsync. I also use the SBW launcher. My exact setup is to begin with the Nexus Mod Manager (Set to custom lauch with command "sbw"). SBW then loads all the necessary dll's like skse, scriptdragon, d3d9, etc.

In RadeonPro make sure the triple buffering is enabled in the Direct 3D tweaks section, as the game is not OpenGL. I also force the vsync from this same section and turn it off in skyrimprefs.ini. The trigger is also set to the regular TESV.exe since LAA has been officially implemented and I don't need the 4GB fix, but the SBW exe should work too. Also, under the Direct 3D tweaks enable force agressive API and see if that works. Lastly, you may want to set the launcher to steam under the "launcher" tab in RadeonPro.

I'm not sure if you already tried any of that, but just know that it works for me so it's probably something else besides these programs. The AMD 12.1 preview driver is better than 11.12 since it has all the Skyrim optimizations for your card, which were implemented in 11.11c, but weren't included in 11.12.
User avatar
Eddie Howe
 
Posts: 3448
Joined: Sat Jun 30, 2007 6:06 am


Return to V - Skyrim