RPCS3: Το PS3 emulation γίνεται έως 60% ταχύτερο σε συσκευές ARM

Ο RPCS3, ο πιο ολοκληρωμένος open-source emulator για το PlayStation 3, κάνει ένα σημαντικό βήμα μπροστά στην απόδοσή του σε επεξεργαστές ARM. Σύμφωνα με τον χρήστη (και προγραμματιστή) ‘Whatcookie’, μετά από έξι μήνες δουλειάς στην ARM έκδοση του emulator, η βελτίωση απόδοσης αγγίζει κατά μέσο όρο το 60%, ενώ η κατανάλωση ενέργειας μειώνεται έως και 25%, κάτι που μεταφράζεται σε καλύτερη αυτονομία μπαταρίας σε φορητές συσκευές ή φορητές κονσόλες ARM.

Βελτιστοποιήσεις σε recompiler και εντολές ARM και τα περίεργα προβλήματα που κληρονομήθηκαν από την έκδοση για x86 CPU

Η αρχική έκδοση του RPCS3 για ARM είχε κληρονομήσει σημαντικά προβλήματα απόδοσης, καθώς ο emulator ξόδευε έως και τη μισή CPU του σε μια συνάρτηση ‘busy wait’ τεσσάρων γραμμών κώδικα, η οποία ελέγχει συνεχώς αν άλλαξε μια τιμή.

Στα συστήματα x86 η αντίστοιχη λειτουργία δούλευε ομαλά επειδή ο hardware timer λειτουργεί στα 2-4 GHz, ενώ σε συσκευές ARM όπως το Ayn Odin 2 ο timer δουλεύει μόλις στα 19 MHz (περίπου 150 φορές πιο αργά) κάτι που προκαλούσε καθυστερήσεις έως 150 microseconds. Η διόρθωση αυτού και μόνο του σημείου απέδωσε περίπου 25% επιπλέον απόδοση και 10% χαμηλότερη κατανάλωση ενέργειας.

Ο χρήστης βελτίωσε επίσης τους recompilers του emulator, οι οποίοι είχαν παραμείνει ημιτελείς μετά την αποχώρηση του αρχικού τους δημιουργού, καθώς και βασικές ρουτίνες σύγκρισης και υπολογισμού checksum μέσω εξειδικευμένων εντολών ARM (όπως οι Multiply-Accumulate και UABAL), πετυχαίνοντας επιπλέον κέρδη απόδοσης από 16% έως 38% ανάλογα με τη σχεδίαση του chip.

Ευρύτερο αντίκτυπο: Apple Silicon, Snapdragon και Windows on ARM

Οι βελτιώσεις αυτές δεν αφορούν μόνο φορητά gaming handhelds αλλά και επιτραπέζιους υπολογιστές και laptops με ARM επεξεργαστές, όπως συσκευές με Apple Silicon, Qualcomm Snapdragon X και Windows on ARM (Copilot+ PCs), καθώς και μελλοντικά συστήματα όπως το NVIDIA RTX Spark. Παράλληλα, ξεχωριστές βελτιώσεις συμβατότητας επέτρεψαν σε εκατοντάδες ακόμη παιχνίδια, όπως τη σειρά Ratchet & Clank, να λειτουργούν σωστά σε αρχιτεκτονική arm64, μέσω της υλοποίησης RawSPU MMIO handling από τον προγραμματιστή elad335.

Πηγή.

Περισσότερα

Νέα review

Σχετικά Άρθρα