github valentderah/totk-pc-recomp v0.3.13

33 minutes ago
AMD GPU? Get more FPS with one setting

Add to totk.ini next to totk.exe:

[performance]
vk_recorder = 1

Please report your GPU, driver and FPS with 0 and 1 in the comments or an issue, even if it just works: with enough good reports it becomes the default on AMD. Black screen or VK_ERROR_DEVICE_LOST? Set it back to 0 and attach logs\totk.log.

To update, run the new installer on your existing install folder. It keeps your game files, saves and totk.ini, and rebuilds totk.exe and the shaders.

Warning

DLSS and the Linux build are tested by the community. I don't have the hardware to test them myself.

Fixes

  • Fewer VK_ERROR_DEVICE_LOST crashes (#788, #802). While one game thread recorded GPU commands, another could free a texture those commands used, and its memory went away before the GPU read it: "write invalid" device faults, reported mostly on NVIDIA. Every freed object now waits until the commands being recorded have run.
  • The same fix for memory pools and texture records. Memory pools the game frees, and the port's own records of textures, also waited only for commands already sent to the GPU. This matters most on integrated graphics (Intel, AMD APUs), where the GPU works straight from the game's memory. Neither crash reproduces on my machines, so I can't prove these are the crashes you get. If you still see VK_ERROR_DEVICE_LOST, please attach logs\totk.log: it now names the object that held the faulting address.
  • Intel: no more crash at start in igvk64.dll (#681). Pipeline builds no longer run while the pipeline cache is copied for saving, which crashed Intel's driver.
  • Installing over an older version rebuilds what changed (#795). The release files all carry the same old date, so an update over an existing Setup folder could keep stale objects and fail with an undefined symbol, or keep the old totk.exe. The installer now compares file contents, not dates.
  • Overlapping uniform updates land in order. Two updates that overlapped in part could leave the older values where they overlap.
  • Mouse in menus (#905, #908). T is now a second default key for Y, so you can sort the inventory with keyboard and mouse (the left mouse button is A while the menu pointer is shown). The middle and side mouse buttons keep their bindings in menus, so side buttons bound to L and R switch tabs. A bind_ line in totk.ini now also takes its key away from other buttons' defaults: with bind_X = key:t, T presses X only.
  • The camera returns to its normal distance after aiming in direct mouse mode.
  • Xbox prompts: the action button diamond matches an Xbox pad. With Xbox button labels, A now sits at the bottom and B on the right, as on the pad.

Performance

  • Shorter hitches when entering a new area. Textures are converted from the Switch's tiled layout on the GPU instead of the CPU. In a test fight the longest loading frame dropped from 145 to about 80 ms; average FPS is unchanged.
  • Fewer commands per draw. A draw records only the dynamic states that changed: 8.5% shorter frames on an RTX 4070 Ti on the Great Sky Island.
  • Fewer full GPU barriers. Uniform updates between render passes are batched like those inside a pass.

Other

  • Crash reports name the driver code. When the game crashes inside a GPU driver, logs\totk.log now lists the driver module with the offset and the C++ exception type, so crashes like #285 can be traced.
  • The speaker setting is translated into Brazilian Portuguese and Simplified Chinese.
  • DLSS loads through the platform layer, on Windows and Linux alike.

Thanks

Thanks to ApereLieZ for the dynamic state and uniform update work, itaskaev2 for the Intel start-up fix and the DLSS loader, null15564 for the camera fix, ikeracevedo2002 for the Xbox prompt layout, and BigMeltoni, Liv3ry, NOOBTW00, ctysix, Forest-Boy and LeandroSTAR for the reports behind the fixes here.

Full Changelog: v0.3.12...v0.3.13

Don't miss a new totk-pc-recomp release

NewReleases is sending notifications on new releases.