diff --git a/doc/tools/d3d9-monitor-check.md b/doc/tools/d3d9-monitor-check.md index 83dc92d..87a7df8 100644 --- a/doc/tools/d3d9-monitor-check.md +++ b/doc/tools/d3d9-monitor-check.md @@ -1,25 +1,26 @@ # D3D9 Monitor Check -A separate application to run the infamous IIDX “monitor check” without having to run the actual -game. The tool can be used to test measure the current avg. monitor refresh rate or debug/check if -that value is fluctuating for some reason. - -The final avg. value that is provided at the end of the test can be used as input for other tooling -or settings (e.g. patching charts to a different refresh rate on older games with bemanitools). +A separate application providing various music game relevant tests, e.g. the infamous IIDX “monitor +check” without having to run the actual game. The tool can be used to debug and test your monitor +regarding refresh rate calibration (custom monitor timings), v-sync issues or ghosting issues. Simply run the tool without any arguments to get a full synopsis with usage instructions. -## "Accuracy" remarks +## "Accuracy" remarks refresh rate test/monitor check The tool has been tested on an actual cabinet with `nvgpu` setting different custom timings. The accuracy seems to be even higher than what IIDX’s monitor check is actually showing. For example, with a custom timing of 59.900 hz, this tool yields fairly accurate and stable avg. 59.902 hz. -The monitor check of IIDX 29 shows results of 59.8981 hz to 59.8997 hz on screen. As these are the +The monitor check of IIDX 29 showed results of 59.8981 hz to 59.8997 hz on screen. As these are the only visible values to the user, determining a specific (avg.) value that can be used as input for other tooling or settings (e.g. patching charts to a different refresh rate on older games with bemanitools) is difficult. This doesn't mean that the game's monitor checks are actually -inaccurate or wrong. Modern games with a built-in monitor check (starting IIDX 20) are syncing up +inaccurate or wrong. Once the check is finished it uses the +[avg. value it determined](../dev/journal/2025-02-09-iidx-engine.md) to patch the chart data +correctly. The value displayed to the user is just the floating value. + +Thus, modern games with a built-in monitor check (starting IIDX 20) are syncing up fine and don't need any further patching or modifications. For older games, picking a value that is not as close as possible to an accurate avg. value can diff --git a/doc/tools/nvgpu.md b/doc/tools/nvgpu.md index c3671ce..d9756a4 100644 --- a/doc/tools/nvgpu.md +++ b/doc/tools/nvgpu.md @@ -18,61 +18,8 @@ cannot be measured on application level. Simply run the tool without any arguments to get a full synopsis of available commands. -## Example usage for modern IIDX +## Example usage for IIDX -### Custom GPU profile - -The following creates a custom profile to address potential performance concerns such as not 100% smooth scrolling and -micro stuttering. - -* Create a custom profile: `nvgpu profile create launcher` -* Add the launcher application to the profile: `nvgpu profile application-add launcher launcher.exe` - * This will apply to any (IIDX) game running with `launcher.exe` -* Set GPU power state to maximum for the profile: `nvgpu profile gpu-power-state-max launcher` - -### Custom timing - -* Run the game and observe the monitor check screen (requires IIDX 20+) -* Take note of the refresh rate of the monitor that is determined by the game -* Exit the game -* Run `nvgpu display list` to get the display ID of the monitor you want to change use that ID in the following commands -* Run `nvgpu display custom-resolution-test` with your display ID and monitor settings to test the custom configuration - first - * For example, for IIDX 31 which runs in native 1920x1080 with a monitor also having that as its native resolution, - having the monitor id `0x12345678` and the monitor check yielding a value of ~`59.9345`, run - `nvgpu display custom-resolution-test 1920 1080 59.9345` - * Observe if the test is successful and the display doesn't turn blank or displays a glitched image for ~10 seconds -* Run `nvgpu display custom-resolution-set` with the previously tested settings to apply the custom display mode - * For example, `nvgpu display custom-resolution-set 0x12345678 1920 1080 59.9345` - -## Example usage for legacy IIDX - -Legacy IIDX concerns any game prior to IIDX 20 that introduced the monitor check screen. The game engine was expecting -a the display/GPU/driver to perform at specific refresh rate timings in order to provide correct timing and audio -playback for the game. To this date (i.e. IIDX 31), the game engine never re-syncs audio playback during gameplay. -Therefore any flaky and incorrect timing will result in audio desynchronization either early on or throughout a song. - -### Custom GPU profile - -The following creates a custom profile to address potential performance concerns such as not 100% smooth scrolling and -micro stuttering. - -* Create a custom profile: `nvgpu profile create bm2dx` -* Add the launcher application to the profile: `nvgpu profile application-add bm2dx bm2dx.exe` - * This will apply to any (IIDX) game running with an executable named `bm2fx.exe` -* Set GPU power state to maximum for the profile: `nvgpu profile gpu-power-state-max bm2dx` - -### Custom timing - -* Use a modern game and it to observe the monitor check screen (requires IIDX 20+) -* Take note of the refresh rate of the monitor that is determined by the game -* Exit the game -* Run `nvgpu display list` to get the display ID of the monitor you want to change use that ID in the following commands -* Run `nvgpu display custom-resolution-test` with your display ID and monitor settings to test the custom configuration - first - * For example, for IIDX 31 which runs in native 1920x1080 with a monitor also having that as its native resolution, - having the monitor id `0x12345678` and the monitor check yielding a value of ~`59.9345`, run - `nvgpu display custom-resolution-test 1920 1080 59.9345` - * Observe if the test is successful and the display doesn't turn blank or displays a glitched image for ~10 seconds -* Run `nvgpu display custom-resolution-set` with the previously tested settings to apply the custom display mode - * For example, `nvgpu display custom-resolution-set 0x12345678 1920 1080 59.9345` \ No newline at end of file +Refer to the dedicated [iidx-syncbook](../iidxhook/iidx-syncbook.md) documentation for details on +how to use `nvgpu` to configure your system to run IIDX versions with proper display timings, smooth +frame rates and sync game-play. \ No newline at end of file