Kembali ke Blog
Format

Format PVR: Panduan Lengkap Kompresi Tekstur PowerVR

16 min baca

Format PVR (PowerVR) adalah format wadah tekstur milik Imagination Technologies, yang dirancang khusus untuk GPU PowerVR dan diadopsi secara luas di perangkat iOS dan platform seluler. Sebagai format tekstur asli untuk iOS dan banyak sistem tertanam, PVR mendukung algoritme PVRTC (PowerVR Texture Compression) bersama format kompresi lain seperti ETC dan ASTC, menjadikannya pilihan serbaguna untuk pengembangan game seluler. Dekode yang dipercepat perangkat keras dan penggunaan memori yang efisien menjadikannya penting untuk aplikasi seluler yang mengutamakan kinerja dan masa pakai baterai.

Apa itu Format PVR?

PVR adalah format wadah yang dikembangkan oleh Imagination Technologies untuk menyimpan tekstur terkompresi yang dioptimalkan untuk GPU PowerVR. Awalnya dibuat untuk prosesor grafis seluler, format ini telah menjadi standar de facto untuk aplikasi iOS dan didukung secara luas di seluruh platform seluler. PVR berfungsi sebagai pembungkus berbagai format kompresi tekstur, terutama PVRTC, yang menyediakan kompresi akselerasi perangkat keras yang efisien untuk perangkat seluler.

Kekuatan format ini terletak pada dukungan aslinya untuk kompresi PVRTC, yang dirancang khusus untuk keterbatasan perangkat seluler - bandwidth memori terbatas, daya baterai, dan kemampuan pemrosesan. PVRTC memberikan rasio kompresi yang sangat baik dengan tetap menjaga kualitas visual yang dapat diterima, menjadikannya ideal untuk game seluler dan aplikasi yang mengutamakan kinerja.

Selain PVRTC, file PVR modern juga dapat berisi ETC, ASTC, dan data tekstur yang tidak terkompresi, menjadikannya wadah fleksibel yang dapat beradaptasi dengan berbagai kemampuan perangkat. Fleksibilitas ini, dipadukan dengan integrasi mendalam dengan alat pengembangan iOS dan dukungan perangkat keras yang luas, menjadikan PVR format penting bagi pengembang seluler yang menargetkan iOS dan platform berbasis PowerVR lainnya.

Fitur Utama Format PVR

Akselerasi Perangkat Keras

Dukungan perangkat keras GPU asli untuk format PVRTC pada GPU PowerVR tanpa overhead CPU

Dukungan Multi-Format

Mendukung format PVRTC, ETC, ASTC, dan tidak terkompresi dalam satu wadah

Dioptimalkan untuk Seluler

Dirancang khusus untuk kendala perangkat seluler dan efisiensi baterai

Dukungan Mipmap Lengkap

Penyimpanan rantai mipmap asli dan manajemen tingkat detail yang efisien

Format Kompresi yang Didukung

Format kontainer PVR mendukung beberapa algoritma kompresi, masing-masing dioptimalkan untuk kasus penggunaan yang berbeda:

PVRTC (Kompresi Tekstur PowerVR)

Format kompresi eksklusif yang dirancang khusus untuk GPU PowerVR, tersedia dalam varian 2bpp dan 4bpp.

PVRTC memberikan rasio kompresi yang sangat baik (4:1 hingga 8:1) dengan akselerasi perangkat keras pada GPU PowerVR. Ideal untuk aplikasi iOS dan perangkat seluler berbasis PowerVR.

DLL (Kompresi Tekstur Ericsson)

Format kompresi standar untuk perangkat seluler, didukung secara luas di platform Android dan iOS.

ETC1 menyediakan kompresi RGB dengan rasio 4:1, sementara ETC2 menambahkan dukungan untuk kompresi dengan saluran alfa. Format standar untuk kompresi tekstur Android.

ASTC (Kompresi Tekstur Berskala Adaptif)

Format kompresi modern yang mendukung berbagai ukuran blok dan tingkat kualitas.

ASTC memberikan rasio kualitas/kompresi yang sangat baik dengan ukuran blok fleksibel dari 4x4 hingga 12x12 piksel. Didukung pada perangkat iOS dan Android yang lebih baru.

DLL2/EAC

Versi ETC yang disempurnakan dengan peningkatan kualitas dan dukungan saluran alfa.

ETC2 meningkatkan ETC1 dengan kualitas yang lebih baik, sementara EAC menyediakan kompresi untuk peta normal dan tekstur saluran tunggal.

EAC (Kompresi Alfa DLL)

Kompresi khusus untuk data tekstur alfa dan saluran tunggal.

EAC memberikan kompresi yang efisien untuk saluran alfa dan tekstur saluran tunggal seperti peta normal atau peta ketinggian.

Format Tidak Terkompresi

Format standar yang tidak terkompresi untuk persyaratan kualitas tinggi.

Dukungan untuk RGB, RGBA, dan berbagai format tidak terkompresi ketika artefak kompresi tidak dapat diterima.

Struktur Berkas PVR

File PVR mengikuti format terstruktur dengan tiga komponen utama:

Tajuk PVR (52 byte)

Berisi metadata file, informasi versi, dimensi tekstur, dan spesifikasi format

Metadata Tekstur

Informasi tambahan termasuk jumlah mipmap, jumlah permukaan, tanda kompresi, dan detail format piksel

Data Tekstur Terkompresi

Data piksel terkompresi aktual yang diatur berdasarkan level mipmap dan permukaan tekstur

Detail Kompresi PVRTC

PVRTC hadir dalam dua varian utama, masing-masing dioptimalkan untuk kebutuhan kualitas dan ukuran yang berbeda:

PVRTC 2bpp (2 bit per piksel)

Rasio kompresi lebih tinggi (8:1) dengan kualitas lebih rendah. Cocok untuk tekstur dan latar belakang dengan detail rendah.

Terbaik untuk: Tekstur latar belakang, elemen UI, permukaan dengan detail rendah, aplikasi dengan memori terbatas

PVRTC 4bpp (4 bit per piksel)

Rasio kompresi lebih rendah (4:1) dengan kualitas lebih tinggi. Pilihan standar untuk sebagian besar tekstur seluler.

Terbaik untuk: Tekstur karakter, permukaan detail, tekstur tujuan umum, aplikasi iOS

Alur Kerja Pengembangan Tekstur PVR

Membuat dan mengoptimalkan tekstur PVR melibatkan beberapa tahapan utama:

1

Persiapan Gambar Sumber

Siapkan gambar sumber berkualitas tinggi dengan dimensi yang sesuai (sebaiknya kekuatan dua untuk perangkat lama)

2

Pemilihan Format

Pilih format kompresi yang sesuai berdasarkan platform target dan persyaratan kualitas

3

Kompresi Tekstur

Gunakan PVRTexTool atau alat serupa untuk mengompresi gambar sumber ke dalam format PVR

4

Optimasi Kualitas

Sesuaikan pengaturan kompresi dan tinjau hasilnya untuk menyeimbangkan kualitas dan ukuran file

5

Integrasi Aplikasi

Integrasikan file PVR ke dalam aplikasi Anda dengan pemuatan dan penanganan kesalahan yang tepat

Keuntungan Utama Format PVR

Kompresi Luar Biasa

PVRTC memberikan rasio kompresi 4:1 hingga 8:1 dengan decoding yang dipercepat perangkat keras

Kualitas yang Dioptimalkan untuk Seluler

Dirancang khusus untuk kondisi tampilan seluler dan karakteristik tampilan

Fleksibilitas Format

Mendukung berbagai format kompresi dalam satu wadah untuk kompatibilitas luas

Dukungan Perangkat Keras Asli

Dukungan GPU langsung pada perangkat berbasis PowerVR tanpa overhead dekompresi CPU

Integrasi iOS

Integrasi mendalam dengan alat pengembangan iOS dan dukungan pihak pertama dalam kerangka kerja Apple

Kasus Penggunaan Umum

Pengembangan Game iOS

Format tekstur asli untuk aplikasi iOS dengan kinerja optimal di semua perangkat iOS

Permainan Seluler

Ideal untuk game seluler yang menargetkan efisiensi baterai dan optimalisasi kinerja

Game Lintas Platform

Sempurna untuk game yang mendukung iOS dan Android dengan dukungan format fallback

Aplikasi WebGL

Format yang didukung untuk aplikasi web yang menargetkan perangkat seluler melalui WebGL

Sistem Tertanam

Banyak digunakan dalam sistem tertanam dan tampilan otomotif dengan GPU PowerVR

PVR vs Format Lain

Memahami bagaimana PVR dibandingkan dengan format kompresi tekstur lainnya:

PVR vs DDS

PVR dioptimalkan untuk platform seluler sementara DDS menargetkan game desktop dengan format BCn

PVR vs KTX

PVR memiliki integrasi iOS yang lebih kuat sementara KTX memberikan standarisasi lintas platform yang lebih baik

PVR vs ASTC

PVR dengan PVRTC memiliki dukungan warisan yang lebih luas sementara ASTC memberikan kualitas dan fleksibilitas yang lebih baik

PVR vs DLL

PVR memberikan dukungan iOS yang lebih baik sementara ETC adalah standar Android dengan dukungan perangkat keras yang lebih luas

Alat dan Sumber Daya Pengembangan

SDK PowerVR

SDK resmi dari Imagination Technologies dengan alat pengembangan PVR yang komprehensif

Alat PVRtex

Alat resmi untuk membuat dan mengoptimalkan tekstur PVR dengan kemampuan konversi format

Dukungan PVR Persatuan

Dukungan bawaan untuk kompresi PVR dalam pengaturan impor tekstur Unity

PVR Mesin Tidak Nyata

Dukungan format PVR asli di Unreal Engine untuk iOS dan pengembangan seluler

Alat Kompresi Tekstur Arm Mali

Alat alternatif untuk kompresi tekstur PVR dan perbandingan format

Praktik Terbaik untuk Pengembangan PVR

Gunakan kekuatan dua dimensi untuk kompatibilitas optimal dengan perangkat iOS dan GPU lama

Pilih PVRTC 4bpp untuk sebagian besar tekstur kecuali kendala memori memerlukan kompresi 2bpp

Uji tekstur terkompresi pada perangkat target sebenarnya untuk mengevaluasi kualitas dan kinerja visual

Pertimbangkan ASTC sebagai alternatif untuk perangkat iOS yang lebih baru ketika diperlukan kualitas yang lebih tinggi

Gunakan pengaturan mipmap yang sesuai untuk mengoptimalkan kinerja pada jarak pandang yang berbeda

Validasi file PVR pada perangkat keras target di awal pengembangan untuk menghindari masalah kompatibilitas

Pertimbangkan kemampuan perangkat saat memilih antara kompresi PVRTC, ETC, dan ASTC

Migrasi dan Alternatif Modern

Untuk proyek baru, pertimbangkan jalur migrasi dan alternatif modern berikut:

Bermigrasi dari ASTC ke PVR

Gunakan PVRTexTool untuk mengonversi tekstur ASTC ke PVRTC untuk kompatibilitas perangkat iOS yang lebih lama

Migrasi dari ETC ke PVR

Konversikan tekstur ETC ke format PVRTC untuk pengoptimalan khusus iOS dan integrasi yang lebih baik

Bermigrasi dari DDS ke PVR

Gunakan alat konversi tekstur untuk memigrasikan tekstur desktop ke format PVR yang dioptimalkan untuk seluler

Pindah ke Format Modern

Pertimbangkan ASTC untuk proyek baru yang menargetkan perangkat baru, dengan menjadikan PVR sebagai opsi cadangan

Kesimpulan

Format PVR tetap menjadi alat penting dalam pengembangan game seluler, khususnya untuk aplikasi iOS dan perangkat berbasis PowerVR. Kompresi PVRTC yang dipercepat perangkat keras memberikan keseimbangan yang sangat baik antara kualitas visual dan kinerja untuk platform seluler yang mengutamakan masa pakai baterai dan efisiensi rendering.

Meskipun format baru seperti ASTC menawarkan kualitas dan fleksibilitas yang lebih baik, dukungan lama PVR, integrasi iOS, dan kinerja yang telah terbukti menjadikannya pilihan yang dapat diandalkan bagi pengembang seluler. Memahami kapan dan bagaimana menggunakan format PVR sangat penting untuk mengoptimalkan aplikasi seluler dan memastikan pengalaman pengguna terbaik di beragam ekosistem perangkat.

Bacaan dan Sumber Lebih Lanjut

Perluas pengetahuan Anda dengan sumber resmi berikut: