mirror of
https://github.com/tangerineturtle1/NX2navi.git
synced 2026-11-15 19:19:58 -04:00
The overlay's rate, lows and graph were fed from the game's present calls. With the replay on the submitting thread, work held for an event is replayed with the next frame, so the calls come in uneven steps although each frame costs about the same: 36 and 9 ms apart in turn in a village, a sawtooth in the graph and a 1% low of 14 fps, while the pictures went out 19.7 ms apart on average and changed by 3.9 ms from one to the next. The present thread now reports each picture (perfmon_shown) and the overlay takes its intervals from that; the game's calls are used only where no present thread reports. A picture that arrives early now waits until seven eighths of the recent interval have passed since the one before (vk_backend.c pace_smooth, NX2NAVI_PACE_SMOOTH, on by default; not with frame generation). In that village the change from one picture to the next went from 3.9 to 3.0 ms at 51 fps both ways, in a graveyard from 3.1 to 2.6 ms at 54. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
4.5 KiB
4.5 KiB
Draft notes for the release after 0.6.1. The version number is not decided yet.
New
- Share a save: Saves in the launcher (Export Save, Import a Save) and Saves on the Game tab of the settings
menu write your save into one zip in your Downloads folder, with the game's log and settings for a bug report, and
import a zip someone shared. Attach the bug report zip to a report from a place in the game, so it can be reached
and checked quickly. An import copies your current save to the
savesfolder of the game folder first; in the game it takes effect at the next start. - Customize Launcher (on the launcher's home screen): six colour schemes, a background picture of your own with adjustable dimming, animations (a gliding cursor, sliding screens, drifting sparks) and sound effects: the game's own select and back sounds, read from your game, quiet (Low) unless you pick another loudness or turn them off.
- Three more settings take effect without a restart: HDR between off and the tone mapper (only the game's native HDR still waits for one), the camera's stick sensitivity, and the speakers (stereo or 5.1).
Fixed
- Ground, walls and characters that appeared and disappeared, black or unlit frames, and stalls of up to two seconds wherever something was shown for the first time (a new area, a cutscene). The graphics driver's cache had lost the shader libraries prepared at install, so every new pipeline compiled during play: after a driver update, or after an update of NX2navi that changes how the libraries are built (this one does on AMD RX 7000 and RX 9000 cards, where it also ends the 20 second start). The game now checks the driver's cache at every start and fills it again in the background by itself, an update fills it again before you play, draws wait a moment for a pipeline that only needs linking instead of being left out, and lighting passes are no longer left out at all.
- A black or unlit frame, or a light or a piece of ground missing for a frame, when something new came on screen (a
hit, a new effect, a new enemy). A draw whose pipeline was not ready in time was left out of that frame, a lighting
pass among them once its 50 ms were spent, and the frame was shown without it. Such a frame is no longer shown:
the previous picture stays for the frame or two it takes, while the game runs on (
frame_hold_ms, 120 by default; 0 shows every frame as before). - GPU frame prep on its own thread (
replay_async, off by default): the shader constants of a frame are now copied when the game hands the frame over, not when the other thread gets to it up to a frame later, by which time the game had sometimes reused that memory (a shadow pass got another block's values about every 364 frames in one graveyard). The option can still show a dark or flickering frame: vertex, storage and index data are read late in the same way, and this game rewrites them without waiting for the GPU. In that graveyard and a village, 3,000 frames in a row were clean with the option off, against a dark frame about every 364 with it on. The menu says so now. It gave 15 to 18 percent more frames per second in those two places. - The performance overlay's frame rate, lows and frame-time graph are now those of the pictures as they reach the
screen. They were measured at the game's present calls, which come in uneven steps although the pictures do not: in
a village the calls came 36 and 9 ms apart in turn and the graph drew a sawtooth with a 1% low of 14 fps, while the
pictures went out about 20 ms apart and changed by 4 ms from one to the next. A picture that arrives early now also
waits until seven eighths of the recent interval have passed (
pace_smooth, on by default), which brought that change down to 3 ms at the same frame rate. - The performance overlay's VRAM line counted every program on the graphics card as if it were the game. It now shows the game's own share beside it (game 6.8 GB of 10.4 GB in use, in one measurement).
- Textures out of view for 11 seconds at 165 fps (30 seconds were meant) could show a blank stand-in for a few frames when they came back while memory was short. The wait is now two minutes of real time at any frame rate.
- Settings menu, mouse: a setting changes only on the two framed arrows beside its value, and the arrows stay in one place. A click anywhere on a row used to step the setting, and the left arrow moved with the value's width, so clicking through the values landed on the row and stepped the wrong way. Holding the button on an arrow repeats.