PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?

featured
Paylaş

Bu Yazıyı Paylaş

veya linki kopyala

Emülasyon yazılımları donanımın elektronik kısımlarından ziyade, komutlara nasıl yanıt verdiği üzerine yoğunlaşırlar. Bazı sistemler çok komplike olduğundan dolayı emülasyonu sağlayan donanımlar arası sık sık irtibat gerekiyor ve PlayStation 3 de bu sistemler arasında yerini alıyor. Her ne kadar RPCS3 bu yükü azaltacak algoritmalara sahip olsa bile genel olarak iyi bir emülasyon deneyimi için iyi bir donanım ve donanımı iyi yönetebilen, güzel konfigüre edilmiş bir firmware gerekiyor. Çayınızı ve kahvenizi hazır etmeyi unutmayın, çünkü teknik bir sohbet edeceğiz ve kafanızdaki soru işaretlerini mümkün olduğunca azaltacağız!

RPCS3’ün yüksek bellek performansı gerektirmesinin iki tane sebebi var.

  1. Cell işlemci emülasyonu: SPU’nun (bir nevi “Cell” işlemcinin “SIMD” uzantısı denebilir) ana belleğe erişimi, hız kazandırmak adına işlemci yerine DMA (Direct Memory Access – Direkt Bellek Erişimi) kontrolcüsü üzerinden yapılmaktadır. Bunu emüle etmek zordur, çünkü RPCS3’ün hedef olarak çalıştığı x86 mimarisinde DMA sistemi yoktur. x86 sistemlerde işlemci kullanılarak belirli bir bellek adresine erişim sağlanmaktadır.
  2. RSX GPU emülasyonu.

RSX bellek işlemleri, RPCS3’ün kendi içerisinde indirme ve yükleme (download ve upload) olmak üzere ikiye ayrılıyor. Yükleme işlemi; kaplamalar, shader kodları gibi verilerin işlemciden GPU’ya taşınması işlemidir. Bu yükleme işlemi, GPU sürücüsü tarafından asenkron ve yoğun bir şekilde yığınlama (batching) kullanarak hallediliyor. Büyük oranda veri taşındığı için çok fazla PCI-E bant genişliği (bandwidth) kullanılıyor. RPCS3 takımı bunu kullanıcılara hissettirmemek amacıyla çalışmalarını sürdürüyor ancak bu işlem RSX çipinin mimarisinde olduğundan dolayı zorunlu. Bellekleriniz hızlı değilse veya eski bir PCI-E sürümü kullanıyorsanız, bu gecikmeyi hissedebilirsiniz.

İndirme işlemi ise yükleme işleminin tersi bir şekilde, GPU’dan işlemciye veri transferi işlemine deniyor. Bu işlemde ise maalesef bellek gecikmesinin üzeri çok fazla örtülemiyor. Çoğu zaman GPU belleğine işlemci tarafından uyarı verilmeden ulaşılıyor. Böylece GPU’nun istediğimiz bilgiyi işlemciye verip, PCI-E üzerinden yanıt alınmasını bekliyoruz. Hatta bazı oyunlar, daha sonra çok ihtiyaç duymayacakları verileri belleğe yazıyorlar, bu da daha fazla gecikme demek. Bundan dolayı RPCS3’te varsayılan olarak “Buffer options” ayarı pasif olarak geliyor ve o bellek adresinde hiçbir şey olmamışçasına davranılmasını sağlıyor.

GPU kullanımınız yüksek olduğu zaman RPCS3’ü kullanmamanız daha iyi olacaktır. GPU’nuz bu bahsetiğimiz asenkron erişimlere yetişemeyebilir ve sonucunda düşük performans alabilirsiniz. Yani sistemde ekran kartını tek kullanan uygulamanın RCPS3 emülatörü olmasında fayda var.

PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?

RPCS3 takımı daha iyi bir bellek tahmin algoritmasından bahsediyor. Bu algoritma hayata geçirilebilirse işlemcinin erişebileceği bellek bloğunu tahmin edip önceden GPU komutlarını hazır hale getirecek, bu da biz kullanıcılara performans olarak yansıyacak. Öte yandan Resizable BAR (veya Smart Access Memory) teknolojisi sayesinde bu gecikmeyi azaltabileceğinizi belirtelim.

Teorik olarak bilgilendiğimize göre bu bilgimizi kıyaslama ile pratiğe dökebiliriz. Öncelikle kıyaslanan konfigürasyonları sahneye alalım:

PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?
Konfigürasyon öncesi AIDA64 profili.
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?
Konfigürasyon sonrası AIDA64 profili.

Manuel olarak bellek ayarı yapmak, veya XMP’yi aktifleştirmek gibi ince dokunuşlar sadece RPCS3 üzerinde değil, tüm uygulamalarda işinize çokça yarayacaktır. Böylece gecikmeyi azaltabilir ve bant genişliğini arttırabilirsiniz. (Minimum ve maksimum FPS değerleri arasındaki farka dikkat ediniz.):

Konfigürasyon sonrası Konfigürasyon öncesi
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?

(Görselleri büyütmek için yeni sekmede açabilirsiniz.)

Bazı kişiler PCI-e’nin hangi sürümünü kullandığını bile bilmiyor, ve bundan dolayı hız düşüşleri yaşıyorlar. Aslına bakarsanız bu kriter, işlemci ile GPU’nun haberleşme hızını belirliyor. PCI-E sürümü ne kadar güncel olursa bant genişliği o kadar artıyor. Böylece GPU-işlemci arasındaki veri transferleri, daha hızlı gerçekleşiyor.

PCI-E 1.1 x16 PCI-E 2.0 x16 PCI-E 3.0 x16
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?

PCI-E sürümünün güncel olmasının sadece RPCS3 üzerinde değil, çoğu oyunda da işe yaradığını belirtelim. “Horizon: Zero Dawn” oyununun PC portu, GPU ile sürekli iletişim halinde olduğu için PCI-e standardının güncelliği oyun deneyiminizi etkileyecektir.

RPCS3, bilgisayarların sınırlarını zorlaması ile bilinen bir uygulama. Konu overclock’a gelince beklenildiği üzere RPCS3’ün de performansı artıyor. Fakat Sandy Bridge ve üstü bir Intel işlemcide çoğu kullanıcı ringbus overclock’lamayı bilmiyor.

RPCS3’te bellek kullanımı fazla olduğundan dolayı, L3 önbelleği de sık sık kullanılıyor. Bu yüzden ringbus frekansını arttırmak, transfer bant genişliğini arttıracaktır. Bu da bizlere FPS olarak geri dönecektir.

48x Cache 40x Cache
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?

Ayrıca RPCS3’ün AVX komut setlerinden faydalandığını belirtelim. AVX komut setlerini devre dışı bırakıp overclock yapan kullanıcılar performans düşüşü yaşayacaktır.

Nedir bu “ringbus”?

Sandy Bridge öncesi Intel işlemcilerde, her çekirdeğin özel L3 önbelleği bağlantıları vardı. Bu da çekirdek başına yaklaşık 1000 hat daha fazla yer kaplanması demekti. Bu yaklaşımın, L3 belleğine ihtiyacın artması ile birlikte o kadar da iyi olmadığı gözlemlendi.

PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?
Ringbus sisteminin görselleştirilmiş hali.

Ayrıca Sandy Bridge mimarisine Intel, L3 belleğini paylaşan GPU ve video transkodlama motoru koydu. Yaklaşık 1000 hat  daha bağlamaktansa Intel, ringbus sistemi ile bu işi halletti. Böylece Intel, ortak bir hat üzerine işlemci çekirdeği ve transkodlama motoru gibi komponentleri bağladı.

AMD kullanıcıları ne yapmalı?

Evet, Intel’de olduğu gibi AMD’de bir ringbus sistemi bulunmuyor. Çünkü ringbus teknolojisinin patenti Intel’in elinde.

AMD işlemcilerde ise bunun yerine “Infinity Fabric” denilen alternatif bir teknoloji mevcut. DRAM kontrolcüsü, PCI-E kontrolcüsü gibi komponentlerin gecikme ve bant genişliğini bu teknoloji kontrol ediyor. Infinity Fabric, konfigüre edilebiliyor ve hız olarak bellek hızıyla 1:1 oranda çalışması optimal stabilite ve performans ayarı olarak geçiyor. Bazı durumlarda 1:1 oranında çalışmadığı da olabiliyor, bu da gecikmeyi arttırabiliyor. Fakat 3600 MHz’in üzerindeki bellek hızlarında stabiliteden ödün verilerek genel anlamda bir performans elde etmek mümkün.

Bir çoğumuzun hatırladığı üzere, 2018’in başlarında Meltdown ve Spectre açıkları donanım dünyasını kasıp kavurmuştu. Modern işlemcilerin daha hızlı çalışmasını sağlayan bazı özelliklerde açık bulunmuştu, bundan dolayı bu özellikler kullanıcıların güvenliği adına devre dışı bırakılmıştı. Kullanıcı güvenliği adına çok iyi bir adım olduğu su götürmez bir gerçek. Fakat daha fazla performans isteyen kişiler için performans azalması can sıkıcı.

RPCS3’ün performansı da bu işlem sonucu aynı diğer uygulamalarda olduğu gibi düşmüş durumda. Aşağıda bulunan görsellerde performans farkını görebilirsiniz.

Koruma açık Koruma kapalı
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?

Ryzen ve yeni nesil Intel makinelerin yukarıda bahsedilen açıklardan sadece birinden etkilendiğini dipnot olarak düşelim. Ayrıca Technopat olarak bu korumaların kapatılmasını önermediğimizi ve sadece aklınızda bulunması adına sizlere bu bilgiyi sağlamış olduğumuzu belirtelim.

Aşağıdaki resimlerde bellek ve cache (ringbus) frekanslarını arttırdıktan sonra oluşan artışı görebilirsiniz.

Optimizasyon öncesi Optimizasyon sonrası
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?

Donanım değişikliği yapmadan nasıl emülasyon performansınızı arttırabileceğinizden bahsettik. Eğer işlemciniz sizin emülasyon performansınızı düşük tutuyorsa, hangi işlemciyi alabileceğiz konusundaki soru işaretini giderebiliriz.

Aslına bakarsanız bu soru RPCS3’ün kendi sitesinde cevaplanmış bulunuyor. Fakat bu özellikler, RPCS3’ün uyumluluk listesindeki oyunlar için önerilmiş. Eğer bu listede sıralanmayıp, oynanabilir olarak düşündüğünüz oyunları oynamak istiyorsanız; yeni bir işlemci alırken şu noktalara dikkat etmenizde fayda var:

  • Kaç adet mantıksal işlemci (thread) var?
  • Tek çekirdek performansı ne durumda?
  • Oynamak istediğiniz oyunların TSX’e ihtiyacı var mı?

RPCS3, işlemcideki “multithreading” özelliğini sıkça kullanan bir uygulama. Öyle ki, kendi sitelerinde 16 thread’e kadar yüklüce bir şekilde kullanabileceği yazıyor. Fakat 16 thread’in üzerine çıkılmasının çok fazla fark etmediği gözlemlenmiş. Bu tür bir durumda ise tekli çekirdek performansı daha büyük bir kriter oluyor. Ayrıca 16 thread’in bir zorunluluk olmadığını hatırlatalım; örneğin RDR ve diğer bazı oyunlar için 8 çekirdek/8 thread bir işlemciden 8 çekirdek/16 thread bir işlemciye geçmek büyük bir fark oluşturmayacaktır.

PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?

Transactional Synchronization Extensions (TSX), donanımsal olarak işlemsel bellek setini (transactional memory) ekleyen bir komut setidir. Yani TSX komut setleri, belleğin bir parçasına eriştikten sonra bir işlemi devam ettirmemize izin verir fakat başka bir işlem (veya başka bir iş parçacığı) aynı belleğe erişirse, bellekte önceki işlemde yapılan değişiklikler yok sayılır. Kısaca TSX, “mutex” sisteminin donanımsal olarak hızlandırılmış halidir.

İş parçacığı kontrolü yapılmadığı zaman, “race condition” denilen durum oluşabilir. Yani bilgisayar aynı anda iki işi birlikte yapmaya çalışır. Bilgisayarın doğasında böyle bir şey olmadığından dolayı sorunlar baş gösterir. Bu yüzden iş parçacığı kontrolü yapılmalıdır. TSX komut setleri ise bu kontrolleri donanım seviyesinde verdiğinden dolayı çok hızlı bir biçimde iş parçacığı kontrolü yapabiliriz.

PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?

TSX çok güzel gözükse de, yukarıda söz ettiğimiz güvenlik açıkları sonucu kırpılmak zorunda kaldı. TSX destekli işlemcisi olup Meltdown ve Spectre açıklarına karşı koruma güncellemesi alan kullanıcılar, RPCS3’ün emülatör log’larının ikinci satırında “TSX-FA” ibaresiyle karşılaşacaklardır. Bu da “Force abort“, yani zorunlu durdurma anlamına geliyor. Önceden bahsettiğimiz gibi TSX, belleğin bir kısmını modifiye etmemize ve daha sonrasında işlemi devam ettirmemize izin verse de, diğer bir işlem (thread) aynı bellek adresini modifiye ederse önceki modifiyeyi yok sayar.

Zorunlu yok sayma durumu ise açık karşıtı microcode’un bu işleme izin vermemesinden dolayı kaynaklanıyor. Yok sayma sayıları artınca da, performansta düşüş baş gösteriyor. Bu durum Nekotekina isimli geliştiricinin uyguladığı “Fallback Path” ile çoğunlukla düzeltildi. Bu sayede, çok fazla yok sayma durumu yaşandığı zaman RPCS3 emülatörü, donanımsal mutex sistemi olan TSX uzantıları yerine yazılımsal mutex sistemine geçiyor.

Microcode güncellemesini elbette geri alabilirsiniz, fakat güvenlik açıklarına karşı korumasız olacağınızı hatırlatalım.

PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?

TSX teknolojisinin patenti de yine Intel’in elinde. AMD bir zamanlar ASF ismini verdiği alternatif bir teknoloji ile Intel’in TSX’ine kafa tutacaktı fakat bu gerçekleşmedi. Özellikle TSX’te bulunan açıkların etkisi bu durumda büyük rol oynuyor. Ayrıca “elad335” rumuzlu RPCS3 geliştiricisi, RPCS3’te bazı şeyleri değiştirdi. Böylece TSX olmayan işlemciler ile olanlar arasında eskiden olduğu kadar performans farkı kalmadı. TSX’e geçiş artık getirdiği performans ve stabilite sayesinde tercihe bağlı hale geldi.

Oyunların büyük çoğunluğu TSX gerektirmiyor fakat çoğu revaçtaki oyun için TSX kullanımı zorunlu sayılabilir. Örneğin God of War III, God of War Ascension, Uncharted 2/3 ve The Last of Us gibi oyunlarda TSX komut seti sıkça kullanılıyor. TSX olmadığı zaman bu oyunlarda donma ve çökme problemleri sıkça baş gösteriyor. Bu da TSX komut setine sahip olmayan kullanıcılarda doğal olarak bir endişe uyandırabiliyor. Fakat RPCS3’te bulunan “Accurate RSX Reservations” ayarı, TSX komut setini de emüle edebiliyor. Bu tabii ki performans açısından TSX kadar hızlı olmayan bir yöntem, fakat bahsettiğimiz gibi TSX’i sıkça kullanan oyunlarda sizlere stabilite kazandıracaktır. Ayrıca “kd-11” rumuzlu geliştiricinin daha iyi bir TSX emülasyonu üzerinde çalıştığını dipnot olarak belirtelim.

TSX kapalı, eski TSX emülasyon metodu açık TSX kapalı, yeni emülasyon metodu açık TSX açık
PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır? PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?

TSX’e sahip olmayan işlemci kullanıcıları için yeni metod bizce çok iyi oldu. Özellikle Intel’in 10.nesilde TSX’i kaldırdığını düşünürsek, gelecekte de bu metod işe yararlılığını koruyacaktır.

RPCS3 Discord sunucusunda, kullanıcıların kullandığı işlemcilerin kıyaslanması ve yeni işlemci alan kişilerin soru işaretlerini gidermesi adına gönüllü bir benchmark testi yapılmış. Bu test sonucunda çıkan grafik aşağıdaki gibi olmuş:

PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?
İşlemcilerin Red Dead Redemption oyunu içerisindeki kıyaslamaları.

Bu testlerde şu ayarlar kullanılmış:

  • İşletim sistemi: Windows 10 2004
  • SPU Döngü Algılaması (SPU Loop Detection): Devre dışı
  • SPU Blok Boyutu (SPU Block Size): Mega
  • Anti-Aliasing: Devre dışı
  • Renderer: Vulkan
  • Relaxed ZCull: Aktif
  • Uyku Zamanlayıcı Bütünlükleri (Sleep Timers Accuracy): Ana makine ile aynı
  • VBlank: 120 Hz (30 FPS limiti üzerine çıkmak amaçlı aktif.)

Çoğu kişi Ryzen 9 3950X’in nasıl olur da iki katı fazla çekirdek sayısı ve cache boyutu olmasına rağmen Ryzen 7 3800X’in gerisinde kaldığını merak ediyor. Bunun sebebi ise, 3950X’te aynı Threadripper işlemcilerde olduğu gibi “çoklu die” bir tasarımın hakim olmasıdır. Bu yüzden de çekirdekler arası gecikme oluyor.

PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?
Ormanda bir Threadripper’ın dört Ryzen 7 gücünde olduğu söylentileri gerçekmiş!

Diğer yazılımlardan farklı bir şekilde RPCS3’te sanal PPU ve SPU iş parçacıkları sürekli olarak irtibat halinde olduğundan dolayı, bu iş parçacıklarının farklı die’larda olması büyük bir darboğaz oluşturuyor. Bundan dolayı die başına 3 veya 4 çekirdeğe sahip olmadığı sürece Ryzen işlemcilerin kullanılması, RPCS3 tarafından pek tavsiye edilmiyor.

Tavsiye edilen Ryzen işlemciler ise; RPCS3, PPU ve SPU iş parçacıklarını tek bir die’a sığdırabileceği öngörülerek tavsiye ediliyor. Böylece gecikmenin de önüne geçiliyor. Her ne kadar diğer Ryzen işlemcilerde de artık bunun önüne geçiliyor olsa da, RPCS3 için hala büyük bir darboğaz demek. Ayrıca Microsoft’un da, Windows 10’un 1903 sürümünde Ryzen işlemciler için çoklu görev zamanlayıcısını güncellediğini hatırlatalım.

Intel işlemcilerde ise böyle bir gecikme sorunu yok, çünkü Intel işlemciler tek bir die üzerinde çalışacak şekilde tasarlanıyor. Ayrıca Intel işlemcilerin tekli çekirdek performansının daha yüksek olduğunu düşünürsek, genellikle neden AMD tarafında denk işlemcileri geçtiğini daha iyi anlayabiliriz.

PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?
i7 8700K işlemcideki die.

Bunlarla beraber, i9 9900KS ile i9 9900K’nın arasındaki 5 FPS’lik fark çoğunlukla saat hızından dolayı olsa da, daha büyük önbellek boyutu ve daha hızlı bellekler bu farkın oluşmasında etkili. Red Dead Redemption’ın bu tarz detaylara bayıldığını yukarıda görebilirsiniz.

Özet

Bu yazımızda sizlere RPCS3’ün emülasyon performansını nasıl arttırabileceğinizi teknik detaylar ile beraber anlattık ve Technopat’lar için okuması gayet keyifli bir yazı ortaya çıktı! Aklınızda kalan soru işaretlerini Technopat Sosyal üzerinden sorabilir, eklemek istediğiniz bir şey olursa yorumlar kısmında bizimle buluşabilirsiniz!

PS3 Emülatörü RPCS3 Performansı Nasıl Artırılır?

izmir escort

izmir escort

antalya escort

escort izmir

bursa escort

porno izle

türk porno

escort antalya

apkdownloadx.com

izmir escort

eskişehir escort

takipçi satın al

instagram takipçi satın al

tiktok takipçi satın al

tiktok beğeni satın al

gramtakipci.com.tr

smm panel

oyun forumu

antalya escort

istanbul escort

izmit escort

porno

escort beşiktaş

escort avcılar

istanbul escort

porno izle

izmir escort

porno izle

istanbul escorts