holodepth

Three.js · Varlık · KTX2 · Performans

Performans analizi: KTX2 ve geleneksel formatlar

Doku performansını tek eksende düşünmek kolaydır; bu sayfa aynı sahneyi VRAM, ilk yükleme ve ağ bantı üzerinden okur. KTX2 (Basis Universal) yolunun geleneksel PNG / JPG zincirinden nerede ayrıştığını, abartmadan ve ölçülebilir örneklerle özetler.

Kavram zemini: KTX2 nedir?, Basis modları, Encode, Transcoding ve boyut / kalite dengesi diğer sayfalarda; burada yalnızca «aynı kararın sahneye yansıması»na odaklanıyoruz.

Tablolardaki rakamlar yönlendirici bir örnektir. Kanal sayısı, mipmap, seçilen Basis profili (ETC1S veya UASTC) ve hedef GPU formatı sonucu kaydırır; yayına çıkmadan önce kendi varlık paketinizle ölçüm yapmanız gerekir.

VRAM kullanımı (bellek yönetimi)

VRAM, dokuların örneklenmesi için ayrılan sınırlı bellektir. Geleneksel akışta diskte küçük görünen dosya, GPU tarafında genişleyebilir; KTX2 ise çoğu yığında veriyi blok sıkıştırmalı biçimde taşımayı hedefler — yani «indirilen MB» ile «işgal edilen VRAM» arasındaki fark daha dar kalır (hedef format ve sürücü yoluna bağlıdır).

PNG / JPG tarafı: 2048×2048, dört kanal (RGBA8) düşünüldüğünde tampon kabaca width × height × 4 bayt; tek taban seviye için yaklaşık büyüklük 16 MB mertebesindedir. Diskteki PNG sıkıştırması bu gerçeği gizler; JPG genelde tek kanal parlaklık sıkıştırmasıdır fakat motor GPU'da yine geniş bir renk tamponu ayırıyorsa baskı benzer kalır. Mipmap zinciri eklenince çarpan yine sizin tarafınızdadır.

KTX2 tarafı: Aynı görünür alan için paket, Basis yükü + hedefe transcode sonrası ETC2, BC7 vb. bloklarla temsil edilir; pratikte aynı sahne için VRAM hesabı çoğu kez bir ila birkaç basamak daha küçük bir bantta dolaşır. Tam rakam kanal, mipmap ve profil seçimine bağlıdır.

Özetle: düşük bellekli cihazlarda «bir dokunun sahneyi düşürmesi» riski, geleneksel açılmış tampon yoluna göre KTX2 ile genelde daha yumuşak eğilim gösterir; yine de üst sınırı kendi cihaz testinizle doğrulayın.

Load (yükleme) süresi ve transcoding maliyeti

Kullanıcının hissettiği «yükleme», kabaca indirme ile çözümleme / yerleştirme toplamıdır. KTX2 tarafında paket genelde daha küçük olduğundan indirme süresi kısalır; kalan maliyet ise transcoding adımının nerede ve ne kadar sürdüğüne bağlıdır.

JPEG çözümlemesi klasik olarak CPU'yu meşgul eder; çok sayıda büyük doku aynı anda geldiğinde kare süresi dalgalanabilir. Basis verisinin hedef bloklara dönüştürülmesi ise birçok projede daha öngörülebilir bir maliyet profili sunar — ayrıntılı akış için Transcoding sayfasına bakın.

Three.js ekosisteminde KTX2 yolu, uygun kurulumda transcoding'i Web Worker üzerinde yürütebilir; böylece ana iş parçacığı daha az kilitlenir ve ilk etkileşim anına giden yolda jank ihtimali azalır.

Bant genişliği (bandwidth) farkı

Statik varlık boyutu, özellikle mobilde Time to Interactive hissini doğrudan etkiler: paket küçüldükçe ilk anlamlı kareye giden yol kısalır. Bu bölüm, aynı «görsel amaç» için tipik sıra genişliklerini yan yana koyar; kesin oran sizin sıkıştırma ayarınıza bağlıdır.

Format ve dosya boyutu özeti

Format Dosya boyutu (disk) Bant genişliği etkisi
Ham PNG 10 MB Çok yüksek (yavaş yükleme)
Optimize JPG 1,5 MB Orta
KTX2 (ETC1S) 0,6–1 MB Düşük (hızlı yükleme)

ETC1S gibi daha agresif Basis yolları, aynı piksel alanında JPEG'e kıyasla sık sık daha küçük paket üretir; kalite takası boyut / kalite sayfasında anlatıldığı gibidir. Zayıf 4G veya kalabalık Wi‑Fi ortamında bu fark, kullanıcıya «sayfa ayağa kalktı» hissi olarak döner.

Gerçek dünya benchmark tablosu

Aşağıdaki tablo, çok dokulu bir görselleştirme sahnesinde (ör. yaklaşık 20 adet 2K doku) toplanan tek bir özet kıyasıdır. Amaç rakamları kutsal kabul etmek değil, ekipler arasında ortak bir «sipariş büyüklüğü» dili oluşturmaktır. Üretimde mutlaka kendi bellek ve zaman profili ölçümlerinizi alın.

Parametre kıyaslaması

Parametre Standart (PNG / JPG) KTX2 (Basis Universal) Kazanç
Toplam indirme boyutu 45 MB 12 MB %73 daha az
VRAM toplam işgal 320 MB 85 MB %75 tasarruf
İlk render süresi 8,2 s 2,4 s 3,4× daha hızlı
FPS kararlılığı Dalgalı (yükleme sırasında düşüş) Sabit (smooth) Yüksek konfor

Özet lab: VRAM çubuğu, yükleme hissi ve paket boyutu

Bu panel öğreticidir: gösterilen MB değerleri, yukarıdaki özet tabloyla uyumlu temsillerdir; üretimde mutlaka kendi profilinizi alın. Modlar arasında geçerek VRAM çubuğunun nasıl daraldığını ve «Sahneyi Yükle» ile yükleme sırasındaki jank hissini nasıl farklılaştırdığını gözlemleyin.

Performans lab · Three.js r170 Temsili metrikler

VRAM (tek bakışta özet)

320 MB

Ne zaman hangisi?

  • Mobil ETC1S (bant + VRAM)
  • Masaüstü UASTC (daha net detay)
  • Normal map UASTC önerilir

İndirme boyutu (mini özet)

PNG 45 MB
KTX2 12 MB≈4× küçük

Seçili yol: PNG ❌ Kısa donma hissedilir.

Hızlı

PNG ağdan dolayı yavaşlar; KTX2 paketi daha küçük olduğu için bu kaydırıcıdan etkilenmez.

Nasıl okunur: soldaki VRAM çubuğu, tablodaki özet değerlere paralel olarak yüksek (kırmızı) veya düşük (yeşil) moda döner. Küpte prosedürel checker, normal map (ince ripple + güçlü türev) ve roughness vardır; agresif yol seçildiğinde tangent alanında blok artefaktı belirginleşir. «Sahneyi Yükle», ham görüntü yolunda yükleme sırasındaki jank hissini temsili gecikmeyle, KTX2 yolunda ise daha akıcı açılışı gösterir. Ağ kaydırıcısı Slow 3G iken PNG bekleme süresini belirgin şekilde uzatır. İndirme satırları aynı ölçek üzerinde paket genişliğini hatırlatır. «Ne zaman hangisi?» kutusu, aynı teknikleri ürün kararına bağlar — yalnızca iyi/kötü değil, hangi profilin hangi hedefe uyduğunu hatırlatır.

HoloDepth notu — hız kadar bellek tavanı

Grafikte en çok konuşulan metrik FPS olur; oysa dağıtımda asıl acıtıcı olan çoğu zaman bellek tavanına çarpma ve yükleme anındaki kare dalgalanmasıdır. KTX2, aynı içerik paketinin farklı sınıf cihazlarda benzer «nefes payı» ile çalışmasına yardım eden bir stability katmanı sunar.

Bu, sihir değildir: yanlış profil veya aşırı çözünürlük yine risk taşır. Fakat doğru üretim hattıyla, geleneksel açılmış tampon yoluna göre daha dar bir bellek ve bant bandında dolaşmak mümkündür — son söz her zaman saha ölçümündedir.