Ortalama FPS neden yanıltır? Kare süresi ve takılma

2 dk okuma #oyun

Ekran kartı incelemelerinin çoğu bir tablo ile biter: oyun adı ve yanında ortalama FPS. Tek sayı olması karşılaştırmayı kolaylaştırıyor ama oyuncunun hissettiği şeyi tam anlatmıyor. Bu yazıda neden böyle olduğunu basit bir hesapla gösteriyorum.

FPS ve kare süresi aynı şeyin iki yüzü

FPS, saniyede çizilen kare sayısıdır. Kare süresi ise bir karenin ekrana gelmesi için geçen milisaniyedir. İkisi birbirine şöyle bağlanır: kare süresi (ms) = 1000 / FPS.

  • 30 FPS ≈ 33,3 ms
  • 60 FPS ≈ 16,7 ms
  • 144 FPS ≈ 6,9 ms

Ortalama FPS, bir saniye içindeki karelerin sayısıdır. Hangi karenin ne kadar sürdüğünü söylemez.

Aynı ortalama, farklı deneyim

İki varsayımsal saniye düşün (gerçek bir ölçüm değil, hesap örneği):

  • A: 60 kare, her biri 16,67 ms. Toplam 1000 ms.
  • B: 59 kare 12,5 ms (toplam 737,5 ms) ve 1 kare 262,5 ms. Toplam yine 1000 ms.

İkisi de saniyede 60 kare. Ortalama FPS grafiğinde ikisi birbirinin aynısı. Ama B’de oyuncu çeyrek saniyeye yakın bir takılma yaşıyor. Hız kâğıt üzerinde aynı, deneyim değil.

Bu sorun fark edilmişti

Tech Report’ta Scott Wasson, 8 Eylül 2011’de “Inside the Second: A New Look at Game Benchmarking” başlıklı bir yazı yayımladı. Yazı, pürüzsüz bir oyun deneyimi için FPS’in tek başına yeterli olmadığını, kare gecikmesinin de büyük etkisi olduğunu gösteriyordu. Anandtech gibi yayınlar bu yöntemi sonradan anmış ve 3D oyun ölçümünde bir devrim olarak tanımlamış.

Hangi ölçümlere bakılır?

  • Kare süresi grafiği. Her karenin süresini zaman içinde çizer. Zirveler takılmadır.
  • Yüzdelik dilimler ve “%1 low”. Kare sürelerini sıralayıp en yavaş küçük dilime bakarsın; sonucu genellikle FPS olarak gösterirler. Tanım araçtan araca değişebilir (en yavaş %1’in ortalaması mı, %99’uncu yüzdelik eşiği mi). Karşılaştırma yaparken hep aynı aracı ve aynı tanımı kullanmak gerekir.
  • Eşiği aşan süre. Belirli bir kare süresinin (örneğin 50 ms) üstünde geçen toplam süre.

Kendi sisteminde ölçmek

Kare sürelerini kaydeden araçlar var; bunlardan biri Intel’in geliştirdiği açık kaynaklı PresentMon. Aynı sahneyi birkaç kez ölçüp tekrarlanabilirliğe bakmak, tek bir koşunun sonucuna güvenmekten daha sağlam.

Bu bakış, performans tartışmalarını okurken de işe yarıyor. Örneğin DLSS 5 yazısında aktardığım performans düşüşü iddialarını değerlendirirken hangi metriğin kullanıldığına bakmak gerekir: ortalama FPS mi, kare süresi mi?

Kaynaklar

← tüm yazılar