Mengapa resolusi tekstur dalam gim selalu memiliki kekuatan dua (128x128, 256x256, 512x512, 1024x1024, dll.)?
Seperti yang disiratkan Byte56, batasan "kekuatan dua" adalah bahwa masing-masing dimensi harus, secara terpisah, kekuatan dua, bukan bahwa tekstur harus persegi dan memiliki dimensi yang merupakan kekuatan dua.
Namun, pada kartu modern dan API grafis modern mana, "batasan" ini telah berkurang secara signifikan sehingga dimensi tekstur dapat, dengan alasan, apa saja yang Anda suka. Namun:
Tidakkah pintar untuk menghemat ukuran file gim dan membuat tekstur persis sesuai dengan model UV yang terbuka? Apa yang akan terjadi jika ada tekstur yang bukan kekuatan dua?
Dengan memastikan dimensi tekstur adalah kekuatan dua, pipa grafis dapat mengambil keuntungan dari optimasi terkait dengan efisiensi dalam bekerja dengan kekuatan dua. Sebagai contoh, bisa jadi (dan benar-benar beberapa tahun yang lalu sebelum kami mendedikasikan GPU dan kompiler pengoptimalisasi yang sangat pintar) lebih cepat untuk membagi dan mengalikannya dengan kekuatan dua. Bekerja dalam kekuatan dua juga operasi yang disederhanakan dalam pipa, seperti perhitungan dan penggunaan mipmaps (angka yang merupakan kekuatan dua akan selalu dibagi secara merata menjadi dua, yang berarti Anda tidak harus berurusan dengan skenario di mana Anda harus membulatkannya dimensi mipmap Anda naik atau turun).
Memang benar Anda "menyia-nyiakan" ruang dengan cara ini, tetapi ruang ekstra biasanya sepadan untuk pertukaran dalam membuat kinerja. Selain itu ada beberapa teknik, seperti kompresi atau pengemasan banyak gambar menjadi satu ruang tekstur tunggal yang dapat meringankan sebagian dari limbah penyimpanan.