Blog

Minecraft Donmalarını Düzelt: Kare Zaman Artışlarını Ortadan Kaldır

Minecraft'taki takılmalar, düşük FPS'den değil, çöp toplama duraklamalarından ve bölüm yüklemesinden kaynaklanır. Bellek üzerindeki baskıyı azaltın, bölüm yüklemesini sorunsuz hale getirin ve gereğinden fazla RAM ayırmayı bırakın.

TRtrolPublished 5 min read

Minecraft'ta takılma (stuttering) aslında ne anlama geliyor?

Takılma, bir kare süresi (frame-time) sorunudur, kare hızı (frame-rate) sorunu değil. Ortalama FPS'niz 300 olabilirken, oyun birkaç saniyede bir kısa bir süre donabilir. Sayaç sağlıklı görünür çünkü ani düşüşleri ortalamaya vurur. Siz hissettiğiniz şey ise o ani düşüşün kendisidir. Bunun arkasındaki iki şey çöp toplama duraklamaları ve blok yüklemesidir ve bunlardan daha yüksek bir sayıya ulaşarak bir şeyleri çözemezsiniz.

Kolektör çalıştığında her bir kare için 20'ye düşen 300 FPS'nin yanında istikrarlı 120 FPS'yi hayal edin. 120 daha iyi hissedilir. Gözleriniz ortalamayı değil, en kötü kareyi takip eder. Dolayısıyla buradaki bütün iş, en kötü kareyi daha az kötü hale getirmektir ve şeyleri düzeltme sıranız önemlidir.

Ne hissediyorsunuzAslında ne oluyorBunu ne öldürüyor
Birkaç saniyede bir donmaÇöp toplama duraklamasıFerriteCore, ModernFix
Yeni bir araziye geçtiğinizde bir takılmaAna iş parçacığında blok üretimiC2ME, Lithium
RAM artırımından sonra kötüleşen takılmaAşırı büyük yığın, daha uzun çöp toplama taramalarıAyırmayı azaltın
Rastgele mikro takılmalarArka plan uygulamaları veya yorgun bir diskUygulamaları kapatın, diski kontrol edin

Çöp toplama takılmasını nasıl durdurabilirim?

Her şeyden önce bellek üzerindeki baskıyı azaltın. Çoğu mikro takılma, Java çöp toplayıcısının belleği geri kazanmak için dünyayı duraklatmasıdır. Oyunun tuttuğu bellek miktarını küçültün ve bu duraklamalar hem daha kısa hem de daha seyrek hale gelir. İki mod ağır işi yapar. FerriteCore, Minecraft'ın bellekte tuttuğu verileri yinelenmez hale getirir ve sıkıştırır, ModernFix ise üzerine ek olarak ayırmaları ve yükleme zamanı israfını azaltır.

Gerekçe basittir. Toplayıcı, temizlenecek kadar çok çöp olduğunda oyunu durdurmak zorunda kalır. Toplanacak daha az şey verin ve sizi daha az sıklıkta keser. FerriteCore tek başına yığın ayak izini önemli ölçüde azaltabilir, bu nedenle her ciddi takılma düzeltmesinin tepesinde yer alır.

Ferrit Çekirdek

Minecraft'ın RAM'de tuttuğu verileri sıkıştırır. Daha küçük bir bellek alanı, daha kısa ve nadir GC duraklamaları anlamına gelir.

ModernFix

Tahsisleri kısaltır ve yükleme süresi şişkinliğini giderir. FerriteCore üzerine temiz bir şekilde yığılar.

C2ME

Parça oluşturma işlemini daha fazla CPU çekirdeğine yüklüyor, böylece yeni arazi takılmalarını engelliyor.

Lityum

Dünya simülasyonunu daha ucuza getirir, böylece hareket ederken ve savaşırken oyunun performansı yüksek kalır.

Parçalı yükleme takılmalarını nasıl düzeltebilirim?

Yeni bir araziye hızla girdiğinizde hissettiğiniz sarsıntı, parçacık oluşturmanın ana iş parçacığını boğmasıdır. C2ME, bu iş yükünü CPU çekirdeklerinizin daha fazlasına kaydırır, böylece dünya sizin önünüzde inşa edilir, sizin arkanızda kalmaz. Bunu, varlıkların, mobil yapay zekasının ve fiziğinin her bir döngüdeki maliyetini düşüren Lithium ile birleştirin, böylece simülasyon hiçbir zaman geride kalmaz.

Bu ikisi iş yükünü paylaştırır. C2ME yeni parçacıkları işler. Lithium ise mevcut dünyanın çalıştırılmasını ucuz tutar. Birlikte, açık dünya sprintini dur-kalk sürünmeden, hızını koruyan bir şeye dönüştürür. Bu farkı özellikle hızlı oyunda fark edersiniz. Baskı altındaki akıcı hareket sizin için önemliyse, PvP için istikrarlı FPS nasıl elde edilir bölümüne göz atın.

Daha fazla RAM neden takılmayı daha da kötüleştiriyor?

Çünkü daha büyük bir yığın temizlenmesi daha uzun sürüyor. Java'ya daha fazla bellek verdiğinizde, her çöp toplama taraması daha fazla alan kaplar, bu nedenle karelerinizi donduran duraklama daha uzun, daha kısa olmaz. İnsanlar daha fazla tahsis bekler ve tam tersini elde ederler. Takılmanız bir RAM artışından sonra başladıysa veya kötüleştiyse, suçluyu buldunuz.

Aynı sebepten ötürü, belleği önce boşaltmadan mod eklemeye devam etmek bir tuzaktır. Allocation kaydırıcısına dokunmadan önce FerriteCore ve ModernFix'i yükleyin. RAM özel olarak sorunsa, RAM kullanımını azaltan en iyi modlar (/blog/best-mods-to-reduce-ram-usage) daha derine iner.

Bunun düzeltilmesi için doğru sıra nedir?

  1. Bellek çiftini takın

    Fabric'e FerriteCore ve ModernFix ekleyin. Bu, yığın boyutunu küçültür ve çoğu takılmanın ortadan kaybolduğu yerdir.

  2. Parçayı ve işaretleme çiftini ekleyin

    C2ME ve Lithium'u yükleyin. Yeni arazi takılmaları durur ve simülasyon ucuz kalır.

  3. RAM'inizi optimize edin

    Bütünü 4-6 GB'a düşürün eğer daha yüksekteyse. Yoğun bir bölgede test edin, yeni bir düz dünyada değil.

  4. Şapka tak ve temizle

    Yenileme hızınızın hemen altında bir çerçeve sınırı ayarlayın veya VSync'i etkinleştirin ve CPU'nuz için yarışan arka plan uygulamalarını kapatın.

Modları suçlamadan önce hızlı kontrol listesi

Birkaç mod dışı sebep burada gizleniyor ve herhangi bir şeyi yeniden yüklemeden önce eleyebileceğiniz şeylerdir.

  • Kare hızı sınırı veya VSync. Düzgün hız, tepe noktası yüksek olsa bile ani yükselmelerden daha iyidir.
  • Arka planda çalışan uygulamalar. Tarayıcılar, ses istemcileri ve güncelleme görevleri CPU'yu tüketir ve oyun ortasında takılmalara neden olur.
  • Diskiniz. Dolu veya arızalı bir disk, parça okumalarında takılmalara sebep olur. Alan açın ve disk sağlığını kontrol edin.
  • Gölgelendiriciler (Shaders). Yoğun bir gölgelendirici paketi, kendi kare süresi maliyetini ekler. Nedeni izole etmek için kapatarak test edin.

İşte burada, elle ayarlanmış bir kurulumun değerini kanıtladığı yer. Terminus, performans yığınını zaten kablolanmış ve başlatma profilini önceden boyutlandırılmış şekilde gönderir, böylece JVM bayrakları labirentinden kaçınıp doğrudan oyuna başlarsınız.

SSS

Terminus'u yakala

Performance stack pre-tuned. No JVM flags to memorize.