Troubleshooting (advanced) options
This build adds a collapsed Troubleshooting (advanced) section under Play in the launcher. It is for tracking down graphics glitches, such as stretched or spiky polygons on some machines. The defaults are the normal behaviour. Leave them alone unless you are testing. Change one option at a time, play to the same spot, and report what changed. Each run's report.txt records the values used.
| Option | Default | What it does | Why it exists |
|---|---|---|---|
| Vertex coherence check | On | Before drawing, the emulator checks that the 3D model data (vertices) the GPU holds still matches what the game wrote in memory. If the game changed it, the GPU copy is refreshed. | The game streams level data into memory in small blocks and reuses the same memory for later content. If a stale copy is drawn, polygons can stretch across the screen. This check guards against that. Turning it off is only useful to confirm the check is what stops the glitch in the normal case. |
| Reuse unchanged vertex data without re-checking | On | Model data that has been checked once, and is read-only and unchanged, is trusted and not re-checked on later draws. | Re-checking every draw costs CPU time, so this skips it for data that should not change. If a level loads or remaps memory at the wrong moment, the skipped check could keep stale data. Turning it off re-checks every draw: slower, but safer. |
| Buffer growth | Both directions | When the emulator creates a large GPU buffer for streamed data, it adds spare room so it doesn't recreate the buffer for every new block. Options are both directions, upwards only, or off. | It avoids constant buffer re-creation while a level streams in. Joining and growing buffers around overlapping memory is complex, so it is a possible source of odd results. Turning it off removes that path at some cost in speed and memory use. |
| Direct GPU wait | Off (ordered wait) | Changes how the emulator waits for the GPU to finish a unit of work. Ordered (default) waits one step at a time. Direct asks the driver to wait for the wanted step in one go. | A synchronisation difference between drivers. If a wait finishes too early, the emulator may reuse data the GPU still needs. Direct is for ruling this out. |
How to report
- Reproduce the glitch with all options at their defaults, and note the exact place.
- Change one option, reach the same place, and note whether it changed.
- Send back the
report.txtfor each run, plus a screenshot if you can.