ผู้เขียน หัวข้อ: แนะนำโปรแกรมเล่นเพลง BHE (Bug Head Emperor หรือ Infinite Blade HQ)  (อ่าน 261 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ Freedom

  • ***
  • กระทู้: 234
แนะนำโปรแกรมเล่นเพลง BHE (Bug Head Emperor หรือ Infinite Blade HQ)
« เมื่อ: 20 กุมภาพันธ์, 2017, 04:18:26 PM »

BHE เป็นโปรแกรมที่พัฒนาขึ้นโดยนักพัฒนาญี่ปุ่น ชื่อ Hiroyuki Yokota (oryaaaaa) ข้อมูลที่โพสเป็นข้อมูลที่รวบรวมมาจากโพสหลายๆ โพสตามเวปบอร์ด ที่ผู้พัฒนาไปโพส ถ้าแปลผิด หรือ เข้าใจผิด ขออภัยด้วย

http://oryaaaaa.world.coocan.jp/bughead/
https://www.facebook.com/Bug-head-technology-221354151338856/

ข้อดีของโปรแกรมคือ เป็นที่เลื่องลือว่าเสียงดี และ Jitter และ Latency ต่ำมาก

ข้อเสีย คือ กิน Resource มหาศาล เป็นโปรแกรมเล่นเพลงแต่ต้องการ RAM ขั้นต่ำ 16-24GB และแนะนำว่าควรจะมี RAM 32GB และ ใช้ได้กับ CPU Intel บางรุ่น และ Windows 64 bit เท่านั้น และยังต้องการ CPU ความเร็วสูง กินทรัพยากรสูง

เนื่องจากในบริเวณที่อยู่ของผู้พัฒนา มีปัญหาเรื่องไฟฟ้าไม่นิ่ง ตัวผู้พัฒนาจึงพยายามหาวิธีว่า จะมีวิธีไหมที่แม้ไฟไม่ค่อยนิ่ง จนมีผลทำให้เกิด Jitter ขึ้นในระบบ จะสามารถพัฒนา Software ขึ้นเพื่อแก้ไขปัญหานี้ เป็นจุดกำเนิดของโปรเจ็คนี้ขึ้นมา ซึ่งตัวผู้พัฒนาได้พัฒนาโปรแกรมนี้เป็นงานอดิเรก และทำไปเพื่อการทดลอง โปรแกรมจะประกอบด้วยโมดูลย่อยๆ 3 ตัว คือ

1. Player
2. Rewrite
3. All Core Any Cure

1. Player เนื่องจากผู้พัฒนา เคยทดสอบใช้ชุดคำสั่งของ CPU (เช่น MMX SSE SEE2 AVX AVX2) หลายตัวเปรียบเทียบกัน แล้วเขาพบว่า ผลออกมาเสียงไม่เหมือนกัน โดยผู้พัฒนาอ้างว่าน่าจะเป็นเพราะ Jitter ไม่เท่ากัน และในกลุ่มชุดคำสั่งที่เขาเลือกใช้ มีชุดคำสั่งที่มีเฉพาะใน CPU Intel บางรุ่นเท่านั้น (ที่มีชุดคำสั่ง SSE4.1/4.2, AVX-256 AVX 2.0) รวมไปทิ้งเรื่องข้อจำกัดเรื่องความเร็ว CPU ที่ต้องการ ทำให้โปรแกรมนี้ไม่สนับสนุน CPU รุ่นอื่นๆ และสำหรับรุ่นที่ผู้พัฒนาแนะนำ คือ Core i5 Core i7 Haswell หรือ Skylake และ สาเหตุที่ทำให้โปรแกรมต้องใช้ RAM มหาศาล คือ RAM ในระบบคอมพิวเตอร์นั้นเป็น DRAM ซึ่งจริงๆ แล้วก็คือ ตัวเก็บประจุ หมายความว่า ต่อให้ต่อไฟไว้ ถ้าไม่เข้าไปเขียนข้อมูลเดิมทับเรื่อยๆ ข้อมูลจะหาย เพราะ C คลายประจุออก ปกติแล้ว สำหรับในยุคปัจจุบัน CPU ต้องเข้าไปสั่งเขียนข้อมูลเดิมทับ ทุก 32-64 ms ซึ่ง BHE ใช้วิธี Cache ข้อมูลไฟล์เพลงชุดเดียวกัน เข้าไปไว้ใน RAM หลายๆ ชุด และคาดว่าน่าจะใช้ข้อมูลชุดที่เพิ่ง Refresh ชุดใหม่ที่สุด นอกจากนี้ยังมีการแนะนำให้ใช้ RAM ที่มี Heat Sink หรือมีชุดพัดลมระบายความร้อนสำหรับ RAM เพราะ ที่อุณหภูมิต่ำๆ การคลายประจุของ RAM จะเกิดขึ้นช้ากว่า หมายความว่าตามสมมุติฐานของผู้พัฒนา จะได้ผลดีกว่า

2. Rewrite ไอเดียของโมดูลนี้เกิดขึ้นมาจากสมมุติฐานที่ว่า ในการเขียนข้อมูลลง Hard Disk นั้น ในทางดิจิตอลเป็น 0 กับ 1 จริง แต่เวลาเขียนค่าลงไปจริง 0 อาจจะอ่านค่าขึ้นมาได้เป็น 0 0.1 0.2 0.3 ในขณะที่ 1 ค่าจริงๆ ที่อ่านขึ้นมาได้อาจจะเป็น 1 0.9 0.8 0.7 ซึ่งเมื่อเอามาเล่นกลับ จะมีผลต่อสัญญาณ และต่อให้เราเขียนข้อมูล 0 ทับลงไปใน Physical Address ของ File ที่เราลบไป บางครั้งโปรแกรมกู้ข้อมูล ก็ยังกู้ข้อมูลขึ้นมาได้ เพราะข้อมูลใน Physical Address มันไม่ได้เป็น 0 จริงๆ แม้เราจะเขียน 0 ทับลงไปแล้ว ทำให้ต้องเขียน 0 ทับลงไปในจุดที่เคยเป็น 1 หลายๆ ครั้ง เพื่อให้มันใกล้เคียงกับค่า 0 ตัวอื่นจริงๆ ถ้าใครเคยใช้พวก Secure Erase น่าจะเข้าใจหลักการนี้

ซึ่งสิ่งที่ Rewrite ทำ คือ การเขียนข้อมูลค่าเดิมซ้ำลงไปบน Physical address เดิมของ Hard disk ด้วยข้อมูลชุดเดิมที่เขียนใน Physical address นั้นไว้อยู่แล้ว เพื่อให้ ค่า 0 ใกล้เคียง 0 ที่สุด และ ค่า 1 ใกล้เคียง 1 ที่สุด  ซึ่งหมายความว่า ถ้าเป็น SSD จะทำให้ SSD เสื่อมอย่างรวมเร็ว และการย้ายไฟล์ ที่มีการย้ายข้อมูลในระดับ Physical (เช่น Defrag) จะต้องทำ Rewrite ใหม่ ซึ่งการ Rewrite อาจจะทำสูงถึง100-200 ครั้ง หรือ ต่อให้เป็น Hard disk จานหมุน ก็เสี่ยงที่จะทำให้ Hard Disk พังก่อนเวลาอันควรได้

3. All Core Any Cure (ACAC) เป็นโมดูลที่รันใน Background ผู้พัฒนาไม่บอกอะไรมากนักนอกจากใช้ลด Jitter ใน CPU? การใช้งานค่อนข้างจะวุ่นวาย เพราะผู้พัฒนาแนะนำว่าก่อนเริ่มฟังเพลง ก็ต้องรัน ACAC ทิ้งไว้ล่วงหน้าประมาณ 15-30 นาที

ป.ล.
ถ้าใครมีงบเหลืออยากลอง ลองแล้วช่วยมาบอกผลด้วยนะครับ โดยส่วนตัวผมชอบ MiniPC + Linux Low latency kernel มากกว่าครับ แล้วอีกอย่างเครื่องที่บ้านผมไม่ตรง Requirement Software เขาเลยซักกะเครื่อง