1 puan yazan GN⁺ 2025-08-16 | 1 yorum | WhatsApp'ta paylaş
  • MacBook’ta tam ekran oyun çalıştırıldığında, çoğu oyun ekran çentiği sorunu nedeniyle bulanık render ediliyor
  • Sistemin çözünürlük seçimi mekanizması çentik alanını hesaba katmadığı için yanlış çıktı alanı seçimine yol açıyor
  • 16:10 çözünürlük seçimi geçici bir çözüm olsa da, temel neden Apple’ın API tasarımı ve yönlendirme eksikliği
  • Sorun, öne çıkan oyunlarda (Shadow of the Tomb Raider, No Man’s Sky vb.) yeniden üretilebiliyor; bazı yeni oyunlar (Cyberpunk 2077) bunu doğru işliyor
  • Apple’ın HIG ve API güncellemeleriyle geliştirici rehberliğini ve desteğini iyileştirmesi gerekiyor

Sorun: Mac’te tam ekran oyunlarda bulanık render’ın nedeni

  • Bu sorun, Eylül 2023’ten beri FB13375033 konusu olarak Apple’a bildirilmiş durumda
  • Oyunlar MacBook ekranında tam ekran çalıştırıldığında, çoğu oyun çentik (notch) alanını doğru hesaba katmadığı için render hatası oluşuyor
  • Birçok oyun sistemden desteklenen çözünürlük listesini alıp ilkini seçiyor; ancak AppKit içinde kullanılabilen gerçek tam ekran alanı çentiğin altıyla sınırlı
  • Oyun tam ekran ekran çözünürlüğünde çıktı verdiğinde, gerçekte çizilebilir alan daha küçük olduğundan kare dikey olarak sıkışıyor ve bulanıklaştırma sorununa yol açıyor

Mac ekranının alan yapısı

  • Çentikli Mac ekranlarında üç ana alan bulunuyor
    • Tam ekran sınırları (çentik ve menü dahil)
    • Safe area (çentiğin altı)
    • AppKit içinde kullanılabilen tam ekran alanı (menü çubuğunun altı)
  • CGDisplayCopyAllDisplayModes fonksiyonunun döndürdüğü çözünürlük listesinde tam ekran çözünürlüğü ile menü çubuğu altı çözünürlüğü (çoğunlukla 16:10 oranı) birlikte yer alıyor
  • Oyunların çoğu listedeki ilk girdiyi kullanarak hatalı çıktı üretiyor
  • Örnek: Shadow of the Tomb Raider varsayılan olarak tam ekran çözünürlüğü olan 3456x2234 ile başlıyor, ancak gerçekte çizilebilir alan 3456x2160; bu 74 piksellik fark ekranın sıkışmasına ve bulanık render edilmesine neden oluyor

Çözüm: Doğru çözünürlüğü seçmek ve geçici kaçınma yöntemleri

  • Kullanıcılar için: Çentikli Mac ekranlarında tam ekran oyun çalıştırırken 16:10 çözünürlüğü elle seçmek önemli; oyunlar bunu otomatik olarak doğru ayarlamıyor
  • Geliştiriciler için: NSScreen içindeki safeAreaInsets özelliğini kullanarak çözünürlük listesini daha hassas biçimde filtrelemek gerekiyor
    • Safe area ölçütüne uyan çözünürlükleri süzen bir algoritma kodla sunuluyor; ancak bu yöntem 4:3 gibi bazı çözünürlükleri gereğinden fazla filtreleme yan etkisine sahip
    • Özünde ise Apple düzeyinde bir iyileştirme gerekiyor

Etkilenen oyunlar: Öne çıkan örnekler ve mevcut durum

  • Shadow of the Tomb Raider, Control Ultimate Edition, No Man’s Sky, Riven, Stray gibi oyunların çoğunda yanlış varsayılan çözünürlük nedeniyle sıkışmış ve bulanık render görülüyor
    • Control: çözünürlüğü kendi içinde keyfi olarak belirliyor ama gerçek Mac çözünürlüğüyle eşleşmiyor
    • No Man’s Sky: yanlış oranların yanında hem safe area hem de non-safe-area çözünürlüklerini sunuyor
    • Riven, Stray: varsayılan olarak sıkıştırılmış çözünürlükte render ediyor
  • Cyberpunk 2077, 16:10 oranında doğru çözünürlüğü seçiyor; kullandığı iç filtreleme yöntemi açıklanmış değil
  • World of Warcraft: eski API sayesinde çentiğe kadar çizebildiği için tam çözünürlüğü doğru uygulayabiliyor

Apple ne yapabilir: Apple’ın müdahale etmesi gerekiyor

  • HIG (Human Interface Guidelines) belgelerine çentikli ekranlarda çözünürlük işleme ve yönlendirme eklenmesi gerekiyor
  • AppKit/Cocoa içinde çözünürlük filtreleme işlemini kolaylaştıracak şekilde CGDisplayMode güncellenmeli
  • Oyun optimizasyonuna özel yeni bir API tasarlanmalı; çözünürlük listeleri ve boilerplate yükü azaltılmalı
  • Geliştiricilere, çözünürlük sorgulamak yerine kendi çözünürlük listelerini üretmeleri veya “render scale” yaklaşımını kullanmaları önerilebilir
  • Bu iyileştirmeler yapılırsa Apple’ın resmî belgeleri ve örnek kodları da birlikte güncellenmeli

1 yorum

 
GN⁺ 2025-08-16
Hacker News görüşleri
  • Ekranda yuvarlatılmış köşeler ve çentik olmasının sadece bana mı aşırı garip geldiğini merak ediyorum; onlarca yıl CRT monitörlerin belirsiz geometrisiyle uğraştıktan sonra sonunda kusursuz dikdörtgen ekranlar yaygınlaştı, şimdi bunun yeniden bozulmasının sırf havalı görünme uğruna olması üzücü
    • Çentiği ekran alanını çalan aptalca bir şey olarak değil, çerçeveler küçülürken toplam ekran boyutunu büyüten bir unsur olarak düşünmek lazım; ayrıca ekran köşeleri çentiğe yaklaştığında, dizüstünün dış gövdesi yuvarlak olduğu için ekranın da yuvarlak olması daha doğal duruyor, yuvarlak köşeli bir dizüstünün içinde dikdörtgen ekran tuhaf görünüyor. Ama bu duruma göre değişiyor; örneğin Mac'te video oynatırken ekran dikdörtgene dönüyor ve çentiğin altında oynatılıyor. Gerçek kullanımda daha büyük ekran, masaüstünde yuvarlatılmış köşeler, menü çubuğunda çentik rahatsız etmiyor, video ve oyunlarda ise dikdörtgen ekrana geçiliyor; sonuçta çeşitli avantajları ve esnekliği nedeniyle buna tamamen kötü bir şey gibi bakmak gerekmiyor
    • Mevcut teknolojiyle mümkün olan üç seçenek var: 1) ön kamera olmadan çerçevesiz şekilde ekranı maksimize etmek, 2) ön kamera var ama yine çerçevesiz olduğu için ekran 5 mm daha kısa kalıyor ve üstteki 5 mm alan tamamen işe yaramaz oluyor, 3) ön kamera ile çerçeve/çentik kombinasyonu kullanıp ortada bir "ölü alan" oluşturmak ama yanlardaki alanı kullanılabilir bırakmak. Zamanın çoğunda üstte zaten menüler ve göstergeler duruyor, orta kısım boş kalıyor; dolayısıyla çentik bölgesi fiilen uygulamalara daha fazla alan kazandırıyor. Oyunlarda da #2 ve #3 zaten ölü alan olduğundan pratikte fark yok. Sonuçta çentik ekranın ortasını işgal etmiyor, sağa sola alan ekliyor. Yine de çözünürlük raporlama biçiminde sorun olduğunu düşünüyorum (uygulamaya iletilen değerler gerçekle uyuşmuyorsa kafa karıştırır)
    • Çentikli bir MacBook modeli kullanıyorum ve gerçekten varlığını pek hissettirmiyor. MacBook kullanıcılarının çoğu çentiği neredeyse hiç umursamıyor. Şikâyet edenler var ama çok küçük bir azınlık
    • Ekranın OLED olup olmadığını merak ediyorum. Akıllı telefonların hepsi OLED. Bence çentik aslında gereksiz ama ön kameranın konumu yüzünden gerekiyor. OLED ise gerektiğinde pikseller kapatılarak normal çerçeve gibi gösterilebilir; bu da sonuçta klasik çerçeveye alternatif olmak yerine ona oldukça benziyor
    • Ben LCD'de anti-aliasing olmayan yazı tiplerini daha hoş buluyordum, çünkü piksellerin köşeli kenarları temiz görünüyordu. Ama buna rağmen birçok kişi yumuşak anti-aliasing efektini tercih ediyor. Sanırım bunun nedeni CRT hissi
  • World of Warcraft, çentiği hesaba katacak şekilde UI'nin çentikten kaçınmasını sağlayan bir seçeneğe sahip. İçeride C_UI üzerinden safe region alınıp UIParent ona göre ayarlanıyor; böylece oyun görüntüsü tüm ekranı kullanırken UI çentiğin altına göre hizalanıyor
    • WoW, macOS'a her zaman birinci sınıf platform gibi davrandı. Blizzard'ın son oyunlarında macOS desteğini bırakmış olması gerçekten üzücü
  • Bu durum Apple'ın Mac'te oyun konusunu önemsemediğini gösteriyor. Ben de MBP, Mac Studio gibi cihazlara ciddi yatırım yaptım ama sınırları yaratan şey donanım değil, oyun yazılımı tarafındaki acınası yönetim. Bunun arkasında da Apple'ın Mac oyunlarından iOS'taki gibi %30 komisyon alamaması var. Sonuçta eski bir öğretmenimin söylediği "görünüşte parasal olmayan nedenler olsa da her şeyin arkasında para vardır" sözü aklıma geliyor
    • Asıl daha büyük sorun, Apple'ın dokümantasyon seviyesinin korkunç derecede kötü olması. Ortada sadece fonksiyon imzası listeleri var; bunların gerçekte nasıl kullanılacağını anlamak için yıllar önceki WWDC oturumlarını aramak gerekiyor, orada anlatılanların hâlâ geçerli olup olmadığı da belirsiz
    • Apple'ın gerçekten oyunu önemsemediği doğru ama çentik gibi bu tür sorunların kendisi de teknik olarak "sihirli soyutlama" sunmaya çalışmasının yarattığı bir çelişkinin sonucu. Yazılımsal olarak her şeyin otomatik çözüleceği söyleniyor ama gerçekte ekranı ayrıntılı yöneten uygulama ve oyunların hepsi ayrı ayrı hack/patch istiyor. Bu teknik sınırlar ile soyutlama ikilemi sürekli tekrar ediyor
    • Mac'in oyun pazarını umursamamasının sebebi, oyunculuğun özünde düşük marjlı bir iş olarak görülmesi. Oyuncular genelde donanıma çok duyarlı oluyor; parça maliyeti ve kâr marjına özellikle hassaslar (özellikle SSD veya RAM fiyatları gibi). Bu, Apple'ın yüksek kâr bırakan yaratıcı profesyonel/kurumsal pazarından tamamen farklı
    • M3 Ultra Mac Studio kullanıyorum; 4.000 dolarlık bir makine ama StreamLabs ile herhangi bir şeyi yayınlamaya çalıştığım anda (oyun açık olmasa bile) kayıt takılmaya ve kekelemeye başlıyor. Bunun neden olduğunu gerçekten anlayamıyorum
    • Apple'ın Mac'te %30 alamadığı için böyle davrandığı iddiası ikna edici değil; çünkü makaledeki Mac oyunlarının büyük kısmı App Store'da yer alıyor, yani Apple komisyonunu gayet alıyor. Control Ultimate Edition, Shadow of the Tomb Raider, Riven, Cyberpunk 2077 Ultimate, Stray da orada. Bu Apple'ın kötü niyetli sabotajından çok beceriksizlik ve ilgisizliğe benziyor
  • WoW gibi eski oyunlar, CoreGraphics'in eski tam ekran API'sini kullandığı için çentik alanının içine kadar serbestçe çizim yapabiliyor. Mac tarafını çok iyi bilmiyorum ama oyunun çentik dahil tam ekran çizip sürükleyiciliği artırırken UI ve oynanışın yalnızca güvenli alanı kullanması mantıklı olmaz mı diye düşünüyorum. Pek umursamayıp çözünürlüğü rastgele seçmiş gibi duran Control gibi oyunlar sadece üşendikleri için mi böyle yaptı merak ediyorum
    • Oyuna göre değişiyor ama çentiğin üstündeki alan ya dümdüz siyah oluyor ya da tamamen erişilemez hâle getiriliyor (imleç bile gidemiyor). Yani ekranın o bölümü fiziksel olarak yokmuş gibi davranıyor. Çentiksiz M1 Air'de nasıl çalışıyorsa aşağı yukarı aynı
  • Bu sadece Apple'a özgü bir sorun değil; Xbox 360'da da 2008'de TV overscan sorunu vardı. Güvenli alana sığmak için çözünürlükten daha küçük çizmek gerekiyordu ve geliştirirken bunu her zaman ayrıca ele almak şarttı. XNA'in safe area rect sağlamasıyla iş biraz kolaylaştı; bugün de backbuffer boyutu serbestçe belirlenebiliyor. DLSS gibi şeyler kullanırken de güvenli alanı 1:1 yapmak en iyisi. Sonuçta geliştiricinin ekran çözünürlüğü ile render çözünürlüğünün farklı olabileceğini net biçimde anlaması gerekiyor; wgpu, vulkan, AppKit, SDL, glfw gibi çeşitli araçlarda da durum aynı
    • Esasen dediğin şey şu: hesaplama kaynaklarından tasarruf etmek için ekran bilerek daha küçük çiziliyor ama HDMI çıkışında yine 1080p'ye upscale ediliyor, üstüne TV overscan da eklenince sorun daha da büyüyebiliyor. Aslında TV overscan meselesi özel FoV ve GUI boyutu ayarı seçenekleriyle çözülebilir; bu yüzden ekranın kendisini küçültmek şart değil diye düşünüyorum
  • Bu yazıda sadece bulanık render edilen kısma odaklanılmış olması şaşırtıcı; aslında fare işaretçisinin konumu bile etkileniyor. Her oyunda işletim sistemi menülerine girip tam ekranı çentiğin altına taşımaya zorlamak gerekiyor. Bunun sistem genelinde bir erişilebilirlik seçeneği olması gerekirdi ama öyle olmaması tuhaf
  • Bu durum Mac'in oyun pazarının büyüklüğünü iyi gösteren bir örnek: çok küçük ve üzücü
    • Gerçekte Mac'in payı Steam donanım anketine göre yalnızca %1,88. Linux'tan bile düşük; o yüzden çoğu geliştirici bunu hiç umursamıyor
  • M3 MacBook Pro'yu özellikle oyun oynayamamak için aldım. Siber güvenlik yüksek lisansı için güvenilir bir dizüstüne ihtiyacım vardı ve eğer Windows tabanlı güçlü bir dizüstü alsaydım oyunlara kaptıracağımdan korkuyordum; bu yüzden bu tercihi yaptım. Mevcut cihaz genel olarak harika ama oyun oynarken aşırı ısınıyor ve bu beni endişelendiriyor. O yüzden oyun işinden tamamen vazgeçtim
  • Bu sitenin yazı tipinde bazı harflerin bazı bölümleri fazla ince
    • Bence kişisel olarak bütün harflerin üst tarafları fazla ince. Gerçekten mürekkebi bitmiş bir yazıcıdan çıkmış bir metni okuyormuşum gibi hissettiriyor (Hacker News geleneğine uygun geri bildirim bırakıyorum)
  • Mevcut yazılımları bozmadan bunu düzeltmenin bir yolu nasıl olur merak ediyorum. Listeyi yeniden sıralamak mı?
    • Windows'un yaptığı gibi, çalışan uygulama eski bir oyunsa işletim sistemi kodu "sahte" sistem bilgileri vererek görüntünün düzgün çıkmasını sağlayabilir. Bu tür yaklaşım, Windows'un oyun platformu olarak başarılı olmasının ana nedenlerinden biriydi. Bugün de tamamen yok olmuş değil ama eskiden çok daha yaygındı