The Witness

The Witness

View Stats:
Jamalarm Jan 28, 2016 @ 11:53am
Stuttering / Frame Pacing issues
Hi Guys,

Just wondering if anyone had found a workaround for the stuttering in this game? It's relatively mild, but it's otherwise so ridiculously good looking that it's really bugging me. My specs:

i5 2500k OC to 3.5ghz
8gb DDR3
256GB SSD (contains game and OS)
MSI 980ti OC
Windows 10 64bit
Asus ROG Swift G-sync monitor

Running on High with -width and -height overrides set in launch options. Getting between 200 and 120FPS. Setting a frame cap of 120, 100 and 60 using RTSS did nothing.

And my log file:

The Witness - x64 - D3D11 - Final
Version 0.944M
Built 2016/01/23 14:35:20 from 131468
User: ------- on Machine: ---------
Init app:
Init core:
Init asset loader:
Using unbundled processed asset list
28.75 ms elapsed
30.82 ms elapsed
Init render:
OS: PlatformId 2, Version 6.2, Build 9200
D3D11: Found 1 adapter outputs.
D3D11: SDK version 7
D3D11: Adapter = 'NVIDIA GeForce GTX 980 Ti'
D3D11: Output device = '\\.\DISPLAY1'
D3D11: VendorId = 0x10DE (NVIDIA)
D3D11: DeviceId = 0x17C8
NVAPI: Driver 361.75
NVAPI: 1 attached displays, 4 unattached displays.
Render_Profile: profile_to_set is 2
Render_Profile: profile_actually_set is 2
WIN: Refresh rate = 144.00 Hz (0.01 s)
D3D11: Created D3D11 device with feature level 11.0
win32_create_window(in_windowed_mode = false)
D3D11: hwnd is 0024042c
D3D11: Dedicated Video Memory = 6192832.00 MB
D3D11: Dedicated System Memory = 0.00 MB
D3D11: Shared System Memory = 4133568.00 MB
NVAPI: 1 AFR groups.
D3D11: concurrent_resource_creation = true
D3D11: max_texture_size = 16384
D3D11: max_texture_buffer_size = 16384
Render extents = 2560 x 1440
4.47 s elapsed
Minimal initialization:
Set up shaders:
cache file operations (shaders):
2.91 ms elapsed
Set up shader flags:
266.83 ms elapsed
270.94 ms elapsed
271.32 ms elapsed
WM_DISPLAYCHANGE 2560 1440
GetClientRect: 0 0 - 2560 1440
Init catalogs:
43.00 ms elapsed
Load global assets:
94.95 ms elapsed
Init shared resources:
Allocated 512 KB for translucent vertex buffer.
Allocated 128 KB for translucent index buffer.
Loading footsteps.
6.99 ms elapsed
Init game:
CPU clock frequency: 3.300 GHz
GPU clock frequency: 1.000 GHz
Sound Caps:
NON-EMULATED driver.
dwTotalHwMemBytes: 0
dwFreeHwMemBytes: 0
dwPlayCpuOverheadSwBuffers: 0
DSBCAPS for primary buffer:
GetCurrentPosition2: NO
LocHardware: NO
Static: NO
TruePlayPosition: NO
DSBCAPS for fill buffer:
GetCurrentPosition2: YES
LocHardware: NO
Static: NO
TruePlayPosition: NO
validated foam buffer settings: buffer 1 (w/2.0, h/2.0), decals 1, blur quality 2
Load asset dependencies:
41.43 ms elapsed
Load common assets (package):
378.49 ms elapsed
Load shared assets (package):
701.20 ms elapsed
Init level:
Loading processed entities.
37.41 ms elapsed
Lightmap asset failed to load: 'save_249756_00'
Process queries
23.09 ms elapsed
Loaded 48689 entities.
- 248 cluster entities.
Load campaign:
Process queries
0.07 ms elapsed
9.81 ms elapsed
world bounding box (-389.959, -372.600, -225.943) to (365.146, 352.906, 549.984)
Game_Resource_Manager::on_post_load:
Streaming entities:
248 clusters
7540 unclustered entities
1122 dynamic
16.25 ms elapsed
315.45 ms elapsed
Warm up streaming data:
Lightmap asset failed to load: 'save_951_00'
Lightmap asset failed to load: 'save_246051_00'
Lightmap asset failed to load: 'save_246050_00'
Lightmap asset failed to load: 'save_249398_00'
Lightmap asset failed to load: 'save_246052_00'
2.07 s elapsed
3.63 s elapsed
8.68 s elapsed
Last edited by Jamalarm; Jan 28, 2016 @ 11:57am
< >
Showing 1-15 of 24 comments
Naysayer  [developer] Jan 28, 2016 @ 12:05pm 
In order for gsync to work you need to turn off vsync in the game, otherwise the two will fight ... have you tried that?
Jamalarm Jan 28, 2016 @ 1:10pm 
Yep, have tried both with and without, still get stuttering. I think the G sync is working fine, there's no tearing, it's just receiving frames with weird timings.
Xbob42 Jan 28, 2016 @ 6:51pm 
I'm having the same issue but with a different setup.

The stutter isn't minor for me, it makes it look like the game is playing at 30FPS. If I set my monitor's refresh rate down to 60hz (from its default of 144hz) it's ALMOST normal, but still stutters what I'd consider closer to "mildly." I cannot get a stutter free experience and it's driving me mad because the game is quite gorgeous.

If it helps any, I have two monitors. One is a 144hz, the secondary is a 60hz. I obviously only play on one screen. Vsync on or off in the game doesn't make a difference, it's very stuttery either way.

The game is installed to an SSD. I'm playing in 1080p and don't have vsync and while I've tried forcing vsync through other programs (RTSS, nvidia control panel) that didn't make any difference, so those aren't active or turned on.

The Witness - x64 - D3D11 - Final
Version 0.944M
Built 2016/01/23 14:35:20 from 131468
Init app:
Init core:
Init asset loader:
Using unbundled processed asset list
35.64 ms elapsed
38.82 ms elapsed
Init render:
OS: PlatformId 2, Version 6.2, Build 9200
D3D11: Found 2 adapter outputs.
D3D11: SDK version 7
D3D11: Adapter = 'NVIDIA GeForce GTX TITAN Black'
D3D11: Output device = '\\.\DISPLAY21'
D3D11: VendorId = 0x10DE (NVIDIA)
D3D11: DeviceId = 0x100C
NVAPI: Driver 361.75
NVAPI: 2 attached displays, 4 unattached displays.
Render_Profile: profile_to_set is -2
Render_Profile: profile_actually_set is -1
WIN: Refresh rate = 144.00 Hz (0.01 s)
D3D11: Created D3D11 device with feature level 11.0
win32_create_window(in_windowed_mode = false)
D3D11: hwnd is 0a890776
D3D11: Dedicated Video Memory = 6220480.00 MB
D3D11: Dedicated System Memory = 0.00 MB
D3D11: Shared System Memory = 8349680.00 MB
NVAPI: 1 AFR groups.
D3D11: concurrent_resource_creation = true
D3D11: max_texture_size = 16384
D3D11: max_texture_buffer_size = 16384
Render extents = 1920 x 1080
4.36 s elapsed
Minimal initialization:
Set up shaders:
cache file operations (shaders):
14.15 ms elapsed
Set up shader flags:
198.61 ms elapsed
214.14 ms elapsed
217.03 ms elapsed
WM_DISPLAYCHANGE 1920 1080
GetClientRect: 0 0 - 1920 1080
Init catalogs:
37.18 ms elapsed
Load global assets:
187.99 ms elapsed
Init shared resources:
Allocated 512 KB for translucent vertex buffer.
Allocated 128 KB for translucent index buffer.
Loading footsteps.
7.94 ms elapsed
Init game:
CPU clock frequency: 4.008 GHz
GPU clock frequency: 1.000 GHz
Sound Caps:
NON-EMULATED driver.
dwTotalHwMemBytes: 0
dwFreeHwMemBytes: 0
dwPlayCpuOverheadSwBuffers: 0
DSBCAPS for primary buffer:
GetCurrentPosition2: NO
LocHardware: NO
Static: NO
TruePlayPosition: NO
DSBCAPS for fill buffer:
GetCurrentPosition2: YES
LocHardware: NO
Static: NO
TruePlayPosition: NO
validated foam buffer settings: buffer 1 (w/2.0, h/2.0), decals 1, blur quality 2
Load asset dependencies:
49.22 ms elapsed
Load common assets (package):
609.35 ms elapsed
Load shared assets (package):
1.13 s elapsed
Init level:
Loading processed entities.
25.69 ms elapsed
Lightmap asset failed to load: 'save_249756_00'
Process queries
6.49 ms elapsed
Loaded 48689 entities.
- 248 cluster entities.
Load campaign:
Process queries
0.07 ms elapsed
9.67 ms elapsed
world bounding box (-389.959, -372.600, -225.943) to (365.146, 352.906, 549.984)
Game_Resource_Manager::on_post_load:
Streaming entities:
248 clusters
7540 unclustered entities
1122 dynamic
11.59 ms elapsed
234.47 ms elapsed
Warm up streaming data:
Lightmap asset failed to load: 'save_951_00'
Lightmap asset failed to load: 'save_186031_00'
5.28 s elapsed
7.49 s elapsed
12.59 s elapsed
Lightmap asset failed to load: 'save_231018_00'
Lightmap asset failed to load: 'save_231018_00'
Other shortcut.
Lightmap asset failed to load: 'save_951_00'
Lightmap asset failed to load: 'save_231018_00'
Lightmap asset failed to load: 'save_231018_00'
Lightmap asset failed to load: 'save_951_00'
Xbob42 Jan 28, 2016 @ 6:53pm 
Also, it's worth noting that I get anywhere from 120-144hz (vsync on) and like 120-250+FPS with vsync off.
Sling_Blade Jan 28, 2016 @ 9:03pm 
Xbob, I posted a fix for what might be a similiar issue:

http://steamcommunity.com/app/210970/discussions/3/458607518210883805/

Are you cloning your displays?
Xbob42 Jan 28, 2016 @ 9:14pm 
Unfortunately no, I'm not using borderless Window OR cloning my display. Thanks for the heads up, though!
Sling_Blade Jan 28, 2016 @ 9:23pm 
The game uses borderless window for its fullscreen, so you're probably using it =P

Does the stuttering only occur when your frame rate is lower than the refresh rate? I would think vsync would be stutter free as long as you're not dropping below the refresh rate.
Xbob42 Jan 28, 2016 @ 9:25pm 
Ahh. Does it? Can I get true fullscreen, then? I had no idea. Thanks for that juicy tidbit!

And the stuttering absolutely happens more when the framerate is under the refresh rate, but even when I set it to 60hz (and it NEVER dips below 60) it still has significant stuttering. It's driving me mad.
Wok Jan 29, 2016 @ 12:45am 
The stuttering only happens when the framerate drops, and not when the framerate reaches a threshold FPS. So use RTSS to limit the framerate to the max value of your choice. This way, let us say you lock it at max 60 FPS, you won't have stuttering due to the framerate dropping from 90 FPS to 60 FPS.

Originally posted by Xbob42:
Ahh. Does it? Can I get true fullscreen, then? I had no idea. Thanks for that juicy tidbit!

And the stuttering absolutely happens more when the framerate is under the refresh rate, but even when I set it to 60hz (and it NEVER dips below 60) it still has significant stuttering. It's driving me mad.

The max RTSS value that you choose would be the min FPS value that you typically get, so either 60 or 30 FPS depending on your rig. According to what you said ("it NEVER dips below 60"), you should lock it at max 60 FPS.

http://i.imgur.com/OYOjGKw.png
Last edited by Wok; Jan 29, 2016 @ 12:47am
Xbob42 Jan 29, 2016 @ 12:50am 
As I said, I already locked it to 60... and without any frame drops, it still stutters.

Also, it shouldn't be stuttering anywhere near the levels it is even with frame drops from 144 to 120, which is the typical framerate variance I get. In the just-released Tomb Raider I get way bigger framerate variance and (no vsync) I get no visible stutter. And if I did, I can guarantee it'd be much rarer and less... disastrous than this.

Something is very wrong.
Jamalarm Jan 29, 2016 @ 1:24am 
Seconding Xbob42 here. As stated in my original post, I've already tried using RTSS to set framecaps of 120, 100, and 60. 120 and 100 made almost no noticeable difference, 60 made it much worse.

I have a second monitor attached to my graphics card, but it's disabled at the Windows level (i.e. win+P, select main screen only). When I get home I will try disconnecting it and see if it makes a difference.

Naysayer/The Invisibl (if either of you are about), is there a way for us to force real (not borderless) fullscreen? Could be worth a try.
Jamalarm Jan 29, 2016 @ 1:40am 
Hmm.. I just noticed a comment in the options tweaking sticky at the top of the board. Some guy was saying that running Gsync in borderless windowed mode takes a big performance hit. Maybe that's the culprit?

Xbob42, could you try disabling gsync at the driver level then try running with the application vsync and see what it does? I will do the same when I get home.
MadCan Jan 29, 2016 @ 6:10am 
I have the same issue. I dont' use Gsync so that cannot be the reason.
Xbob42 Jan 29, 2016 @ 7:01am 
I also don't use gsync, I just have a 144hz monitor.
Jamalarm Jan 29, 2016 @ 7:50am 
Damn. There goes that theory.
< >
Showing 1-15 of 24 comments
Per page: 1530 50

Date Posted: Jan 28, 2016 @ 11:53am
Posts: 24