Skip to content

List of optimizations to original Mupen64plus code

NF3RN0 edited this page Jul 3, 2014 · 1 revision

source/mupen64plus-core/src/memory/dma.c

The original implementation would transfer data byte-by-byte which I assume is to deal with endianness and data alignment issues. The new implementation transfers words instead to speed up the process however the current code does not check for word alignement.

TODO Implement partial word checks/transfers for DMA.

source/mupen64plus-core/src/r4300/interupt.c

The linked list holding 'future interrupts' has been modified to re-use a block of reserved memory instead of using malloc/free. I have only seen around a maximum of 5 interrupts stored during emulation startup.

Interrupts COMPARE_INT and CHECK_INT have been #defined out as they do not appear to be necessary.

source/mupen64plus-input-sdl/src/main.c

Some minor code changes to reduce amount of unnecessary processing.

The input-sdl plugin only uses about 5% of the process CPU time.