Diablo® III

VSYNC and Triple buffering


I already made a post here http://us.battle.net/d3/en/forum/topic/6246476039

After gathering information and made some test, I found the following issue :

Current issue :
When VSYNC is enabled, and If PC framerate of PC goes under 60 fps, FPS drop to 30 fps due to double buffering.

Proposed solution :
Use triple buffering when VSYNC is enabled.

How to reproduce/solve the issue (without diablo 3 source code :p) :

(from my original post)
Blizzard proposal :

Vsync: Vsync stuttering is normally caused by a machine being unable to maintain 60fps, falling behind and then alternating between 30fps and 60fps. When this is the cause, the player may want to limit the frame rate to 30fps, or reduce system and graphical settings. Ongoing optimizations by the developers will also help on this front.

Disabling VSYNC is not a suitable answer ...

From here : http://eu.battle.net/d3/en/forum/topic/4209821326?page=3

Using D3DOverrider(Riva tuner) will force Triple buffering + VSYNC => no more frame rate drops at 30 fps.

To solve this issue enable triple buffering when vsync is enable.
Why ? 1 buffer on the screen, 1 wait for VSYNC and 1 used by GPU to render next frame... quite simple ?!

Here the test I done to repoduce the issue and check the solution work. I use fraps to monitor FPS.

1°) VSYNC off
2°) I go to act 1 old ruins
3°) If I stay idle 65 fps. I put my mouse on waypoint => 58 fps. (due to glow effect) (*)
4°) I enable VSYNC in diablo
5°) idle => 60 fps, my mouse on waypoint 30 fps (double buffering issue 1 buffer on screen, 1 buffer wait for vsync => GPU cannot render)

(*) find a place where framerates goes below 60 fps.

Then I use D3DOverrider and force Triple buffering (forcing triple buffering in NVIDIA settings does not work I don't know why)

1°) VSYNC is OFF
2°) I go to act 1 old ruins
3°) If I stay idle 65 fps. I put my mouse on waypoint => 58 fps.
4°) I enable VSYNC in diablo
5°) idle => 60 fps, my mouse on waypoint 58 fps => SOLVED !

Hope it helps you to fix this issue.
Reply Quote
EDIT : Not Fixed in 1.0.5 patch ...
Edited by PouPouille#2335 on 10/18/2012 9:55 AM PDT
Reply Quote
I don't want to spam, but do you notice this issue ?

Not using triple buffering with VSYNC is a non-sense ?!

I'm not the only one to say that : http://www.tweakguides.com/Graphics_10.html

"There is still a problem with double buffering, and that is when VSync is enabled, the graphics card can often fill both buffers and then have to stop working on any new frames until the monitor indicates it is ready for a new frame for its next refresh. Only then can the graphics card clear the primary buffer, switch buffers and begin rendering the next frame in the secondary buffer. This waiting is what causes a drop in FPS when VSync is enabled"

EDIT : Drop DirectX implementation and merge OpenGL Implementation from Mac OS :p
Moreover if you use OpenGL ES your game engine will be compatible for embeded devices.
Microsoft never support DirectX for embeded device.
Edited by PouPouille#2335 on 11/6/2012 11:44 PM PST
Reply Quote
Not Fixed in 1.0.6 patch :/

Please Blizzard look at Gunny comments it works.
Reply Quote
MOBO: MSi 970A-G46
CPU: AMD FX-8120 OC @ 4.20Ghz @ 8 Cores Unparked
COOLiNG: Corsair Hydro H80 Set on Performance
GPU: 2xMSi Radeon HD 7850 Power Edition OC 2GB/GDDR5 @ CrossFireX @ AMD Catalyst 12.11 Beta11 with latest CAP2 Profile for Diablo III
MEMORY: 4x4GB = 16GB Corsair Vengeance @ 1600Mhz
DiSK: 2x120GB SSD OCZ Agility 3 @ RAiD 0 (OS iNSTALL & Diablo III)
POWER: Ultra X4 750-Watt Modular Power Supply V2 +80 Bronze
OS: Windows 8 Pro 64bits

FPS drop at 10 in Act 4 Q7......................................................................
Edited by Rampage#2441 on 12/16/2012 7:09 PM PST
Reply Quote
I just wanted to drop by and say "THANKS" because your solution actually works. :)

I've been playing the last 4-5 hours with Vsync on and forcing Triple buffering with D3DOverrider, just like you said, and the game ran smoothly, no FPS drops or frame skipping.
Reply Quote
Hell it's about time !!!

Solved and Fixed in PTR version (2.0.X)

No need anymore of D3DOverrider.

Thank you Blizzard.
Reply Quote

and sry for this late post...

my question is:

does diablo 3 support now triple buffering ? And how can i activate it ?

I use a Nvidia GTX 780ti and Windows 7
Edited by Raziel#2691 on 3/19/2014 7:04 AM PDT
Reply Quote

Please report any Code of Conduct violations, including:

Threats of violence. We take these seriously and will alert the proper authorities.

Posts containing personal information about other players. This includes physical addresses, e-mail addresses, phone numbers, and inappropriate photos and/or videos.

Harassing or discriminatory language. This will not be tolerated.

Forums Code of Conduct

Report Post # written by

Explain (256 characters max)