Kembali ke Blog
Format

Basis Universal: Panduan Lengkap Kompresi Tekstur Universal

15 min baca

Basis Universal adalah sistem kompresi tekstur revolusioner yang memecahkan salah satu tantangan terbesar dalam pengembangan grafis lintas platform: mengelola format kompresi tekstur yang berbeda di berbagai platform dan perangkat. Dikembangkan oleh Binomial LLC dan sekarang dikelola sebagai proyek sumber terbuka, Basis Universal menyediakan format file tekstur terkompresi tunggal yang dapat ditranskode saat runtime ke format kompresi GPU asli apa pun.

Apa itu Dasar Universal?

Basis Universal adalah sistem kompresi tekstur GPU 'super-terkompresi' yang menghasilkan file tekstur perantara yang sangat terkompresi. File-file ini dapat dengan cepat ditranskode saat runtime ke format terkompresi GPU apa pun yang didukung platform target, termasuk ETC1, ETC2, ASTC, BC1-7, dan PVRTC.

Inovasi utama Basis Universal adalah kemampuannya untuk menyimpan data tekstur dalam format platform-agnostik, kemudian mentranskodekannya ke format asli yang optimal untuk perangkat target. Ini berarti pengembang dapat mengirimkan satu file tekstur yang dapat digunakan di mana saja, mulai dari ponsel, komputer desktop, hingga konsol game.

Basis Universal mendukung dua mode kompresi utama: ETC1S (untuk kompresi maksimum) dan UASTC (untuk kualitas tertinggi). Kedua mode tersebut memberikan rasio kompresi yang sangat baik dengan tetap menjaga kualitas visual yang sesuai untuk aplikasi grafis modern.

Fitur Utama Basis Universal

Transkode Universal

File terkompresi tunggal dapat ditranskode ke format GPU asli apa pun (ETC1/2, ASTC, BC1-7, PVRTC) saat runtime

Rasio Kompresi Tinggi

Mode ETC1S memberikan rasio kompresi yang luar biasa (hingga 10:1 atau lebih baik) dengan kualitas visual yang baik

Modus UASTC

Kompresi UASTC (Universal ASTC) memberikan kualitas yang bersaing dengan format BC7 dan ASTC

Transkode Cepat

Transcoding waktu proses sangat cepat (biasanya milidetik per tekstur) dengan overhead memori minimal

Dasar Mode Kompresi Universal

Basis Universal menawarkan dua mode kompresi berbeda, masing-masing dioptimalkan untuk kasus penggunaan berbeda:

Modus DLL1S

Memberikan rasio kompresi yang sangat tinggi, biasanya kompresi 6:1 hingga 10:1 dengan kualitas visual yang baik. Ideal untuk sebagian besar tekstur, elemen UI, dan konten yang tersebar dimana ukuran file lebih penting daripada fidelitas visual yang sempurna.

Terbaik untuk: aplikasi seluler, konten web, tekstur menyebar, elemen UI

Modus UASTC

Memberikan kualitas visual superior yang sebanding atau lebih baik dari BC7 dan ASTC, dengan rasio kompresi 3:1 hingga 4:1. Ideal untuk tekstur dengan detail tinggi, peta normal, dan konten yang mengutamakan kualitas visual.

Terbaik untuk: peta normal, tekstur detail, aset pahlawan, aplikasi PC/konsol

Dasar Alur Kerja Universal

Alur kerja Basis Universal yang khas melibatkan tiga tahap utama:

1. Kompresi Sumber

Kompres tekstur sumber (PNG, TGA, dll.) ke file .basis menggunakan mode ETC1S atau UASTC. Hal ini biasanya dilakukan selama proses pembangunan aset.

2. Transkode Waktu Proses

Saat startup atau waktu buka aplikasi, transcode file .basis ke format asli optimal untuk platform target (ETC2 untuk Android, ASTC untuk iOS, BC7 untuk Windows, dll.).

3. Render GPU

Gunakan data tekstur yang ditranskode secara langsung dengan perangkat keras kompresi tekstur asli GPU, untuk memastikan performa optimal.

Keuntungan dari Basis Universal

Saluran Aset Tunggal

Hilangkan kebutuhan untuk mempertahankan beberapa versi format tekstur untuk platform yang berbeda

Mengurangi Ukuran Paket

Paket aplikasi yang jauh lebih kecil dibandingkan dengan pengiriman berbagai varian format

Penggunaan Bandwidth Lebih Rendah

Pengunduhan lebih cepat dan pengurangan penggunaan data, terutama penting untuk aplikasi web dan seluler

Fleksibilitas Platform

Targetkan platform baru dengan mudah tanpa mengompresi ulang tekstur sumber

Keterbatasan dan Pertimbangan

Transkode Overhead

Memerlukan transcoding waktu proses yang menambah sedikit biaya kinerja selama pemuatan tekstur

Kerugian Kompresi

Seperti semua kompresi lossy, ada beberapa penurunan kualitas dibandingkan dengan tekstur yang tidak terkompresi

Persyaratan Memori

Transcoding memerlukan memori sementara untuk data yang dikompresi dan ditranskode

Kompleksitas Integrasi

Memerlukan integrasi perpustakaan Basis Universal dan kode transcoding runtime

Kasus Penggunaan Ideal

Aplikasi WebGL

Sempurna untuk aplikasi 3D berbasis web yang memerlukan penerapan file tunggal dan pemuatan cepat

Seluler Lintas Platform

Ideal untuk aplikasi seluler yang menargetkan Android dan iOS dengan satu jalur tekstur

Game Web3 dan Blockchain

Sangat baik untuk game berbasis blockchain yang mengutamakan ukuran aset dan kecepatan transfer

Game Multi-Platform

Menyederhanakan manajemen aset untuk game yang menargetkan berbagai platform dan toko aplikasi

Basis Universal vs Format Lainnya

Bagaimana Basis Universal dibandingkan dengan pendekatan tradisional:

Pendekatan Tradisional

Mengirimkan berbagai varian format (ETC2 untuk Android, ASTC untuk iOS, BC7 untuk Windows) → Ukuran paket lebih besar, pipeline aset kompleks

Pendekatan Dasar Universal

Kirim file .basis tunggal → Transkode runtime ke format optimal → Paket lebih kecil, pipeline lebih sederhana

Penyimpanan: pengurangan 50-80% dalam persyaratan penyimpanan tekstur

Bandwidth: pengurangan bandwidth unduhan sebesar 50-90%.

Waktu Pembuatan: Pembuatan lebih cepat dengan satu langkah kompresi

Kualitas: Kualitas visual yang sebanding dengan format asli

Praktik Terbaik

  • Gunakan mode ETC1S untuk sebagian besar tekstur menyebar dan elemen UI yang mengutamakan ukuran file
  • Gunakan mode UASTC untuk peta normal, tekstur detail, dan aset pahlawan yang mengutamakan kualitas visual
  • Transkode tekstur selama pemuatan aset, bukan saat startup aplikasi untuk menghindari pemblokiran
  • Pertimbangkan format kompresi platform target saat memilih antara mode ETC1S dan UASTC
  • Uji tekstur yang ditranskode pada platform target untuk memastikan kualitas visual memenuhi persyaratan
  • Tekstur yang ditranskodekan dalam cache bila memungkinkan untuk menghindari transcoding berulang pada aset yang sama

Kesimpulan

Basis Universal mewakili kemajuan signifikan dalam teknologi kompresi tekstur, memecahkan masalah lama dalam mengelola berbagai format tekstur di berbagai platform. Pendekatan transcoding universal memberikan manfaat teknis dan bisnis, mulai dari pengurangan ukuran paket hingga saluran aset yang disederhanakan.

Untuk aplikasi lintas platform, pengalaman berbasis web, dan skenario di mana ukuran unduhan dan bandwidth sangat penting, Basis Universal menawarkan solusi menarik yang tidak berkompromi dengan kualitas atau kinerja visual. Ketika industri grafis terus bergerak menuju pengembangan lintas platform, alat seperti Basis Universal akan menjadi semakin penting untuk manajemen tekstur yang efisien.

Bacaan dan Sumber Lebih Lanjut

Perluas pengetahuan Anda dengan sumber resmi berikut: