ddr: tweaks to mdxf i/o (#464)

## Link to GitHub Issue, if one exists
#452

## Description of change
* Split the MDXF I/O option into three: auto, thread, and backfill.
`auto` is the same as what `thread` used to be before this change (based
on I/O poll rate), but `thread` now always forces thread poll mode.
`auto` is the default (behavior wise, same as before)
* For the poll rate measurement, start polling after 20s mark to avoid
frame drops during game boot
* Minor code clean up

## Testing
manual test in windowed + full screen
This commit is contained in:
bicarus-dev
2025-12-20 01:37:56 -08:00
committed by GitHub
parent c38f42cb19
commit fbc8bc2502
4 changed files with 78 additions and 32 deletions
+11 -5
View File
@@ -3,11 +3,17 @@
#include "../module.h"
namespace acio {
typedef enum {
THREAD_MODE = 0,
BACKFILL_MODE = 1
} MDXFBufferFillMode;
enum class MDXFBufferFillMode {
// backfill mode, but if <120Hz, enable poll thread
AUTO_MODE,
// forces poll thread
THREAD_MODE,
// forces backfill mode (no poll thread)
BACKFILL_MODE
};
extern MDXFBufferFillMode MDXF_BUFFER_FILL_MODE;