Repository navigation
B3-Express v0.1.7
A deep optimization of how frames reach your screen, for a much smoother 60 FPS. Plus a fix for Intel graphics losing the device.
No game files are included. You need your own extracted dump, updated to v1.2.0. See INSTALL.txt in the zip, or the install guide.
Performance in a real play session
56 minutes of normal play on 0.1.7 (199,200 frames), on the test PC (Ryzen 7 5700X3D, RTX 3080):
| Average FPS | 58.9 (59.4 outside the gallery) |
| 1% low | 47.6 FPS typical, 38.5 FPS or better in 9 of every 10 stretches |
| Frame time | 16.75 ms median, 19.5 ms at the 99th percentile |
| Rushed frames (under 14 ms) | 100 of 199,200 (0.05%) |
The 1% low is measured over each 10-second stretch of play. Loading screens and the game's own 30 FPS scenes are left out of it.
Smoother frame pacing
Before 0.1.7, the game was held back at the start of each frame, but a frame reaches the screen only after a varying amount of work. So a slow frame was often followed by a rushed one, and that felt like stutter even at a steady 60 FPS.
Frames are now presented from a thread of their own, on even 16.7 ms slots. A frame that comes late is shown at once, with no rushed frame after it. Presenting no longer waits for the next frame's preparation, because the GPU queue has a lock of its own.
On a recorded 110-second session (menu, street, practice, a verse and back), replayed the same way on both versions, out of 6,757 frames as they reached the screen:
| 0.1.6 | 0.1.7 | |
|---|---|---|
| Rushed frames (under 14 ms) | 207 | 13 |
| Frames over 19 ms | 326 | 177 |
| A slow frame followed by a rushed one | 130 | 4 |
| 99th percentile frame time | 24.2 ms | 23.3 ms |
Set SNX_PRESENT_THREAD=0 in the environment to present frames the old way.
Fixed
- Intel integrated graphics losing the device (#2). Some of the game's compute shaders waited at a barrier inside a branch, which Intel's driver can't run, and the device was lost at the first frame that used them. They now wait outside the branch. (NOT TESTED)
- Wrong colours in the dartboard room on NVIDIA. The same barrier made its colour grading come out with its colours rotated.
Upgrading from 0.1.6
Unzip 0.1.7 to a new folder and run Install again from your extracted dump. Your graphics card's shaders are prepared again on the first Play, a few minutes once.
Known limits
- The gallery drops under 20 FPS while its background movie plays. The fix is planned for 0.2.0
- The frames over 19 ms that are left come from real work (texture decoding, loading). Holding frames back can't hide those
- The Intel fix hasn't been tested on an Intel card yet. If the problem stays, please comment on #2 with your
Bayo3_120\Bayo3_120.log - Tested on one PC. Other PCs and most chapters are untested
Built on ScarletNX, GPL-3.0-or-later. Not affiliated with Nintendo, SEGA or PlatinumGames.
SHA-256 of B3-Express-0.1.7-windows-x64.zip: ac9793e5baded4a08b70d22b0c41fe1d61ef395dec42d5a228667721dde1d1de