แม้ว่าเกมเอนจินส่วนใหญ่จะจัดการกับการบีบอัดเทกซ์เจอร์โดยอัตโนมัติเบื้องหลัง แต่ยังคงมีช่องว่างที่สำคัญในเครื่องมือที่มีอยู่สำหรับนักพัฒนาที่ต้องการควบคุม asset pipeline ของตนเองมากขึ้น อุตสาหกรรมเกมได้เลิกใช้เทกซ์เจอร์ PNG ในผลิตภัณฑ์สำเร็จรูปมานานแล้ว โดยหันไปใช้รูปแบบพิเศษอย่าง KTX2 และ DDS แต่การหาเครื่องมือที่เหมาะสมสำหรับการแปลงนี้ยังคงเป็นเรื่องยากอย่างน่าประหลาดใจ
คุณสมบัติของรูปแบบเท็กซ์เจอร์:
- KTX2: มาตรฐาน Khronos รองรับการบีบอัดแบบซูเปอร์ ใช้งานได้ข้ามแพลตฟอร์ม
- DDS: รูปแบบของ Microsoft ได้รับการสนับสนุนอย่างแพร่หลายบนแพลตฟอร์ม Windows
- ข้อจำกัดของ PNG: ไม่มี mipmaps ที่สร้างไว้ล่วงหน้า ไม่รองรับ cubemap โดยทั่วไปไม่ใช่ alpha แบบคูณล่วงหน้า ต้องใช้การขยายข้อมูลผ่าน CPU
![]() |
---|
การแสดงภาพเชิงสัญลักษณ์ของระบบที่ซับซ้อน ซึ่งรวบรวมความซับซ้อนของการบีบอัดเท็กซ์เจอร์ในการพัฒนาเกม |
ตัวเลือก Open Source ที่จำกัดสร้างปัญหาคอขวดในการพัฒนา
ภูมิทัศน์การบีบอัดเทกซ์เจอร์ประสบปัญหาจากการขาดแคลนโซลูชัน open-source ที่ครอบคลุม นักพัฒนาหลายคนพบว่าตนเองถูกบังคับให้สร้าง exporter ของตนเอง หรือพึ่งพาเครื่องมือ closed-source ที่มีการสนับสนุนระยะยาวที่ไม่แน่นอน NVIDIA's Texture Tools ซึ่งเคยเป็นตัวเลือกยอดนิยม ได้ถูกเก็บถาวรเนื่องจากขาดเงินทุน ในขณะที่ผลิตภัณฑ์ปัจจุบันของพวกเขายังคงเป็น closed-source AMD's Compressonator และ Microsoft's DirectXTex ให้ทางเลือกบางอย่าง แต่แต่ละตัวมาพร้อมกับข้อจำกัดและฟีเจอร์ที่ขาดหายไปของตนเอง
ช่องว่างของเครื่องมือนี้กลายเป็นปัญหาโดยเฉพาะสำหรับนักพัฒนาเอนจินและทีมที่ทำงานกับ pipeline แบบกำหนดเอง นักพัฒนาคนหนึ่งที่ทำงานกับ Bevy game engine ได้เน้นย้ำถึงความท้าทายในการหาโซลูชันเดียวที่จัดการกับการสร้าง mipmap รองรับการบีบอัดทั้ง BC และ ASTC ส่งออก KTX2 พร้อม supercompression และยังคงเป็น open-source
เครื่องมือที่มีให้ใช้งาน:
- โอเพ่นซอร์ส: AMD Compressonator, Microsoft DirectXTex, Zex (โปรเจกต์ชุมชน)
- โค้ดปิด: NVIDIA Texture Tools (เวอร์ชันปัจจุบัน), Intel ISPC Texture Compressor (ถูกยกเลิกแล้ว)
- เก็บถาวร: NVIDIA Texture Tools เวอร์ชันดั้งเดิม (เนื่องจากขาดแคลนงบประมาณ)
ประโยชน์ด้านประสิทธิภาพขับเคลื่อนการนำไปใช้แม้จะมีความท้าทายด้านเครื่องมือ
ข้อได้เปรียบด้านประสิทธิภาพของรูปแบบเทกซ์เจอร์ที่เหมาะสมมีมากพอที่นักพัฒนายังคงผลักดันผ่านความยากลำบากของเครื่องมือต่อไป เทกซ์เจอร์ที่บีบอัดสามารถโหลดได้เร็วกว่า PNG ถึง 20 เท่า โดยความเร็วส่วนใหญ่มาจาก mipmap ที่คำนวณไว้ล่วงหน้าแทนที่จะสร้างขณะรันไทม์ การปรับปรุงอย่างมากนี้กลายเป็นสิ่งสำคัญเมื่อต้องจัดการกับเทกซ์เจอร์หลายพันตัวในเกมสมัยใหม่ ที่การขยาย PNG และการคำนวณ mipmap สามารถสร้างความล่าช้าในการโหลดที่เห็นได้ชัด
รูปแบบการบีบอัดที่เข้ากันได้กับ GPU อย่าง BCn ให้ประโยชน์เพิ่มเติมโดยอนุญาตให้อัปโหลดไปยังฮาร์ดแวร์กราฟิกโดยตรงโดยไม่ต้องขยายใน CPU วิธีการนี้ลดทั้งความต้องการพื้นที่จัดเก็บและการใช้ VRAM ในขณะที่รักษาคุณภาพภาพที่สมเหตุสมผลผ่านการประมาณค่าอย่างชาญฉลาดระหว่างจุดปลายสี
การเปรียบเทียบประสิทธิภาพ: เทกซ์เจอร์แบบบีบอัดสามารถโหลดได้เร็วกว่า PNG ประมาณ 20 เท่า โดยส่วนใหญ่ของการเพิ่มประสิทธิภาพมาจากการคำนวณ mipmaps ล่วงหน้าแทนที่จะสร้างขณะรันไทม์
![]() |
---|
โมเดล 3 มิติของต้นไม้ที่มีสีสันสดใส แสดงถึงเท็กซ์เจอร์ที่สมจริงและผลกระทบต่อประสิทธิภาพในเกม |
ระบบอัตโนมัติกลายเป็นโซลูชันหลัก
นักพัฒนาที่มองการณ์ไกลกำลังแก้ไขข้อจำกัดของเครื่องมือผ่าน asset pipeline อัตโนมัติที่จัดการกระบวนการแปลงอย่างโปร่งใส ระบบเหล่านี้ช่วยให้ศิลปินทำงานกับรูปแบบแลกเปลี่ยนที่คุ้นเคยอย่าง PNG ในขณะที่สร้างรูปแบบเทกซ์เจอร์ที่ปรับให้เหมาะสมสำหรับการจัดส่งโดยอัตโนมัติ วิธีการนี้รักษา source asset ไว้ในขณะที่รับประกันการตั้งค่าการบีบอัดที่สม่ำเสมอและขจัดขั้นตอนการแปลงด้วยตนเองที่อาจนำไปสู่ข้อผิดพลาดหรือความไม่สอดคล้องกัน
นักพัฒนาบางคนได้สร้างโซลูชันแบบกำหนดเองอย่าง Zex ซึ่งเป็นเครื่องมือเทกซ์เจอร์ open-source ที่แปลง PNG เป็น KTX2 พร้อมการบีบอัด BC7 และการสนับสนุน supercompression ความพยายามที่ขับเคลื่อนโดยชุมชนเหล่านี้ช่วยเติมเต็มช่องว่างที่เหลือจากเครื่องมือเชิงพาณิชย์ แม้ว่าพวกเขามักจะต้องการความเชี่ยวชาญทางเทคนิคในการนำไปใช้และบำรุงรักษา
ภูมิทัศน์การบีบอัดเทกซ์เจอร์ยังคงพัฒนาต่อไป โดยมีการบีบอัดเทกซ์เจอร์แบบ neural ที่กำลังจะมาถึงซึ่งสัญญาว่าจะให้อัตราส่วนการบีบอัดที่ดียิ่งขึ้น อย่างไรก็ตาม ความท้าทายด้านเครื่องมือในปัจจุบันเน้นย้ำว่าการพัฒนาโครงสร้างพื้นฐานมักจะล้าหลังความสามารถทางเทคนิค สร้างแรงเสียดทานสำหรับนักพัฒนาที่พยายามนำแนวปฏิบัติที่ดีที่สุดไปใช้ในโครงการของตน
อ้างอิง: Stop Shipping PNGs In Your Games