1 poin oleh GN⁺ 2025-08-16 | Belum ada komentar. | Bagikan ke WhatsApp
  • Saat menjalankan game layar penuh di MacBook, sebagian besar game dirender dengan buram karena masalah notch display
  • Mekanisme pemilihan resolusi sistem tidak mempertimbangkan area notch, sehingga menyebabkan pemilihan area output yang keliru
  • Memilih resolusi 16:10 adalah solusi sementara, tetapi akar masalahnya ada pada desain API Apple dan kurangnya panduan
  • Masalah ini dapat direproduksi pada game populer (Shadow of the Tomb Raider, No Man’s Sky, dll.); beberapa game baru (Cyberpunk 2077) menanganinya dengan benar
  • Apple perlu meningkatkan panduan dan dukungan pengembang melalui pembaruan HIG dan API

Masalah: Penyebab rendering buram pada game layar penuh di Mac

  • Masalah ini telah dilaporkan ke Apple sejak September 2023 sebagai isu FB13375033
  • Saat game dijalankan dalam mode layar penuh di layar MacBook, sebagian besar game tidak mempertimbangkan area notch dengan benar sehingga terjadi kesalahan rendering
  • Banyak game mengambil daftar resolusi yang didukung sistem lalu memilih entri pertama di antaranya (resolusi seluruh area layar), tetapi area layar penuh yang sebenarnya dapat digunakan di AppKit dibatasi hingga di bawah notch
  • Jika game menampilkan output pada resolusi seluruh layar, area yang benar-benar bisa digambar lebih kecil, sehingga frame terkompresi secara vertikal dan menimbulkan masalah blur

Struktur area pada layar Mac

  • Layar Mac dengan notch memiliki tiga area utama
    • Batas seluruh layar (termasuk notch dan menu)
    • Safe area (di bawah notch)
    • Area layar penuh yang dapat digunakan di AppKit (di bawah menu bar)
  • Daftar resolusi yang dikembalikan oleh fungsi CGDisplayCopyAllDisplayModes mencampurkan resolusi seluruh layar dan resolusi di bawah menu bar (umumnya rasio 16:10)
  • Sebagian besar game menggunakan entri pertama dalam daftar tersebut (area layar penuh), sehingga menghasilkan output yang tidak akurat
  • Contoh: Shadow of the Tomb Raider secara default dimulai pada resolusi seluruh layar (3456x2234), tetapi area yang benar-benar dapat digambar adalah 3456x2160 (selisih 74 piksel menyebabkan layar terkompresi dan dirender buram)

Solusi: Memilih resolusi yang benar dan langkah penghindaran sementara

  • Pengguna: Saat menjalankan game layar penuh pada layar Mac dengan notch, penting untuk memilih resolusi 16:10 secara manual (game tidak menyesuaikannya secara otomatis)
  • Pengembang: Perlu memfilter daftar resolusi dengan lebih cermat menggunakan properti safeAreaInsets milik NSScreen
    • Disediakan algoritme dalam bentuk kode untuk menyaring hanya resolusi yang sesuai dengan safe area (meski ada efek samping berupa penyaringan berlebihan pada beberapa resolusi seperti 4:3)
    • Pada dasarnya, perbaikan di tingkat Apple tetap diperlukan

Game yang terdampak: Contoh utama dan status penanganannya

  • Shadow of the Tomb Raider, Control Ultimate Edition, No Man’s Sky, Riven, Stray, dan lainnya mengalami rendering terkompresi dan blur karena default resolusi yang salah
    • Control: Menentukan resolusinya sendiri secara arbitrer, tetapi tidak cocok dengan resolusi Mac yang sebenarnya
    • No Man’s Sky: Menyediakan rasio yang keliru serta resolusi safe area dan non-safe area sekaligus
    • Riven, Stray: Secara default menerapkan rendering pada resolusi yang terkompresi
  • Cyberpunk 2077 memilih resolusi yang benar dengan rasio 16:10 (metode pemfilteran internalnya tidak diungkap)
  • World of Warcraft: Karena dapat menggambar hingga area notch dengan API lama, penerapan resolusi penuh bekerja dengan benar

Apa yang bisa dilakukan Apple: Perlunya respons dari Apple

  • Dokumen HIG(Human Interface Guidelines) perlu menambahkan penanganan resolusi dan panduan terkait layar notch
  • Diperlukan pembaruan CGDisplayMode agar pemfilteran resolusi lebih mudah dilakukan di AppKit/Cocoa
  • Perlu dirancang API baru khusus untuk optimasi game (mengatasi daftar resolusi dan boilerplate)
  • Untuk pengembang, dapat dipertimbangkan anjuran menggunakan daftar resolusi buatan sendiri alih-alih melakukan query resolusi, atau memakai pendekatan “render scale”
  • Jika perbaikan seperti ini diterapkan, Apple juga perlu memperbarui dokumentasi resmi dan sample code-nya

Belum ada komentar.

Belum ada komentar.