github carafe-nx/carafe v0.5.0
Carafe 0.5.0

2 hours ago

The biggest release so far is about speed: games run faster, and Direct3D 8 and .NET games join the list.

Faster games

We measured where Windows games lose time on the Switch and worked through it piece by piece. On an overclocked console, Need for Speed: Underground 2 went from 25–30 fps to over 60, up to about 90. Carafe itself never changes the console's clock speeds: the overclock is your choice, set with a tool of your own. Our tests ran in handheld mode with the CPU at 1785 MHz, the GPU at 614 MHz and memory at 2500–2600 MHz.

  • All four cores at work. A new orchestrator watches the game's threads and gives the busiest one a core of its own, moving the rest out of its way. Windows games often load one core while the others wait.
  • The game thread no longer draws alone. DXVK's Direct3D 9 front end and the D3DX effect libraries many games use now run on threads of their own, so the game thread hands its draw calls off and goes on.
  • Faster translated x86 code. FEX does x87 math with fewer instructions, spends less on x86 flags on the Switch's CPU, jumps through switch tables directly and returns from calls and system calls with fewer lookups.
  • No hitches when shaders build. Shaders build in the background on every compiler thread, as in DXVK-Sarek, instead of stopping a frame.
  • Less work per frame. Repeated Direct3D 9 states are answered at once, GPU command memory is cached, and the runtime's own code sits on large memory pages.
  • Better logs. The log shows fps, the options in force, GPU load, per-thread CPU time, the game's first errors and the first controller press, which helps when you report a game.

New

  • One path for every game. Carafe picks DXVK, the CPU emulator and thread sync by itself; the build wizard no longer asks for them.
  • Direct3D 8 games. They now run through DXVK, like Direct3D 9 games.
  • 32-bit Direct3D 10 and 11 games. They now run through DXVK too.
  • Games made with .NET. They now get Wine Mono.
  • GOG games. They get the registry values of their install script, written again when they go missing.
  • Experimental settings. The FEX call cache, x87 math in 32 bits, large memory pages and waking stopped threads can be tried per game; DXVK-Sarek's settings have a page of their own.

Fixed

  • Games built on MFC start. Before, they closed at once with a memory error.
  • Message boxes and dialogs. They show their text, icon and buttons, and the loading screen steps aside for them. A start-up dialog keeps its own size in the middle of the screen instead of filling it.
  • Text in games without Unicode. It shows in the console's language. Before, Russian and other non-Latin text showed as stray symbols.
  • Windows Runtime classes. Games find the Windows Runtime classes that Wine has.
  • DXVK settings reach 32-bit games.
  • First start. A game that makes a probe Direct3D device on its first start no longer stays on the loading screen.
  • Games that lock their files work.
  • Verbose logs. With them on, the start no longer takes minutes.
  • Saved games built with dropped settings build again.

Rebuild games made with Carafe 0.4.0 to get these changes.

Tell others how a game ran in Compatibility, and report bugs in Issues.

Full Changelog: v0.4.0...v0.5.0

Don't miss a new carafe release

NewReleases is sending notifications on new releases.