Guild Wars 2: Launcher suffers from very low FPS
The launcher for Guild Wars 2 suffers from major stuttering when run using gamescope. This makes it incredibly tedious to log into the game, especially when using the non-steam version, where you have to enter your username and password. It's close to unusable on Steam Deck without an external keyboard, as the touch screen becomes very unresponsive.
The game itself runs without problems.
The issue occurs only when using gamescope. I've made this screen recording showing the launcher's performance in Desktop Mode (0:00) and in Gaming Mode (0:14) on my Steam Deck. While the cursor is moving perfectly smooth in Desktop Mode, it stutters very irregularly in Gaming Mode.
As the launcher uses the Chromium Embedded Framework, I suspect it's not only an issue with GW2, but maybe with CEF in general. The game starts the following CEF processes including their arguments:
Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\bin64\cef\CefHost.exe --type=gpu-process --no-sandbox --locales-dir-path=Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\bin64\cef --log-severity=warning --lang=en-US --user-data-dir=C:\users\steamuser\Temp\gw2cache-{0100007E-373C-2B04-7D00-00013C37042B}\user --gpu-preferences=UAAAAAAAAADgAAAYAAAAAAAAAAAAAAAAAABgAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAASAAAAAAAAAAYAAAAAgAAABAAAAAAAAAAGAAAAAAAAAAQAAAAAAAAAAAAAAAOAAAAEAAAAAAAAAABAAAADgAAAAgAAAAAAAAACAAAAAAAAAA= --log-file=Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\debug.log --mojo-platform-channel-handle=1196 --field-trial-handle=1236,i,14679474231146149264,16138380594022660051,131072 --disable-features=CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:2
Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\bin64\cef\CefHost.exe --type=utility --utility-sub-type=storage.mojom.StorageService --lang=en-US --service-sandbox-type=utility --no-sandbox --locales-dir-path=Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\bin64\cef --log-severity=warning --lang=en-US --user-data-dir=C:\users\steamuser\Temp\gw2cache-{0100007E-373C-2B04-7D00-00013C37042B}\user --log-file=Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\debug.log --mojo-platform-channel-handle=1396 --field-trial-handle=1236,i,14679474231146149264,16138380594022660051,131072 --disable-features=CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:8
Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\bin64\cef\CefHost.exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=none --no-sandbox --locales-dir-path=Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\bin64\cef --log-severity=warning --lang=en-US --user-data-dir=C:\users\steamuser\Temp\gw2cache-{0100007E-373C-2B04-7D00-00013C37042B}\user --log-file=Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\debug.log --mojo-platform-channel-handle=1416 --field-trial-handle=1236,i,14679474231146149264,16138380594022660051,131072 --disable-features=CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:8
Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\bin64\cef\CefHost.exe --type=renderer --locales-dir-path=Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\bin64\cef --log-severity=warning --user-data-dir=C:\users\steamuser\Temp\gw2cache-{0100007E-373C-2B04-7D00-00013C37042B}\user --no-sandbox --log-file=Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\debug.log --lang=en-US --device-scale-factor=1 --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=6 --launch-time-ticks=5374023949 --mojo-platform-channel-handle=1512 --field-trial-handle=1236,i,14679474231146149264,16138380594022660051,131072 --disable-features=CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:1
Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\bin64\cef\CefHost.exe --type=renderer --locales-dir-path=Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\bin64\cef --log-severity=warning --user-data-dir=C:\users\steamuser\Temp\gw2cache-{0100007E-373C-2B04-7D00-00013C37042B}\user --no-sandbox --log-file=Z:\home\deck\.local\share\Steam\steamapps\common\Guild Wars 2\debug.log --lang=en-US --device-scale-factor=1 --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=5 --launch-time-ticks=5374071157 --mojo-platform-channel-handle=1532 --field-trial-handle=1236,i,14679474231146149264,16138380594022660051,131072 --disable-features=CalculateNativeWinOcclusion,WinUseBrowserSpellChecker /prefetch:1
I have reported this issue to Proton's issue tracker before, but after noticing that it only seems to occur in Gaming Mode, I suspect that it's actually a problem with gamescope. I'll append the game's Proton log anyway, maybe it can help solve this problem: steam-1284210.log
I get this too on the launcher for Guild Wars 2, but when it doesn't -autologin then it freezes, or is so slow I have to hard reset. Otherwise if -autologin succeeds and I have "AUTO-PLAY" ticked it goes straight to the game. The downside to this is that if I want to fully update I'll need to go to desktop mode and untick "AUTO-PLAY" to let it download
Bumping. It's really frustrating to switch into desktop mode and loose some gaming mode features just to fix this.
This issue no longer seems to occur for me when using the bleeding edge version of Proton Experimental. I've tested this on my Steam Deck and on my Desktop. Can anyone else confirm this?
Closing per the last comment.