And of course the one thing that would let us see if anything fishy is going on is missing: Log files. Please. There's a reason why the template asks for them.
In general this is not a bug though, some engines do not compile their D3D shaders in advance so we can't actually use the cached state ahead of time. These games do stutter to some degree even on Windows.
Also I think people need to lower their expectations with Star Citizen, until the game switches to a more reasonable graphics API it just will not run well.
I tried running an apitrace on Linux, unfortunately it seems to have an issue preloading itself using Lutris:
apitrace: loaded into /usr/bin/python3.9
Started initial process 10629 from gamemoderun /usr/bin/wine /home/r79/Games/star-citizen/drive_c/Program Files/Roberts Space Industries/RSI Launcher/RSI Launcher.exe --use-gl=osmesa
Start monitoring process.
apitrace: loaded into /usr/bin/bash
apitrace: loaded into /usr/bin/env
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/usr/lib/apitrace/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/usr/lib/apitrace/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
apitrace: loaded into /usr/bin/wineserver
fsync: up and running.
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: unloaded from /usr/bin/wine64-preloader
apitrace: unloaded from /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: unloaded from /usr/bin/wine64-preloader
apitrace: unloaded from /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: unloaded from /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: unloaded from /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: unloaded from /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: unloaded from /usr/bin/wine64-preloader
[13:02:48.016] [info] { event: 'AUTHENTICATION_AUTO_LOGIN' }
[13:02:48.019] [info] { event: 'AUTHENTICATION_SUCCESSFUL',
data:
{ heapAccountId: { cookie: '_rsi_device', key: 'X-RSI-Device' } } }
[13:02:48.027] [info] { event: 'INITIALIZATION_SUCCESSFUL' }
Checking for update
Update for version 1.5.4 is not available (latest version: 1.5.4, downgrade is disallowed).
[13:02:49.010] [info] { event: 'SELECT_GAME_SUCCESSFUL',
data: { channelId: 'LIVE', gameId: 'SC', platform: 'prod' } }
Checking for update
[13:02:58.747] [info] { event: 'LAUNCH_GAME' }
Update for version 1.5.4 is not available (latest version: 1.5.4, downgrade is disallowed).
[13:02:59.278] [info] { event: 'LAUNCH_GAME_READY',
data:
{ channelId: 'LIVE',
gameId: 'SC',
gameToken: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJodHRwczpcL1wvcm9iZXJ0c3NwYWNlaW5kdXN0cmllcy5jb20iLCJpYXQiOjE2Mzg5NjQ5NzksImV4cCI6MTYzOTA3Mjk3OSwianRpIjoid2UzMmhubXpqcXE2cyIsInN1YiI6ImdhbWVcL1NDXC9kYTdiYTkwZmExNTM1NmY5NWE4MjUwYTY0YjJmNjM5NzYyMWMzOWNkIiwiYXVkIjoicnNpXC9nYW1lXC9iZWFyZXIiLCJhY2NvdW50X2lkIjoiNTc3MzQ3IiwicGxheWVyX2lkIjoiNTUwOTY0MzE2MTg1IiwiZGlzcGxheW5hbWUiOiJzdG9ybXlfSXMiLCJuaWNrbmFtZSI6InNfaXMifQ.Z07xrv5PpVd3vw37iq7DBnNbSDfrzjQ0sbYEEAVG2DJYzrMaRr4E1Yl4EhJQ11244a6Haop-MgoTu_FERdtp8ouNCzNUXcGtbWE8XN31D9Cc0t8vxI--3Sgdy84xCxOc9XfGla9ssH-JOKKrUTLg4eJGibsn3mVPtWW1f3dxh4D6N11L65KPriM-LrMxCMe_Pd0NZfDmEFPPEa47N9v0n_e8OKPnn4Ym7XM0IApYB19uFfFlWtkoL20N-mztFjD1DnH58vfO1xo9gIdLKyFMhAKyp8UBSAnGHwrwAGYwawKZsAlbfEP8STpGPkGUhBkuhChmUz7HrkN0LpZsHnIgCD7pty4k1NyU82LjKJeEgnrpHXD4Uu2J22HR0mXz9xdQ1x9ujEqcplImTlpmMFOSw6TX0UjPfpj3fSvA5vBXZ2iRySwDdwPB7ntUQzoLPF14vjpfGGCN7x0zr0WGjwCCYIi3p45wdSeb-zMmUctAX8zBvvwKeI9aJTXtkV1q70vgo5CCnimF27iQhrMuffQdBHyXBMtPa68DttFixsWY36AJxCa0vws-P-jLipj-YCWipoKn0BnrwWIqAzQkf_qMozuW1I9VNSEBI3JMm_D56FLko8uvp1p87PXd3wef58iH6Dobbo-y9yFZZq5NPJRxn-z43id6Wb02TGff_UQ9SfY',
heapAccountId: {},
platformId: 'prod' } }
[13:02:59.281] [info] Launching Star Citizen LIVE from (C:\Program Files\Roberts Space Industries\StarCitizen\LIVE)
ERROR: ld.so: object 'libgamemodeauto.so.0' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/usr/lib/apitrace/wrappers/glxtrace.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
apitrace: loaded into /usr/bin/ntlm_auth
apitrace: unloaded from /usr/bin/ntlm_auth
apitrace: loaded into /usr/bin/ntlm_auth
apitrace: unloaded from /usr/bin/ntlm_auth
apitrace: loaded into /usr/bin/wine64-preloader
apitrace: loaded into /usr/bin/ntlm_auth
apitrace: unloaded from /usr/bin/ntlm_auth
apitrace: loaded into /usr/bin/ntlm_auth
apitrace: unloaded from /usr/bin/ntlm_auth
[13:03:40.963] [info] { event: 'TERMINATION' }
apitrace: unloaded from C:\Program Files\Roberts Space Industries\RSI Launcher\RSI Launcher.exe
apitrace: unloaded from /usr/bin/wine64-preloader```
I unfortunately don't have a windows machine available to re-test this on windows, but I might be able to convince some windows using friends to help me out here. Will report back.
Nevermind, managed to get a trace @doitsujin
This trace has been done with dxvk (since I don't have the default .dlls anymore as I installed the game with lutris). I've been able to load in and get to the point where there's the usual long shader loading happening and then quitted out. It's been heavily compressed, let me know if I should upload a trace with less compression.
https://mega.nz/file/uAtU2QDI#tJ0koEP6MTNs2RML9O5sF9i4ptWs1dEbnNcN6_zGZ70
I can also try and provide a windows apitrace if it's needed, it might take a while to find the right people to bother with that.
Can we please just have a log file? It tells us if it finds any pipelines in the state cache or not.
@s-iso Friendly ping
Feel free to reopen if the issue persists.
Nothing extracted yet.
Description
When I run the game with the dxvk cache set, I see the pipelines increase ingame, while also seeing the dxvk-cache populating more and more. When I eventually quit the game and open it again, the pipelines are down at 0 again and are being repopulated very slowly. On top of that, depending on the cache size, I will notice an up to 1 minute lag around 30 seconds into loading in (usually accompanied with opening a door / walking to a populated area), without seeing an increase in pipelines. Deleting the dxvk cache removes this 1 minute lag.
From my personal experience, every shader is being repopulated on first encounter no matter if it has previously been cached or not. The shader cache does therefore not seem to bring any improvement, and given the 1 minute lag mentioned above, actually seems to harm the experience.
I'll gladly send any relevant logs and try out various different versions of applications in order to help figure out what's going on. I'm incredibly invested into making Star Citizen run perfectly on my machine, and gladly invest a lot of time into this issue, even if it may ultimately be wasted.
Software information
Star Citizen (current Live build, but I've seen this since a long while)
newest DXVK with the Async patch, built by this AUR package but I've seen this with dxvk 1.9.2 before.
System information