Eskating cyclist, gamer and enjoyer of anime. Probably an artist. Also I code sometimes, pretty much just to mod titanfall 2 tho.

Introverted, yet I enjoy discussion to a fault.

  • 50 Posts
  • 766 Comments
Joined 1 year ago
cake
Cake day: June 13th, 2023

help-circle











  • Yes. But Valve didn’t do anything special. They provide pre-compiled shaders for all games on the deck and can only do so because of how directx shaders are handled on linux.

    All games on linux and windows when using DX12/Vulkan must compile shaders. They should be compiled during loading screens and such, not gameplay, then cached for use later.

    Elden Ring in particular, didn’t precompile shaders before gameplay, and then when it did compile them, it would discard the shaders rather than cache them. As a result the stutter would happen non-stop and never go away.

    On linux, the equivalent compiled vulkan shaders are cached by VKD3D, eliminating the stutter except when a shader is used for the first time. On the deck, Valve will deliver the shaders precompiled with the game download to eliminate the need to compile them at all.

    The fix of providing precompiled shaders was only possible on linux due to the use of VKD3D. And even without them, on linux the stutter would go away after a while as VKD3D will cache them even when the game doesn’t. Fromsoft had to update the game to fix it from their side on windows.




  • Immersion, yes, but also haptics provide feedback.

    Lots of games use it to tell you things, like when your health is low, when to time something, when you took damage vs blocked successfully, when you’re close to a secret…

    Used right, it’s another sensory input channel in addition to sound and visuals.

    One of the biggest genres that I use a controller for, because I consider KBM to be unplayable for it, is racing games. And there haptics are used to tell you TONS about what is happening in the game.












  • Other way around. Pure and Pulse were PSP first, then PS2 and later PS3.

    The PS2 port of Pulse is graphically superior, and can be run using PCSX2. HD has the same content.

    Instability might be due to shader translation, should go away as more shaders are compiled and cached.

    Vita3k for 2048 runs very well (with compilation stutters only at first), and you can get the HD and Fury DLC for it to access the PS3 content (though with lesser graphics).



  • Valve didn’t do anything in particular for Elden Ring.

    The way running windows games works on Linux just meant that compiled shaders got cached, so that when they were needed again, the game wouldn’t freeze for a split second while they were recompiled.

    This process is necessary on the windows side as well, when using DirectX 12 or Vulkan. Most games will do this shader compiling in advance (during a loading screen), and cache them for later so that the GPU can run full tilt generating frames during gameplay, instead of pausing to compile shaders.

    Elden Ring didn’t do this. It compiled shaders as they were needed mid-gameplay, then immediately discarded them instead of caching them. This meant it was constantly freezing to compile shaders as materials that used different ones appeared on screen. And it would keep happening as it didn’t keep compiled shaders around for the next time they were needed.

    Only on Linux, there was an external cache in the system that was translating the games DX12 calls to Vulkan (VKD3D), which would just go “oh I already have that, here you go” essentially making the game work as if the constant compiling could be done instantly whenever needed.

    Valve did provide the cached shaders as a download, compiled in advance, as otherwise you’d still get compilation stutters each time something on screen needed a particular shader for the first time. But Valve does this for all games.