Oyun süreci ileti dizilerinizin uygun şekilde kullanılıp en iyi performansı sunacak şekilde kullanılıp kullanılmadığını belirlemek için dikkate almanız gereken birkaç nokta vardır.
- Kare ilerleme hızı
- Çoklu iş parçacığı oluşturma ve iş parçacığı paralel yapma
- CPU çekirdeği benzeşimi
Çoklu iş parçacığı oluşturma
Birçok oyun ve oyun motoru, CPU işini mantıksal görevlere ayırmak için çoklu iş parçacıklarını kullanır. Bunlar, birbirinden bağımsız olarak da çalıştırılabilir. Tipik bir yapılandırma; giriş ve oyun mantığı için bir oyun iş parçacığı, çizilecek nesneleri hazırlayıp göndermek için bir oluşturma iş parçacığı ve animasyonlar veya ses gibi diğer alt görevler için çalışan iş parçacıklarıdır.
Çoklu iş parçacığının performans kazancından yararlanmak için iş parçacıklarını paralel hale getirmenizi öneririz. Oyunun ve oluşturma iş parçacıklarının farklı çekirdeklerde kısmen veya tamamen eşzamanlı olarak çalıştığı bir senaryoya örnek olarak verilebilir. Bu durum, paylaşılan veri bağımlılıkları gibi durumlarda her zaman mümkün değildir. Ancak mümkün olduğunda bu, CPU sürelerinin daha düşük olmasına ve dolayısıyla daha yüksek kare hızlarına yol açabilir.
CPU çekirdeği benzeşimi
CPU iş yüklerinizin performansını önemli ölçüde etkileyen faktörlerden biri, iş yüklerinizin çekirdeklerde nasıl planlandığını gösterir. Bu, iki bileşene ayrılabilir:
- Oyun iş parçalarınızın performans için en iyi çekirdeklerde çalışıp çalışmadığı
- Oyun iş parçalarınızın çekirdekler arasında sık sık geçiş yapıp yapmadığı
İzleme alırken profil yapılandırmasında CPU'yu etkinleştirerek CPU Kullanımı altında CPU iş parçacığı davranışını inceleyebilirsiniz. İzlemenizin 200 ms'den küçük bir bölümünü yakınlaştırarak cihazınızın CPU çekirdeklerinde çalışan işlemleri ayrı ayrı görüntüleyebilirsiniz. Genellikle küçük çekirdekler daha küçük dizinlere (ör. CPU 0
-3
), büyük çekirdekler ise daha yüksek dizinlere (ör. 6
-7
CPU) karşılık gelir.
Genel olarak oyun ön plandayken oyun iş parçacığı ve oluşturma iş parçacığı gibi kalıcı iş parçacıkları, yüksek performanslı büyük çekirdeklerde çalışırken diğer işlem ve çalışan iş parçacıkları daha küçük çekirdeklerde planlanabilir.
Ayrıca, oyun iş parçacıklarınızın çekirdekler arasında sık sık geçiş yapıp yapmadığını, ana ve oluşturma iş parçacığınızın tek bir CPU çerçevesi içinde veya iki ardışık CPU çerçevesi arasında çekirdekleri değiştirip değiştirmediğini de gözlemleyebilirsiniz. Bu CPU davranışı, muhtemelen oyun iş parçacıklarınızın doğru bir şekilde ilişkilendirilmediğini gösterir. Bu tür çekirdek anahtarlar, bağlam anahtarı nedeniyle biraz ek yüke ve çekirdeğin önbelleği/kayıtlarıyla durum kaybına neden olarak CPU çerçevenizin uzunluğunu artırır.