Resizable BAR คืออะไร และทำไมไดรเวอร์ NVIDIA ถึงเป็นตัวตัดสินจริงๆ
Resizable BAR คือฟีเจอร์บนมาตรฐาน PCIe ที่เปิดให้ซีพียูเข้าถึงเฟรมบัฟเฟอร์ของจีพียูได้ทั้งหมดในครั้งเดียวแทนที่จะเป็นชิ้นเล็กๆ ส่งผลให้บางเกมได้บูสต์เฟรมเรตฟรีโดยไม่ต้องจ่ายเงินเพิ่มหรือลดคุณภาพภาพลง แต่การเปิด Above 4G Decoding และ Resizable BAR ใน BIOS เป็นเพียงชั้นแรกของระบบเท่านั้น เพราะไดรเวอร์ NVIDIA ยังมีโปรไฟล์เฉพาะเกมที่สามารถเปิดหรือปิดการใช้ฟีเจอร์นี้ทีละเกมได้ ทำให้แม้ BIOS และ System Information จะบอกว่า "Resizable BAR: Yes" ฟีเจอร์กลับไม่ถูกใช้จริงในเกมที่ไม่ได้อยู่ใน whitelist ของไดรเวอร์เลย.
ปัญหาจึงไม่ได้อยู่ที่ BIOS performance settings เพียงอย่างเดียว แต่เป็น Resizable BAR ปัญหา ที่ถูกออกแบบเชิงนโยบายโดย NVIDIA เพื่อควบคุมความเสี่ยงด้านประสิทธิภาพ เพราะบริษัททดสอบแต่ละเกมทีละตัวก่อนจะอนุญาตให้ใช้ผ่าน whitelist ในโปรไฟล์ไดรเวอร์. แน่นอนว่าจุดประสงค์คือหลีกเลี่ยงเกมที่ทำงานแย่ลงเมื่อใช้ ReBAR แต่ผลข้างเคียงคือผู้ใช้สายปรับแต่งทุกอย่างกลับไม่รู้เลยว่าค่าใน BIOS ที่อุตส่าห์ไปเปิดไม่ส่งผลกับเกมส่วนใหญ่บนเครื่องของตัวเอง
เมื่อ BIOS บอกว่าเปิดแล้ว แต่ NVIDIA driver settings แอบปิดแบบไร้แจ้งเตือน
สิ่งที่น่าหงุดหงิดที่สุดคือ NVIDIA ไม่แสดงคำเตือนใดๆ เมื่อตัดสินใจปิด Resizable BAR ในระดับไดรเวอร์ แม้เราจะเปิดทุกอย่างใน BIOS แล้วก็ตาม. ผู้ใช้เห็นแค่สถานะบอกว่า "เปิด" ใน System Information แต่ไม่มีช่องทางตรวจสอบชัดๆ ว่าเกมที่เล่นกำลังใช้ ReBAR จริงหรือไม่ ในทางปฏิบัติ NVIDIA driver settings ใช้โปรไฟล์รายเกมเป็นตัวตัดสินว่าฟีเจอร์จะทำงานหรือถูกปิดอยู่เบื้องหลัง. ถ้าเกมถูกใส่ไว้ใน whitelist ไดรเวอร์จะเปิดให้ใช้โดยอัตโนมัติ แต่ถ้าไม่อยู่ในรายชื่อ การเปิด BIOS ก็แทบไม่มีความหมายกับเกมนั้นเลย.
นโยบายแบบนี้คล้ายกับสถานการณ์ที่หน้าจอ 144Hz ของผู้ใช้จำนวนมากถูกล็อกอยู่ที่ 60Hz เพราะระบบปฏิบัติการและไดรเวอร์ไม่สื่อสารให้เข้าใจว่า refresh rate ถูกจำกัดจากการตั้งค่าหรือสายสัญญาณที่ไม่รองรับ แถมยังไม่ยอมเปลี่ยนไปใช้ค่าเต็มศักยภาพจนกว่าเราจะเข้าไปเลือกเองใน Settings. ทั้งสองกรณีสะท้อนปัญหาเดียวกันคือ ผู้ใช้เชื่อว่าฮาร์ดแวร์กำลังทำงานเต็มประสิทธิภาพ ทั้งที่ในความเป็นจริงซอฟต์แวร์ชั้นล่างกำลังลดทอนสมรรถนะลงแบบเงียบๆ โดยไม่บอกเลยว่าเกิดอะไรขึ้น
ทำไมเกมเมอร์สายปรับแต่งถึงถูกพรากประสิทธิภาพที่ควรได้จาก Resizable BAR
สำหรับสายเกมเมอร์และคนเล่น PC ที่ชอบไล่ปรับ BIOS performance settings ทุกเมนู การค้นพบว่าฟีเจอร์ที่ดูมีศักยภาพอย่าง Resizable BAR กลับไม่ทำงานในหลายเกม ถือว่าเป็นการเสียโอกาสด้านประสิทธิภาพแบบชัดเจน Resizable BAR เป็นหนึ่งใน GPU optimization tips ที่ให้เฟรมเรตเพิ่มขึ้น "ฟรี" ในบางเกมโดยไม่ต้องแตะกราฟิกลง. แต่เมื่อ NVIDIA จำกัดการใช้ด้วย whitelist รายเกม และปิดใช้งานในเกมที่ยังไม่ผ่านการทดสอบภายใน ผู้ใช้จำนวนมากจึงหวังจะเห็นเฟรมเรตดีขึ้นแต่กลับไม่เกิดอะไรขึ้นเลยในเกมโปรดของตัวเอง.
ในมุมของ NVIDIA การสุ่มเปิด ReBAR ทุกเกมนั้นมีความเสี่ยง เพราะฟีเจอร์นี้ไม่รับประกันว่าประสิทธิภาพจะดีขึ้นเสมอไป บางเกมอาจได้ FPS เฉลี่ยใกล้เคียงเดิมแต่ 1% lows หรือความคงเส้นคงวาของ frame-time แย่ลง. นั่นคือเหตุผลที่บริษัทเลือกทดสอบเกมทีละชื่อก่อนจะอนุญาตให้ใช้งานในโปรไฟล์ไดรเวอร์. แต่การขาดความโปร่งใสและช่องทางให้ผู้ใช้รู้ว่าเกมใดถูกปิด ReBAR กลับทำให้คนที่เก่งด้านการปรับแต่งซอฟต์แวร์ถูกจำกัดโดยการตัดสินใจแบบ "ปิดไว้ก่อน" ของไดรเวอร์ ทั้งที่ฮาร์ดแวร์ถูกตั้งค่าให้พร้อมใช้งานเต็มที่แล้ว
ตรวจสอบ Resizable BAR ในเกมด้วย Nvidia Profile Inspector แทนการเดา
ทางออกเชิงปฏิบัติสำหรับ Resizable BAR ปัญหา คือหยุดเชื่อคำว่า "เปิดแล้ว" จาก BIOS และหน้า System Information เพียงอย่างเดียว แล้วหันมาใช้เครื่องมือที่เจาะลึก NVIDIA driver settings มากขึ้นอย่าง Nvidia Profile Inspector เครื่องมือนี้เปิดโปรไฟล์ไดรเวอร์ที่ถูกฝังมากับกราฟิกไดรเวอร์ ทำให้เห็นการตั้งค่า ReBAR, DLSS overrides, ตัวจำกัด FPS และตัวเลือกอื่นๆ ที่ไม่โผล่ใน Control Panel หรือแอปหลักของ NVIDIA เลย. ที่สำคัญ เราสามารถค้นหาและแก้ค่า "rBAR - Enable" ในโปรไฟล์ของเกมแต่ละเกมได้โดยตรง เพื่อเช็คว่าเกมนั้นถูก NVIDIA เปิดให้ใช้ Resizable BAR แล้วหรือยัง.
แนวทางที่ปลอดภัยคือ เลือกเกมเป้าหมายจากเมนูโปรไฟล์ แล้วเปิด ReBAR ให้เฉพาะเกมนั้นแทนที่จะไปยุ่งกับ Global Driver Profile เพราะการบังคับเปิดแบบทั้งระบบอาจทำให้เกมบางเกมทำงานแย่ลงได้. หลังจากเปลี่ยนค่าแล้วควรทดสอบส่วนเดิมของเกมก่อนและหลังเปิด ReBAR เพื่อดูผลต่างแทนที่จะคิดว่าเป็นการบูสต์ FPS แบบรับรองผล. ผู้เขียนที่ใช้เครื่องมือนี้แนะนำให้ตรวจสอบว่าเกมถูก whitelist แล้วหรือยังก่อนจะเริ่มปรับแต่งส่วนอื่นของกราฟิกอย่างจริงจัง อย่างน้อยเราจะรู้ว่าเกมกำลังใช้ ReBAR อยู่จริง ไม่ใช่เดาเอาจากหน้าจอ BIOS หรือคำว่า "Yes" บน System Information.
แนวคิดเรื่องการควบคุมฟีเจอร์ กับบทเรียนจากจอ 144Hz ที่วิ่งแค่ 60Hz
เรื่อง Resizable BAR ที่ NVIDIA แอบปิดในเกมสะท้อนปัญหาเดียวกับกรณีจอ 144Hz ที่ถูกจำกัดไว้ที่ 60Hz โดย Windows และไดรเวอร์ การตั้งค่าที่ผู้ใช้คิดว่า "ทำครั้งเดียวแล้วจบ" กลับขึ้นกับหลายชั้นของซอฟต์แวร์ที่ไม่สื่อสารกันอย่างชัดเจน ในกรณีจอภาพ ถ้าสาย HDMI หรือพอร์ตไม่รองรับแบนด์วิดท์มากพอ ระบบจะไม่ยอมให้เลือก refresh rate สูง อีกทั้ง Windows จะยังใช้ 60Hz เป็นค่าเริ่มต้นแม้จอและสายจะรองรับ ทำให้เราต้องเข้าไปเปลี่ยนเองใน Settings ทุกครั้งที่เปลี่ยนจอ.
ในทางเดียวกัน การเปิด Above 4G Decoding และ Resizable BAR ใน BIOS เป็นเพียงการผ่านด่านแรกของระบบ ขณะที่ "ด่านสุดท้าย" อยู่ที่โปรไฟล์ในไดรเวอร์ที่ตัดสินใจเองว่าเกมใดจะได้ใช้ฟีเจอร์นี้. บทเรียนสำคัญคือ ผู้ใช้ที่ใส่ใจ GPU optimization tips ต้องเลิกมองว่าค่าใน BIOS หรือเมนูหลักของไดรเวอร์คือคำตอบสุดท้าย แล้วหันมาใช้เครื่องมือระดับโปรไฟล์เพื่อตรวจสอบให้แน่ใจว่าเกมได้รับประโยชน์จากฮาร์ดแวร์เต็มจริงๆ หากยังปล่อยให้ระบบเลือกให้โดยไม่มีการตรวจสอบ เราก็จะวนอยู่ในวงจร "ของแรงแต่ไม่วิ่งเต็ม" แบบเดิมไม่รู้จบ
