https://bit.ly/2LlMcAq

https://twitter.com/AlenL/status/1022107889354395648?s=19

@nuguryurtsever

Edit: Link Medium linki ama içinde @ geçtiği için site almıyor. Mecbur böyle koydum.

Pc'de oyunlar sabit 60 fps , 100 fps te çalışsa dahi oluşan micro stutter sorununu derinlemesine ele alan bir yazı ve çözüm için en azından şimdilik Vulkan API'da yer alan ve( ilerde umarız diğerlerinde de ) umut veren extension. Valve ve CroTeam ( Serious Sam , Talos Principle ) GDC'de bunun sunumunu yapmışlardı ama yazısı yeni düştü. Fixed hardware olmasa dahi ( Ps ve Xbox gibi ) konsollardaki o kusursuz akıcılığın pc ve Android tarafında da yakalanması gerçekten iyi olacak.

BeğenFavori PaylaşYorum yap
  • Uğur Yurtsever @ugury

    Güzel yazıymış. Frame timing gerçekten çok önemli. Zira bir oyunun ne kadar akıcı çalıştığını min-max-ortalama fps değerlerinden ziyade, saniyede gösterilen kare miktarının söz konusu saniye içerisinde ne kadar homojen dağıldığı belirliyor. Canavar gibi bir sistemin saniyede oluşturduğu 100 karenin 90'ı, bu saniyenin ilk yarısında oluşturuluyorsa hiçbir anlamı yok gerçekten.

    Bu yüzden oyun testlerinde ortalama fps değerlerini verip geçme devri de çoktan kapandı bana kalırsa. Bu tarz testleri hiç bakmadan kapatıyorum artık ben, zira günümüz dünyasında neredeyse hiçbir fikir vermiyor bu testler. Bir oyunun bir donanımda nasıl çalıştığını anlamak için kesinlikle frame time değerlerine bakılmalı.

    Öte yandan ben açıkçası konsolların da bu konuda süper başarılı olduklarını düşünmüyorum. Donanımın gücünü zorlayan oyunlar olduğunda hemen dalgalanmalar başlıyor. Yine de PC'ye göre avantajlı oldukları kesin. Vulkan gibi low level api'lerin katkısı önemli olacaktır burada elbette.

  • Housedakitopal @housedakitopal

    Kısaca özetlersek , sorunu kendi tarafımızda çözdük aslında Serious Sam 2 zamanında diyor. Motora variable bir frame rate ile değilde sabit 60 fps ile çalıştığını ve geri kalan her değeri ignore etmesini söyleyerek yaptık diyor. Tıpkı eski günlerde konsolların çalışacakları TV'lerin PAL veya NTSC olmasına göre çıkış vermesi gibi. Tabi bu 60 fps dışında herşeyi ignore et çözümü sadece kendi donanımları için geçerli. Aksi takdirde 60 fps sağlayamayacak veya bu değerin kat be kat üstüne çıkacak konfigurasyonlarda sorun yaşanması kaçınılmaz bu tarz bir çozümle.

    Pc'de envai çeşit donanım , değişken varken bunu sağlamak o kadar kolay değil ama şimdilik bir API uzantısı sayesinde bu sorunun üstesinden gelmişler gibi görünüyor. Ama hala son kullanıcıya sunulmaya hazır değil zira hem her api desteklemiyor hem her driver desteklemiyor hem de Vulkan Api'ın bile her platformdaki implementasyonunda yok. Sadece Android ve Linux şimdilik.

  • Housedakitopal @housedakitopal

    @ermanyurdakann Yok. Fps sınırlama burada çözüm değil. Zira o yazıda söylenen Pal-Ntsc - konsol örneğinde bu üçlemenin dışına çıkamaz kullanıcı. Ama mesela benim bilgisayarda Gtx 1050 varken sende Gtx 1080 Ti var , birinde Rx 580. İşlemci olarak bende i7 var , sende Ryzen , digerinde i3.

    Bunlarin gücleri haliyle farklı ve o istenilen kareyi aynı anda aynı şekilde gpu ya submit etmeleri bile farklı sürelerde. O yüzden bu tarz bir sınırlama yine de çözüm olmuyor , ki anlatılan bu sinırlamayı bu ekosistemde yapsanız dahi stutterdan yine de kurtulamayacağınız.