ReC98/platform/x86real
nmlgc 4837ec7ec9 [Research] Benchmark various sprite blitting approaches
Running this on various PC-98 models confirms that unchecked blitting
(i.e., what you would intuitively consider to be the best method) is in
fact faster than checking either byte of a 16-pixel-wide sprite
beforehand, and has been throughout the PC-98's lifespan. For optimal
performance on the 286 and 386, we might want to use MOVS instead of
MOV, but even that difference is way too small to truly matter.
Also, nice to see turns out that our blitter outperforms a naive pure C
implementation by 2-4×, depending on the model. And master.lib is not
*that* much faster…

The gaiji in `Research/blitperf.bmp` were taken from the Unifont
version 15.0.01 glyphs for:

	• U+2022 BULLET •
	• U+23F1 STOPWATCH ⏱
	• U+1F40C SNAIL 🐌

Part of P0233, funded by [Anonymous].
2023-03-04 19:40:55 +01:00
..
pc98 [Research] Benchmark various sprite blitting approaches 2023-03-04 19:40:55 +01:00
flags.hpp [Platform] [x86 Real Mode] CPU flag macros 2023-02-28 08:08:16 +01:00
noexcept.cpp [Platform] [x86 Real Mode] Implement Turbo C++ 4.0J exception handler removal 2023-02-28 08:07:53 +01:00