Açık kaynaklı PlayStation 3 emülatörü RPCS3'ün geliştiricileri, PS3'ün Cell Broadband Engine işlemcisini emüle etme konusunda önemli bir atılım gerçekleştirdiklerini duyurdu. Baş geliştirici Elad'ın, daha önce fark edilmemiş SPU (Synergistic Processing Unit) kullanım desenlerini keşfetmesi ve bunları daha verimli PC çıktılarına dönüştürecek yeni kod yolları yazmasıyla elde edilen bu gelişme, emülatör kütüphanesindeki tüm oyunları olumlu etkiliyor. Özellikle SPU'yu yoğun kullanan 'Twisted Metal' oyununda, önceki sürümler arasında ortalama %5 ila %7 arasında bir FPS artışı gözlemlendi.
PS3'ün Cell işlemcisi, PowerPC tabanlı bir PPU'yu (Power Processing Unit) yedi adede kadar SPU ile birleştiriyordu. Her bir SPU, kendi 256KB yerel depolama belleğine sahip 128-bit'lik bir SIMD yardımcı işlemciydi. RPCS3, SPU iş yüklerini, orijinal Cell komutlarını LLVM ve ASMJIT arka uçlarını kullanarak yerel x86 koduna yeniden derleyerek emüle ediyor. Bu çevirinin kalitesi, her bir emüle edilmiş SPU döngüsünün ne kadar ana CPU süresi tükettiğini doğrudan etkiliyor.
SPU emülasyonu, RPCS3'teki en büyük CPU darboğazını oluşturuyor. PS3, oyun iş yükleri için aynı anda altı adede kadar SPU çalıştırabilirken, her biri ana CPU'nun bir iş parçacığında yeniden derlenmeli ve çalıştırılmalıdır. Elad'ın katkısı, PS3 oyunlarının SPU komutlarını nasıl kullandığına dair yeni desenler belirleyerek, bu komutlar için daha verimli bir yeniden derleme uygulamasını mümkün kılıyor.
Bu, aynı SPU iş yükleri için daha sıkı ana taraf makine kodu anlamına geliyor ve bu da genel CPU yükünü azaltıyor. RPCS3, kare hızı kazancını gösteren 'Twisted Metal' oyunundan yan yana karşılaştırmalı videolar paylaştı. Demonstrasyonda kullanılan kesme sahnelerinin, her çalıştırmada değişen dinamik aydınlatma, NPC konumlandırması ve çevresel efektler içerdiği, bu nedenle çekimler arasında küçük görsel farklılıklar olabileceği belirtildi.
RPCS3, bu optimizasyonun düşük ve üst düzey tüm CPU'lardan fayda sağladığını ve hatta bütçe dostu bir APU olan çift çekirdekli AMD Athlon 3000G üzerinde bile ses işleme performansının iyileştiği ve Gran Turismo 5'te biraz daha iyi performans alındığına dair kullanıcı raporlarını aktardı.
RPCS3'ün kod tabanında 'elad335' olarak bilinen Elad, proje üzerinde uzun yıllardır SPU optimizasyonu çalışmaları yürütüyor. Haziran 2024'te yaptığı SPU optimizasyonları, dört çekirdekli, dört iş parçacıklı CPU konfigürasyonlarında %30 ila %100 arasında performans artışı sağladı ve 'Demon's Souls' gibi oyunlarda kısıtlı donanımlarda kare hızlarını ikiye katladı.
Mart ayında RPCS3, 'Minecraft' PS3 sürümünün başlık ekranında 1.500 FPS'nin üzerinde bir performansa ulaşarak, projenin yeniden derleme hattının verimliliğini gösteren bir dönüm noktasına imza atmıştı. Birkaç hafta sonra ise, son SPU iyileştirmesiyle birlikte, proje Apple Silicon Mac'ler ve Snapdragon X dizüstü bilgisayarlar dahil olmak üzere Arm donanımlarında SPU emülasyonunu hızlandırmak için yeni Arm64 SDOT ve UDOT komut optimizasyonları ekledi.
RPCS3, şu anda PS3 oyun kütüphanesinin %70'inden fazlasını oynanabilir olarak listeliyor ve Windows, Linux, macOS ve FreeBSD platformlarını destekliyor. Ayrıca, 2024'ün sonlarında yerel Arm64 mimari desteği de eklenmişti.