-
Notifications
You must be signed in to change notification settings - Fork 885
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Framerate locked at 59 FPS. #4548
Comments
Hi there. Please attach the log that appears next to the exe |
You are using 60HZ display as main display on Windows, right? That should be the normal behavior. On my 64hz display it runs at 63.9fps which is the same behavior. And if I set my 240hz display as main display it can go up to 241fps. If your system has multiple displays with different refresh rate and you are using the highest one for gaming, ensure you set the one with highest refresh rate as main display in system settings. Main display is the default display for your system. Your current main display should have a grey tick for "Mak this my main display". If you are using the system I said above, then this is not DXVK's bug and this issue can be closed. |
My Display is 60 HZ (59.950) yes, it's a EIZO CX240. NVIDIA RTX Remix also uses Vulkan and does not have this behaviour. If this is the default behaviour of the wrapper, then i'll just ignore that this wrapper exists as it's pretty useless for me then. Thanks anyway for the explanation. |
You can force vsync off by putting |
Yeah well, that will mean screen tearing anyways, which is even worse. I'll just stick to DX9, i have a 4070 Ti anyways, it runs just fine in 4K. |
Probably. I can reproduce same behavior on my two NVIDIA devices. |
Make sure you're not running any additional overlays or other applications that somehow hook into games. |
When i first noticed (felt it) no overlay was running. Then the second time i used RTSS to confirm my findings. Also Vulkan in GZDoom doesn't suffer from this either, it's purely this wrapper. |
I think i found out the what the problem was/is. A mod to change the viewmodel of weapons (make them smaller), which also comes with ddraw.dll in the Win32 folder. It's not super smooth though, there is camera skipping with mouse movement, which isn't present in DX9. |
I have found why I can reproduce this issue. @TheDeeGee Are you also using GSYNC? |
EIZO CX240, which doesn't have any gaming features. It's 60 Hz photo editing minitor. Anyways, the problem was a mod for Borderlands 2. Still isn't smooth though, there is camera skipping with mouse movement, which doesn't happen in DX9. |
this issue doesnt exist at exclusive fullscreen mode. edit: I didnt read the thread fully yet. Ok apparently there might be still a chance to get uncapped fps despite borderless with the vulkan api? |
Vulkan WSI is fundamentally broken on Windows (HDR does not work, VRR does not work, alt+tab does not work in fullscreen unless we prevent a mode switch, ...), issues like these are outside our control. The only way to improve this situation is to add a D3D12 backend for presentation, but that is not a priority right now. |
Exclusive fullscreen has already introduced tons of compatibility issues that cannot be fixed without complex workarounds which mess the code. That's why it's globally removed now.
You can disable GSYNC to get uncapped fps, but with tears. For my own suggestion, uncapped fps only makes your system a heater, it's more important to minimize latency when your system can provide higher fps than refresh rate. An optimized 59fps actually is better than uncapped 300+fps if your monitor is only 60hz. My own tweak: 64.01hz GSYNC compatible monitor, low latency mode on, fps capped 63 with RTSS, vsync off, got 20-25ms latency only in most games. And I agree with "Vulkan WSI is broken on WIndows", even native Vulkan games may suffer various issues, such as DOOM 2016, which is native Vulkan game without DXGI backend. Some games like RAGE 2 use DXGI backend by default. NVIDIA has some black magic in their driver to wrap Vulkan games on DXGI, but sadly this feature won't work with DXVK so NVIDIA disabled it when DXVK detected. |
Thats so weird, because Alt+tab works for me in exclusive fullscreen perfectly fine on Windows 10. @qinlili23333 Please make it optional 🙏
Thats absolutely not true. Especially on a 60hz monitor you really, really want the uncapped or at least much higher than 60fps Yes the frames inbetween come teared to you, but you see always the most up to date frame, no matter how teared the frames are inbetween. Here also nice videos where this is explained https://www.youtube.com/watch?v=uzp8z1i5-Hc |
Actually, Windows itself is guadually dropping exclusive fullscreen. Since Windows 10, Windows puts compatible games in borderless window instead of traditional exclusive fullscreen, which is called fullscreen optimization. Windows uses hardware compose - independent flip for these games, so the performance can reach nearlly same as true exclusive fullscreen as the game is composed on dwm result instead of copy by dwm. However, this feature is only for DirectX.
That's just because some side effects brought by the high fps. Another thing which produces lags when fps capped is the frame queue. To avoid sudden performance need, many games use a frame queue. Rendered frames are queued before display. This will add frame interval * queue length latency. For example, a 3 frame queue under 60fps means approx 50ms latency. If fps is uncapped, the frame interval is short so this latency can be lower. But if the game is well optimized which doesn't have sudden performance need frequently, or you prefer latency than stable fps, you can minimize this queue. Set low latency mode in Nvidia control panel to Ultra will eliminate this queue in most games, and for some games you may also need to tweak by game console such as Frostbite 3 engine games. And for some very rare games, the game physics may have different behavior on different fps (may due to div calc precision issue), this may also make you feel different. But this should not happen for most modern games with uncapped fps. You can use some games with internal latency tracker such as R6S, or use external tool like PresentMon to see your latency. Optimized 60fps should get very similar latency to uncapped fps. Hope these information can help you tweak your games, and enjoy a smooth experience while saving power. |
NFS HP2 has the better performance in exclusive and when you dont make the borderless optional I obviously will stay at 2.5.1 I need the better fps for high poly cars where for example a full grid 8th place start with 8 Lamborghini Veneno (high polygon custom car) the fps goes down to 163 (which is AMAZING by dxvk. With dgvoodoo 2 D3D11 output you would have less than 20 in this scenario!!! What kind of magic is this? Its insane. Also I observed that at least with dgvoodoo, but probably DirectX in general: |
If you really need exclusive fullscreen, I would suggest you to compile your own modified version. dxvk/src/dxvk/dxvk_presenter.cpp Line 502 in 8b9b46d
and change the value to VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT, then follow the build instruction as normal. Then you should get your own dlls with exclusive fullscreen enabled. Sometimes it's not easy to improve performance without breaking compatibility to other games as dxvk is s general project which compatibility is more important. But if you just need it for some specific game, you can create a modified version that only prioritize performance. I sometimes bundle my modified and self compiled version of dxvk in patch when I make patches for some games. |
Why you cant make borderless the default, but possible to change in the dxvk.conf file? I dont understand |
Framerate is locked at 59 FPS regardless of settings.
Disabling the FPS limiter and V-Sync in the NVIDIA Control Panel does nothing, nor does setting the game to Unlimited and disabling V-Sync there.
Software information
Borderlands 2, maximum settings.
System information
The text was updated successfully, but these errors were encountered: