[Unity] ว่าด้วยเรื่อง Audio Compression Format หรือวิธีบีบอัด Audio ให้ไม่กิน Memory ขณะรัน by

30
Apr
0

ปกติแล้วเวลาเราใส่ Audio ต่างๆลงในโปรเจ็คแล้วสั่งเล่น ขณะรันจะพบว่าตัว Audio นั้นกิน Memory มากเกินควร ซึ่งทั้งๆที่ Source Audio ของเรานำเข้ามาเป็น MP3 ขนาดไฟล์ไม่ใหญ่แท้ๆ แต่พอนำเข้ามากลับมีกิน Memory ไปเยอะมากขณะรัน ซึ่งถ้าเรามาย้อนดู Inspect ที่ตัวไฟล์ตั้งแต่แรกนั้นก็จะพบว่า Audio ของเรานั้นมีขนาดมากกว่าตัวไฟล์จริงๆ ซึ่งเกิดจากเจ้า Unity ไม่ว่าจะนำ Audio ใดๆก็ตามเข้ามาจะพยายามแกะให้เป็น Audio ที่ Decompress (ไม่บีบอัดเลย) ขณะรัน ซึ่งก็เหมือนกับเราเอา WAV ไฟล์มาใส่ตรงๆนั่นแหละครับ พอ Decompress ไฟล์ก็จะบานออกทำให้กิน Memory มากขึ้นนั่นเอง เราจึงต้องทำการปรับ Setting ใน Inspect ให้เรียบร้อยก่อนการรันนั่นเองครับ

จากรูปด้านบน ที่ใต้สุดของรูปจะเห็นได้ว่า ขนาดของ Audio ตัวนี้กลายเป็น 10.3 MB ซึ่งขนาดจริงมีเพียง 2.7 MB ซึ่งสิ่งที่เราต้องเช็คคือ Load Type และ Compression Format

ให้เราทำการเปลี่ยน Load Type เป็น Compressed In Memory ซึ่งจะทำงานตามชื่อมันเลยคือจะยัง Compressed (บีบอัด) อยู่เหมือนเดิมเวลาเก็บลง Memory แต่ ถ้าถามว่าอ่าวแล้วไม่มีข้อเสียเลยหรอ มีครับ การที่มันบีบอัดอยู่ใน Memory ก็แปลว่าการรันของมันจะต้องทำการแกะมาอ่านในทุกๆ Sample เสียงแทน ซึ่งจะใช้งาน Process มากขึ้น แต่ถ้าเพื่อแลกกับการทำให้ Memory ล้นจนเกมพัง ก็ยังถือว่าคุ้มครับ

ส่วน Compression Format มัน Default ไว้ที่ Vorbis อยู่แล้วให้ทิ้งไว้แบบนั้นครับ Format อื่นๆ แทบจะไม่ได้ลดขนาดลงเท่าไรเลยครับ และ Quality แนะนำว่าเต็มไว้ดีแล้วครับ ลดลงจากนี้จะทำให้เริ่มฟังออกแล้วว่าคุณภาพเสียงตกลง

เมื่อปรับเรียบร้อย แถ่นแท้นนน 1.8 MB เองครับ

Enjoy this article?

Consider subscribing to our RSS feed!

ไม่มีความเห็น

ยังไม่มีความเห็น

ใส่ความเห็น

RSS feed for comments on this post

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน