Wie man den Playdate-Prozessor mit schmutzigen C-Tricks ausquetscht
Dirty Optimization Secrets (C for Playdate)
Ein Entwickler teilt unkonventionelle Optimierungstricks für den Playdate, die er beim Bau eines Gameboy-Emulators mit voller Geschwindigkeit entdeckt hat. Dazu gehören das Ausnutzen des schnellen CPU-Caches, das Anpassen der Codegröße für den 4-KB-Instruktionscache, das Verschieben von Daten und Code in den TCM-Speicher sowie das Bekämpfen von Cache-Fehlausrichtungen und Branch-Prediction-Effekten. Die Tipps richten sich an erfahrene Entwickler, die Emulatoren, Simulationen oder Renderer auf leistungsbegrenzter Hardware beschleunigen wollen.
Die ersten Dinge, die ich zur Verbesserung der Leistung bei der Gameboy-Emulation unternommen habe, waren, den 20 KB großen Emulator-Kern auf nur 2 KB zusammenzuquetschen, indem ich eine riesige Switch-Tabelle entfernte und ihn mit viel weniger Code und nur ein paar Verzweigungen ausdrückte. (Und -Os verwendete.) Das Verhalten war identisch, aber das Ergebnis war viel schneller.