github holdmysocks/mcla-recomp v1.0.10
v1.0.10: Vulkan frames no longer wait on the previous one

latest release: v1.0.11
52 minutes ago

The zip below is everything needed to build the game from your own disc: the build scripts, the SDK patches, the function hints and the host application. As always, it holds no game code, assets or keys; the build takes those from your own copy of Midnight Club: Los Angeles Complete Edition (USA/Europe, Xbox 360) on your machine.

Vulkan: frames no longer wait on the previous one (#23, by @RenanQueiroz)

Thanks again to @RenanQueiroz, the first of his SDK patches from #17.

What was wrong. The Vulkan presenter checks whether the pipeline that draws the game's frame to the screen was made for the current screen format, but never wrote that format down. So on every frame after the first it found the pipeline out of date, waited for the GPU to finish the previous frame's paint, destroyed the pipeline and made it again. The same bug is in Xenia, which the presenter comes from.

The fix. The format is now recorded when the pipeline is made, so it is only remade when the screen format really changes. It is one statement, in patches/rexglue-vulkan-paint-pipeline-format.patch.

What it does. On PC with Vulkan, Renan measured (RTX 5080, uncapped): free roam 63 → 70 FPS, driving 68 → 79, the map zoom-out 70 → 81 at native resolution, and free roam 37 → 42 at 3×. At a 60 FPS cap there was no measurable difference. D3D12 is not affected.

How far it has been checked

  • PC (Windows 11, RTX 4080): the SDK and game build with the patch, and Vulkan runs to the title screen with no errors. I did not measure frame rates; the numbers above are Renan's.
  • PS5 (PS5 Pro, 13.42): played with the patch. Everything works and there are no visual problems; the frame rate felt about the same as before, so the PS5 is limited elsewhere. It is applied on the PS5 too, so the presenter is the same on every platform.
  • Linux: the README's steps apply it; not built here.

This release also has the PC build fixes from v1.0.9.

Getting it

Update (git pull, or unpack the zip over your copy) and run the same command again. An SDK that was already built gets the patch added and the changed part rebuilt.

PC:

.\scripts\make_pc.ps1 -Iso C:\path\to\your.iso

PS5 (close the game on the console first):

bash ps5/make_ps5.sh --console <console address>

Don't miss a new mcla-recomp release

NewReleases is sending notifications on new releases.