12 puan yazan GN⁺ 2026-02-20 | 3 yorum | WhatsApp'ta paylaş
  • Minecraft Java Edition, grafik işleme motorunu OpenGL'den Vulkan'a geçiriyor
  • Geçişin arkasında, 1990'lardan beri kullanılan OpenGL'in artık güncellenmemesi ve macOS desteğinin sona ermesi var
  • Vulkan, Windows ve Linux'ta yerel olarak destekleniyor; macOS'ta ise bir çeviri katmanıyla performans kaybı olmadan çalışabiliyor
  • Bu geçişle birlikte görsel kalite artışı ve kare hızında iyileşme bekleniyor
  • Snapshot sürümlerinde OpenGL ve Vulkan birlikte test edilecek; kararlılık sağlanınca OpenGL'in kaldırılması planlanıyor

Bringing modern rendering to Java

  • Minecraft: Java Edition'da Vibrant Visuals için hazırlık çalışmaları sürüyor; işleme kodu yeniden düzenleniyor ve modernleştiriliyor
    • Önceki güncellemelerle işleme kodunun yapısını iyileştirme çalışmaları yürütüldü
    • Şimdi ise işleme altyapısının temel teknolojisini değiştirme aşamasına geçiliyor
  • Oyunun işleme teknolojisinin OpenGL'den Vulkan'a geçirilmesi planlanıyor
    • Amaç, grafik ve performans tarafında yeni olanaklar açmak
    • Bunun modlama topluluğu ve bazı oyuncular üzerinde etkileri olması bekleniyor

What are we changing?

  • Java Edition şu anda 1990'larda oluşturulmuş bir OpenGL grafik API'sini kullanıyor
    • İlk çıkışından bu yana OpenGL tabanlı kaldı
  • OpenGL'in tercih edilme nedeni, Linux, Windows ve macOS'ta destek sunabilmesiydi
    • Hedef, oyunun neredeyse tüm PC ve Mac'lerde çalışabilmesiydi
  • OpenGL 9 yıl önce güncellenmeyi bıraktı, macOS'ta ise deprecated durumda ve ileride tamamen çalışmaz hale gelecek
  • macOS uyumluluğu için eski bir OpenGL sürümünde kalmak gerekti ve bu da kod tabanını modernleştirmeyi zorlaştırdı
  • Java Edition'ın macOS ve Linux dahil çoğu PC'de çalışmaya devam edebilmesi için OpenGL'den çıkılması gerekiyor

Introducing: Vulkan

  • Vulkan, 10 yılı aşkın süredir piyasada olan bir grafik API'si ve başlıca donanım üreticileri tarafından benimsenmiş durumda
  • Windows ve modern Linux sürümlerinde yerel destek sunuyor; macOS'ta ise bir çeviri katmanıyla desteklenebiliyor ve performans kaybı yaşanmıyor
  • Uzun vadede daha yüksek performans ve daha geniş özellik desteği için zemin hazırlıyor
    • Ayrıca Vibrant Visuals'ın uygulanması için gerekli altyapıyı da sağlıyor
  • Ancak GPU'nuz 10 yıldan daha eskiyse Vulkan desteği olmayabilir

What does this mean for modders?

  • OpenGL tabanlı işleme modları, OpenGL'den Vulkan'a geçişten etkilenecek
  • Vulkan'a geçişe uyum sağlamak, sıradan bir sürüm güncellemesine göre daha fazla emek gerektirebilir
  • Modlama topluluğuna, OpenGL bağımlılığını azaltmaları öneriliyor
    • Mümkün olduğunca oyunun dahili işleme API'lerinin yeniden kullanılması tavsiye ediliyor
    • Gerekirse geliştirme ekibiyle doğrudan teknik görüşmeler yapılabilecek
  • Teknik tartışmalar Vibrant Visuals Discord kanalında yürütülüyor
    • Burası duyuru kanalı değil, geliştiriciler arasında derin teknik tartışmalar için ayrılmış bir alan

What does this mean for players?

  • Geçiş sürecinde bazı modların etkilenmesi mümkün
    • Mod geliştiricilerinin güncelleme yapması zaman alabilir
  • İlerideki snapshot sürümlerinde OpenGL ve Vulkan birlikte sunulacak
    • Hem snapshot hem de kararlı sürümlerde işleyici seçimi yapılabilecek
    • Kararlılığı artırma ve hataları azaltma çalışmaları da sürecek
  • Hataların bugs.mojang.com üzerinden bildirilmesi isteniyor

When is this happening?

  • Hedef, yaz aylarında Vulkan'ı snapshot testlerine dahil etmek
  • Test süreci boyunca OpenGL ile Vulkan arasında geçiş yapılabilecek
  • Kararlılık ve performans doğrulandıktan sonra OpenGL uygulaması kaldırılacak
    • Kaldırılmadan önce önceden duyuru yapılacak
    • Minimum sistem gereksinimleri de güncellenecek

Vulkan and Vibrant Visuals

  • İşleyicinin modernleştirilmesi, Vibrant Visuals yol haritasının temel adımlarından biri
  • Vulkan'a geçiş, grafik iyileştirmeleri için daha fazla alan ve daha güçlü performans kapasitesi sağlayabilir
  • Sürücü kaynaklı hataların azalması bekleniyor
  • En kritik amaçlardan biri, macOS'ta oyunun çalışmaya devam etmesini sağlamak
    • Böylece desteklenen tüm işletim sistemlerindeki oyuncuların eşit şekilde oyuna katılması güvence altına alınacak

Güncellemenin anlamı

  • Bu geçiş, Minecraft Java'nın modern grafik teknolojisi yığınına geçişinde önemli bir adım
  • Oyun motorunun teknik temelini güçlendirerek gelecekteki genişleme ve özellik eklemeleri için daha elverişli bir yapı oluşturuyor
  • OpenGL'den Vulkan'a geçiş, oyun endüstrisindeki grafik API nesil değişimi eğilimiyle de örtüşüyor

3 yorum

 
GN⁺ 2026-02-20
Hacker News yorumları
  • Zamanla ana iş parçacığındaki CPU ek yükünün azalmasını umuyorum.
    DX11'den 12'ye, OpenGL'den Vulkan'a taşınan oyunlar performans artışını yalnızca API değişiminden değil, paralel draw call işleme yeteneğinden aldı.
    Minecraft'ta darboğaz, GPU'nun çizebileceği hızdan CPU'nun daha yavaş kalması; bu değişiklikle modlu ortamda da CPU tarafında biraz nefes payı oluşmasını umuyorum.

    • Linux sistem kıyaslamalarında Unigine Heaven kullanıyorum.
      Eğlencesine Windows sürümünü Proton üzerinde çalıştırdım ve performans %30 arttı.
      Muhtemelen Proton'un kullandığı dxvk kütüphanesinin çoklu iş parçacığı desteği sayesindedir.
    • Vulkan'ın bazı hesaplamaları doğrudan GPU'da yapabilme özellikleri var; bu yüzden voxel render hızlandırması mümkün olabilir gibi geliyor.
  • Minecraft Java Edition'ın yalnızca masaüstünde olması, mobildeki Vulkan sürücüsü sorunlarından kaçınabilmesi açısından bence iyi bir tercih.
    Yine de Microsoft ölçeğinde bir şirketin, platforma göre daha kararlı API'leri kullanan (DX12, Metal) bir çapraz platform RHI geliştirebileceğini düşünürdüm.

    • Microsoft büyük olabilir ama Mojang stüdyosu o kadar büyük değil.
      Java renderer'ını üç farklı sürüm halinde bakımda tutmak büyük yük olur; özellikle mod ekosistemi bu kadar önemliyken, bu değişiklik bile ciddi karışıklık yaratacaktır.
      Shader modlarının bakımını daha da zorlaştırmaya gerek olmadığını düşünüyorum.
    • Bedrock Edition, bgfx kullanıyor (resmi kaynak).
    • Mobilde üçüncü taraf launcher'lar ANGLE üzerinden EGL veya Metal sürücülerini kullanıyor.
    • Vulkan ile DX12 arasında seçim yapmak aslında sadece yüzeysel bir fark.
      macOS'ta da Vulkan çalıştırılabiliyor; bu yüzden yeni bir projede özellikle DX12 seçmek için güçlü bir neden göremiyorum.
  • Eski Acer C720 Chromebook'umda (Intel HD4400 iGPU) Vulkan desteklenmiyor, bu yüzden Minecraft bozulacak gibi görünüyor.
    Eskiden her türlü donanımda çalışabilmesi büyük avantajdı, o açıdan üzücü.

    • OpenGL render ile Vulkan render arasında geçiş yapılabiliyorsa, OpenGL ile oynamaya devam edebilirsin gibi geliyor.
    • Java sürümü eski sürümlerle de çalıştırılabildiği için 1.7.10 sürümünde kalıp keyfine bakmak da mümkün.
    • Mesa sürücülerinde bu yonga seti bazı Vulkan özelliklerini destekliyor.
    • Ben de hâlâ C720 kullanıyorum. SDR ekipmanı için kutuya yerleştirdim; gerçekten en sevdiğim bilgisayarlardan biri.
    • OpenGL'in çok farklı cihazlarda en yüksek uyumluluğu sağlamış olması ilginç.
  • Yorumları neden kaynak tarafa taşımadıklarını merak ediyorum (ilgili başlık).

    • Sanırım bu, sonunda zamanlamanın içerikten daha önemli olduğunu gösteren bir örnek.
  • Microsoft'un Apple'a kıyasla Khronos standartlarına daha da yaklaşmış olması ilginç.
    SPIR-V'yi DirectX shader derleyicisinin çıktı ve girdi biçimi olarak benimseyerek Vulkan ile birlikte çalışabilirliği artırdı.

    • Microsoft aslında SPIR-V'yi daha önce de benimsemişti; Google'ın önceden yaptığı bazı çalışmalar sayesinde çatallanmayı azaltma amacı da büyük.
      Apple, OpenCL'i ele alış biçiminden oldukça memnun değildi; Sony ile Nintendo'nun da Khronos'a neredeyse hiç ilgisi yok.
      Pratikte Khronos API'leri eklenti spagettisi sorunu yüzünden tam taşınabilirlik sunmuyor.
  • VulkanMod performansı ciddi biçimde artırıyor ama çoğu modla uyumlu değil.
    İleride tüm mod paketlerinde de Vulkan kullanılabilirse gerçekten heyecan verici olur.

  • Vibrant Visuals'ın Java Edition'a da bir an önce gelmesini isterim.
    Shader kullanmak için sürekli mod gerektirmesi can sıkıcı.

    • Aslında 1.17'den beri kaynak paketlerine GL shader doğrudan eklenebiliyor.
      Karmaşık loader'lar veya güvenlik riskleri olmadan, .zip dosyasını sürükleyip bırakarak kurmak mümkün.
      Aperture, Iris, Optifine kadar esnek değil ama özellikleri oldukça benzer.
      Vulkan shader'larının da kaynak paketine eklenip eklenemeyeceğini merak ediyorum. Yine de oyun işlevlerini bozma riski yüksek olduğu için kısıtlanabilir.
    • Java Edition'ı modsuz oynamak biraz tuhaf geliyor. Öyle olacaksa Bedrock daha basit bir seçenek değil mi?
  • Java'da Vulkan binding'leri olduğunu bilmiyordum. Muhtemelen JNI kullanıyordur.
    Hâlâ OpenGL kullanıyor olması şaşırtıcı. Minecraft'ın güncel durumunu çok bilmiyorum ama masaüstü için Java olmayan bir sürümü olduğunu da ilk kez öğrendim.

    • JNI artık fiilen Foreign Function & Memory API ile yer değiştiriyor.
      Bellek yönetimi çok daha temiz ve harici işlevlerle (Vulkan gibi) binding kurmak çok daha kolay hale geliyor.
      Bence son dönem Java'nın en değeri bilinmeyen özelliklerinden biri.
    • JNI yerine FFM API kullanılmasını umarım.
  • Aynı oyunun neden iki sürüm halinde sürdürüldüğünü merak ediyorum.

    • Aslında tamamen Bedrock'a geçmek istiyorlardı ama mod API'si yetersizdi ve çok hata vardı; bu yüzden Java hâlâ tercih ediliyor.
      Bedrock özellik olarak neredeyse yetişti ama tam bir ikame olmayı başaramadı.
    • Java, mod topluluğu etrafında dönüyor; bunu ortadan kaldırmak YouTube ve Twitch ekosistemini çökertme riski taşır.
      Bedrock performans ve taşınabilirlikte iyi ama konsollarda zaten mod kullanılamıyor.
    • Java ekosistemi kaybedilirse oyunun kendisi ölebilir.
      YouTube içeriklerinin %90'ı Java tabanlı; bu yüzden Microsoft özellik eşdeğerliğini sağlamaya odaklanıyor.
    • Bedrock'ta modlama sınırlı ve Java topluluğunun ilgisini çekmiyor.
      Microsoft açısından iki sürümü birden sürdürerek geliri maksimize etmek mantıklı.
    • Java kapatılırsa çok sayıda oyuncu (ben dahil) oyunu bırakır.
  • Vulkan shader derleme gecikmesi sorununu iyi çözmüş olmalarını umuyorum.

    • Minecraft renderer'ı PSO'ya çok bağımlı değil; bu yüzden durum temelli takılma sorunu yaşamaz gibi görünüyor.
      Çünkü karmaşık bir materyal sistemi değil, basit bir voxel renderer.
    • Vulkan, shader derlemesinden kaynaklanan gecikmeyi önlemek için gereken tüm araçları sağlıyor.
      Sorun genelde motor çok fazla shader kombinasyonu ürettiğinde ya da belirli GPU durumları (örneğin blending) shader'ın yeniden derlenmesine yol açtığında ortaya çıkıyor.
      Modern Vulkan'da durumların çoğu dynamic state olarak ele alınabildiği için bu sorun hafifletilebiliyor.
      Ancak blending gibi bazı durumlar hâlâ yeniden derlemeye yol açabiliyor.
      Yani geliştirici bu tür dinamik durumları doğru şekilde ele alırsa gecikmeyi önlemek kolay.
    • Bence bu tür sorunlar Vulkan'ın kusuru değil, geliştiricinin yetersiz optimizasyonunun sonucu.
      Günümüzde büyük oyun şirketleri teknik optimizasyonu sık sık ihmal ediyor.
    • Yeni başlayan biri olarak insanın aklına, bunun önceden derlenmiş shader'larla çözülemeyeceği sorusu geliyor.
 
aer0700 2026-02-21

Minecraft başlangıçta Java ile geliştirilmiş bir oyundu, ama anlaşılan MS'e satıldıktan sonra C++ ile bir kez daha yapılmış. Tek bir oyunu baştan sona geliştirme dilini değiştirerek yeniden uygulamak kolay bir iş değildir herhalde; bunu neden yaptıkları gerçekten merak uyandırıcı.

 
karikera 2026-02-24

Görünüşe göre Bedrock Edition’ı mobil optimizasyon amacıyla yapmışlar ama..
Java’dan vazgeçerler diye düşünmüştüm, ama sonunda ikisini de güncelliyorlar gibi görünüyor.