NVIDIA เปิดตัว FrameView โปรแกรมที่ใช้แสดงเฟรมเรตระหว่างการเล่นเกม รวมถึงใช้บันทึกข้อมูลเฟรมเรตต่าง ๆ เพื่อนำมาใช้ในการตรวจสอบประสิทธิภาพในการทำงานของกราฟิกการ์ดได้อีกด้วย การแสดงข้อมูลหน้าจอในระหว่างการเล่นเกมจะประกอบไปด้วย เฟรมเฉลี่ย (AVG), และการแสดงผลแบบเปอร์เซ็นไทล์ ได้แก้ 90th, 95th และ 99th ถ้าหากค่าเปอร์เซ็นไทล์มีค่าใกล้เคียงกับค่าเฉลี่ยมากเท่าไหร่ก็แสดงถึงความลื่นไหลในการเล่นเกมได้มากยิ่งขึ้น
โปรแกรม FrameView เป็นการนำโปรแกรม PressMon ซึ่งเป็นโอเพ่นซอร์สที่ใช้สำหรับตรวจจับเฟรมเรตในการแสดงผลสำหรับมาพัฒนาต่อเพื่อให้ใช้งานได้ง่ายยิ่งขึ้น โดย FrameView นี้สามารถใช้แสดงผลเฟรมเรตได้กับเกมที่ใช้ DirectX 9, 10, 11, 12, OpenGL, Vulkan และรวมไปถึงเกมที่รันผ่าน UWP (Universal Windows Platform) ของวินโดวส์ด้วย สามารถใช้งานได้ทั้งกราฟิกการ์ดของ NVIDIA และ AMD เพียงแต่รายละเอียดในการแสดงผลบางส่วนจะไม่แสดงขึ้นมา อย่างไรก็ตามตอนนี้ FrameView ยังเป็นเพียง beta หรือโปรแกรมรุ่นทดสอบเท่านั้นอาจจะมีข้อบกพร่องระหว่างการใช้งานบ้าง
เริ่มต้นใช้งาน FrameView
ดาวน์โหลด FrameView https://www.nvidia.com/en-us/geforce/technologies/frameview/
เมื่อดาวน์โหลดมาได้แล้วก็ทำการแตกไฟล์ออกมา แล้วเข้าไปในโฟลเดอร์ FrameView_x64 เรียกไฟล์ Install.cmd เพื่อติดไฟล์บางส่วนให้ Windows ก่อน จากนั้นเรียกไฟล์ FrameView_x64.exe (คิดว่าส่วนใหญ่คงใช้ Windows แบบ 64 บิต กันหมดแล้วนะ ถ้าเป็น Windows แบบ 32 บิต ใช้ FrameView_x86) และเมื่อเปิดใช้งาน FrameView ขึ้นมาแล้วก็จะพบกับหน้าจอดังภาพด้านล่างนี้
จากนั้นก็ให้เข้าสู่เกมที่ต้องการเล่นหรือต้องการทดสอบตามปกติ โดยในหน้าจอของเกมจะมีการแสดงข้อมูลต่าง ๆ ดังภาพด้านล่าง และถ้าต้องการจะทดสอบประสิทธิภาพก็ให้กดที่ไปคีย์ลัดที่เราตั้งไว้ โปรแกรมก็จะทำการบันทึกค่าเฟรมเรต และเมื่อเข้าสู่เกมข้อมูลที่แสดงบนหน้าจอเมื่อใช้โปรแกรม FrameView ประกอบไปด้วยข้อมูลต่าง ๆ ดังนี้
ตรงส่วนที่ใช้แสดงเปอร์เซ็นไทล์จะประกอบไปด้วย
- 90th: หมายถึง 10 เฟรมจาก 100 เฟรม แสดงได้ช้ากว่าเฟรมเรตในเกณฑ์เฉลี่ยขณะนี้, หรือ 90% ของเฟรมทำความเร็วได้อยู่ในเกณฑ์เฉลี่ย
- 95th: หมายถึง 5 เฟรมจาก 100 เฟรม แสดงได้ช้ากว่าเฟรมเรตในเกณฑ์เฉลี่ยขณะนี้, หรือ 95% ของเฟรมทำความเร็วได้อยู่ในเกณฑ์เฉลี่ย
- 99th: หมายถึง 1 เฟรมจาก 100 เฟรม แสดงได้ช้ากว่าเฟรมเรตในเกณฑ์เฉลี่ยขณะนี้, หรือ 99% ของเฟรมทำความเร็วได้อยู่ในเกณฑ์เฉลี่ย
ถ้าอ่านแล้วงง…ก็ไม่ต้องคิดมากครับเอาเป็นว่าถ้าตัวเลขทั้งสามรายการมีความใกล้เคียงกับตัวเลขของ AVG หรือเฟรมเรตเฉลี่ยมากเท่าไหร่ก็ยิ่งแสดงว่า การเล่นเกมนั้นลื่นไหลดีไม่มีปัญหาอะไร
เมื่อเราสั่งบันทึกเฟรมโปรแกรมก็จะทำการบันทึกข้อมูลตามระยะเวลาที่เรากำหนดและบันทึกออกมาเป็นไฟล์ที่มีนามสกุลเป็น .CSV สองไฟล์ด้วยกัน คือ Scan_Log.csv และ Scan_Report.csv โดยไฟล์ทั้งสองนี้สามารถเปิดอ่านได้จากโปรแกรม Excel หรือโปรแกรมสเปรดชีทอื่น ๆ
โดยไฟล์ Scan_Log.csv จะเป็นการสรุปรวมข้อมูลและคำนวณออกมาเป็นค่าเฟรมเรตเฉลี่ยต่าง ๆ ตามที่แสดงบนหน้าจอ โดยจะแยกเป็นส่วนของ Rendered FPS กับ Displayed FPS ซึ่งข้อมูลดิบที่นำมาหาค่าเฉลี่ยให้เรานี้ก็จะถูกเก็บไว้ในไฟล์ Scan_Report.csv ซึ่งเราก็สามารถนำข้อมูลเหล่านี้ไปวิเคราะห์ต่อเองได้เช่นกัน แต่ก็ต้องทราบก่อนว่าข้อมูลแต่ละชุดคืออะไรบ้าง ซึ่งตรงจุดนี้สำหรับผู้ใช้ทั่วไปก็ไม่จำเป็นต้องใช้ครับ เว้นแต่คุณจะเป็นนักทดสอบแบบต้องการวิเคราะห์เชิงลึก หรือเป็นนักพัฒนาก็ค่อยว่ากันซึ่งทาง NVIDIA ก็เตรียมข้อมูลไว้ให้แล้วในหน้าดาวน์โหลด
หมายเหตุ หน้าจอการทำงานของ FramView ที่เราพูดถึงนี้ยังเป็นเพียงรุ่น Beta เท่านั้น หน้าจอของเวอร์ขันจริงที่ปล่อยออกมาในอนาคตอาจจะมีการเปลี่ยนแปลงไป
ค่าของ FrameView มาจากไหน
หลังจากเรียนรู้วิธีการใช้งานเบื้องต้นกันแล้วก็มาดูที่มาที่ไปของข้อมูลที่แสดงอยู่บนหน้าจอเวลาเราเล่นเกมกันหน่อยครับจะได้เข้าใจการทำงานของโปรแกรมนี้เพิ่มมากขึ้น
ข้อมูลที่ FrameView และให้เราเห็นบนหน้าจอระหว่างการเล่นเกมนั้นจะแสดงเฟรมเรตอยู่สองชุดหลัก ๆ ด้วยกัน คือ Rendered FPS และ Displayed FPS ซึ่งข้อมูลตรงนี้จะเป็นการแสดงเฟรมเรตด้วยกันทั้งคู่แต่มีความแตกต่างกันเล็กน้อยซึ่งแสดงในภาพ Graphics Pipe line (แบบหยาบ ๆ) ด้านล่างนี้ครับ
Rendered FPS จะแสดงเฟรมเรตที่ถูกสร้างและทำเสร็จในส่วนของ Game Engine จากนั้นก็จะส่งข้อมูลที่เรนเดอร์ได้จากขั้นตอนดังกล่าวมาผ่าน MS DX ซึ่งก็คือ API DirectX นั่นเอง จากนั้นก็ส่งกลับมายังตัวไดรเวอร์ (GPU Driver) แล้วส่งเข้ามาที่ตัว GPU เพื่อเรนเดอร์ในขั้นตอนสุดท้ายเพื่อให้ได้ภาพที่สมบูรณ์ แล้วก็ส่งผ่านไปยังภาคแสดงผลบนจอภาพของเรา ก็จะเห็นได้ว่ามีหลายขั้นตอนมากกว่าที่จะได้ภาพสุดท้ายบนจอภาพของเรา
ตามปกติแล้วค่าการตรวจสอบเฟรมเรตในลักษณะนี้จะมีไว้สำหรับนักพัฒนาเกมเพื่อใช้ตรวจสอบการทำงานในขั้นตอนต่าง ๆ ว่าตรงส่วนไหนทำงานเป็นอย่างไร โดยใช้ค่า T_game, T_present, T_render และ T_display มาตรวจสอบและใช้เป็นข้อมูลในปรับปรุงแก้ไขในส่วนที่ใช้เวลาเยอะเป็นพิเศษนั่นเองครับ
ก็ทั้งหมดนี้ก็เป็นแนวทางการใช้งานโปรแกรม FrameView แบบง่าย ๆ ก็หวังว่าจะมีประโยชน์กับผู้ที่สนใจใช้งานโปรแกรมนี้กันบ้างครับ.
ดาวน์โหลด FrameView https://www.nvidia.com/en-us/geforce/technologies/frameview/