เครื่องคำนวณคอขวดระหว่าง CPU กับ GPU

เวลาเฟรมที่วัดจริง ไม่ใช่คะแนนคอขวดสากล

ใช้เวลาเฟรม CPU และ GPU ที่บันทึกจากฉาก การตั้งค่า และวิธีทดสอบที่ทำซ้ำได้แบบเดียวกัน อัตราการใช้งานเพียงอย่างเดียวไม่สามารถพิสูจน์คอขวดได้ เครื่องมือนี้ไม่มีฐานข้อมูลชื่อฮาร์ดแวร์และไม่ให้คำแนะนำด้านการซื้อหรืออัปเกรด

การวิเคราะห์เวลาเฟรม

อธิบายบริบทของเบนช์มาร์ก

ป้ายกำกับเป็นตัวเลือก อย่าป้อนชื่อบัญชี หมายเลขซีเรียล หรือข้อมูลโครงการที่เป็นความลับ

ค่าที่แสดงโดยตรงจะประมวลผลผ่าน Livewire ส่วนค่าในขั้นตอนต่อเนื่อง รวมถึงป้ายกำกับเสริม จะอยู่ใน URL ของหน้าและประวัติเบราว์เซอร์เพื่อให้แต่ละขั้นตอนกู้คืนค่าได้ อย่าป้อนชื่อหรือข้อมูลเวิร์กโหลดที่เป็นความลับ

ใช้เครื่องคำนวณคอขวดนี้เพื่อเปรียบเทียบเวลาเฟรมของ CPU และ GPU ที่วัดจากฉากเดียวกันในเกม เครื่องมือจะประเมินเพดานอัตราเฟรมของแต่ละส่วน ระบุส่วนที่ช้ากว่าเฉพาะเมื่อความแตกต่างเกินค่าความคลาดเคลื่อนที่คุณกำหนด และอธิบายว่าเหตุใดผลการบันทึกเพียงครั้งเดียวจึงไม่สามารถแปลงเป็นเปอร์เซ็นต์คอขวดสากลที่ใช้ได้กับทุกเกมหรือทุกการตั้งค่า

วิธีวิเคราะห์คอขวดของ CPU หรือ GPU

  1. 1

    บันทึกฉากที่ทำซ้ำได้หนึ่งฉาก

    ใช้เบนช์มาร์กในเกม การเล่นย้อนหลัง หรือเส้นทางตายตัว โดยคงความละเอียด การตั้งค่ากราฟิก ขีดจำกัดเฟรม และสถานะ VSync ให้เหมือนเดิม เปิดเกมทิ้งไว้ให้อยู่ในสภาวะคงที่ก่อนเริ่มบันทึก

  2. 2

    ป้อนเวลาเฟรมของ CPU

    คัดลอกเวลาที่ CPU ใช้ต่อเฟรมในหน่วยมิลลิวินาทีจากเครื่องมือวิเคราะห์หรือข้อมูลบันทึกประสิทธิภาพ เลือกค่าที่เป็นตัวแทนของช่วงทดสอบที่กำหนด

  3. 3

    ป้อนเวลาเฟรมของ GPU

    คัดลอกเวลา GPU ที่ตรงกันจากฉากและช่วงเวลาบันทึกเดียวกัน อย่านำผลจากการทดสอบ ค่าที่ตั้งไว้ล่วงหน้า หรือความละเอียดที่ต่างกันมารวมกัน

  4. 4

    กำหนดค่าความคลาดเคลื่อนและตีความผลลัพธ์

    ค่าความคลาดเคลื่อนจะถือว่าความแตกต่างเล็กน้อยอยู่ในภาวะสมดุล เนื่องจากความแปรผันตามปกติระหว่างการทดสอบแต่ละครั้งอาจทำให้ผลที่ใกล้เคียงกันสลับข้างได้ ควรบันทึกซ้ำก่อนตัดสินใจจากความแตกต่างเพียงเล็กน้อย

เวลาเฟรมคือจุดเริ่มต้นที่มีประโยชน์

จำนวนเฟรมต่อวินาทีเป็นส่วนกลับของเวลาเฟรม เมื่อวัดเวลาเป็นมิลลิวินาที:

เพดานอัตราเฟรม = 1000 / เวลาเฟรมในหน่วย ms

ขั้นตอนที่วัดได้ว่าช้ากว่าจะเป็นตัวกำหนดเพดานโดยประมาณของไปป์ไลน์:

เพดานโดยประมาณ = 1000 / max(เวลาเฟรม CPU, เวลาเฟรม GPU)

ค่านี้เป็นการประเมินเพื่อการวินิจฉัย ไม่ใช่การรับประกันว่าเกมจะแสดงเฟรมด้วยอัตราดังกล่าวอย่างแม่นยำ ขีดจำกัดเฟรม การซิงโครไนซ์ คิว งานของเอนจิน การโหลด การจัดสรรเวลาของระบบปฏิบัติการ และขั้นตอนนำภาพขึ้นจอล้วนส่งผลต่อ FPS ที่สังเกตได้ Microsoft แยกเวลา CPU ต่อเฟรมออกจากเวลา GPU ต่อเฟรมในคำแนะนำด้านการวิเคราะห์ประสิทธิภาพ DirectX เนื่องจากทั้งสองส่วนต่างก็อาจใช้เวลาเกินงบเวลาที่มีสำหรับหนึ่งเฟรมได้

อัตราเฟรมเป้าหมาย งบเวลาต่อเฟรม
30 FPS 33.33 ms
60 FPS 16.67 ms
120 FPS 8.33 ms
144 FPS 6.94 ms
240 FPS 4.17 ms

การแปลงด้วย 1000 / ms คือเพดานของขั้นตอนที่วัด ตัวอย่างเช่น เวลา CPU 12 ms เท่ากับประมาณ 83.33 FPS ส่วนเวลา GPU 7 ms เท่ากับประมาณ 142.86 FPS ในการบันทึกนี้ ฝั่ง CPU ช้ากว่าและเพดานโดยประมาณอยู่ที่ราว 83.33 FPS

เหตุใดค่าความคลาดเคลื่อนจึงสำคัญ

ไม่ควรรายงานเวลาเฟรมที่ใกล้เคียงกันด้วยความมั่นใจที่เกินจริง เครื่องคำนวณนี้เปรียบเทียบผลต่างสัมบูรณ์กับเวลาเฟรมของส่วนที่ช้ากว่า:

ความแตกต่างสัมพัทธ์ = |CPU ms - GPU ms| / max(CPU ms, GPU ms) × 100

หากความแตกต่างอยู่ภายในค่าความคลาดเคลื่อนที่เลือก ผลลัพธ์ของการบันทึกนี้จะถือว่าสมดุลหรือยังไม่สามารถชี้ขาดได้ หากเกินค่าความคลาดเคลื่อน ส่วนที่มีเวลาเฟรมนานกว่าคือส่วนที่กำลังจำกัดประสิทธิภาพ

เวลา CPU เวลา GPU ความแตกต่างสัมพัทธ์ ผลลัพธ์เมื่อใช้ค่าความคลาดเคลื่อน 5%
12.0 ms 7.0 ms 41.67% จำกัดโดยฝั่ง CPU
6.0 ms 10.0 ms 40.00% จำกัดโดยฝั่ง GPU
8.0 ms 8.3 ms 3.61% สมดุลหรือใกล้เคียงเกินกว่าจะชี้ขาด

เปอร์เซ็นต์นี้อธิบายระยะห่างระหว่างค่าการจับเวลาสองค่าในเวิร์กโหลดหนึ่งชุด ไม่ใช่เปอร์เซ็นต์ความสามารถของ CPU หรือ GPU ที่สูญเปล่า และไม่สามารถคาดการณ์ว่าการเปลี่ยนฮาร์ดแวร์จะเพิ่มประสิทธิภาพได้เท่าใด

ทำให้การบันทึกทำซ้ำได้

การเปรียบเทียบที่มีประโยชน์ต้องรักษาเวิร์กโหลดให้คงที่ ใช้สิ่งต่อไปนี้ให้เหมือนเดิม:

  • เกมและเวอร์ชันเอนจิน;
  • ไฟล์บันทึก การเล่นย้อนหลัง ลำดับเบนช์มาร์ก หรือเส้นทางการเคลื่อนที่ตายตัว;
  • ความละเอียด สเกลการเรนเดอร์ ค่าคุณภาพที่ตั้งไว้ล่วงหน้า และ API กราฟิก;
  • ขีดจำกัดเฟรม VSync และสถานะความละเอียดแบบไดนามิก;
  • การตั้งค่าไดรเวอร์ โหมดพลังงาน และเวิร์กโหลดเบื้องหลัง;
  • ระยะเวลาอุ่นเครื่องและระยะเวลาบันทึก

ทดสอบหลายครั้งและเปรียบเทียบสถิติที่เป็นตัวแทน แทนที่จะเชื่อผลจากตัวอย่างสั้น ๆ เพียงครั้งเดียว คำแนะนำด้านประสิทธิภาพ CPU ของ AMD แนะนำให้ตรึงตัวแปรต่าง ๆ เช่น ฉากทดสอบและค่า seed แบบสุ่มไว้ ส่วนคำแนะนำสำหรับ Unreal Engine เสนอให้เปลี่ยนความละเอียดเพื่อช่วยวินิจฉัย หากเพิ่มความละเอียดในการเรนเดอร์ขึ้นมากแล้วประสิทธิภาพแทบไม่เปลี่ยน นั่นเป็นหลักฐานที่ควรตรวจสอบต่อว่าเวิร์กโหลดดังกล่าวอาจติดข้อจำกัดฝั่ง CPU อย่างไรก็ตาม สิ่งนี้ยังคงเป็นเพียงหลักฐาน ไม่ใช่ข้อสรุปสากล

เหตุใดอัตราการใช้งานจึงไม่ใช่หลักฐานยืนยัน

อัตราการใช้งานช่วยสนับสนุนการวินิจฉัยได้ แต่ไม่สามารถยืนยันได้ด้วยตัวมันเอง อัตราการใช้ CPU โดยรวมอาจดูไม่สูง ขณะที่เธรดหลักหรือเธรดเรนเดอร์เพียงเธรดเดียวทำงานเต็มกำลัง อัตราการใช้ GPU ต่ำอาจเกิดจากขีดจำกัดเฟรม การรอ CPU การซิงโครไนซ์ หรือมีงานส่งไปให้ GPU น้อยเกินไป ส่วนอัตราการใช้ GPU สูงบอกเพียงว่าอุปกรณ์กำลังทำงานหนัก ไม่ได้ระบุพาสที่ใช้ทรัพยากรมากอย่างเจาะจงหรือทำนายผลจากการอัปเกรด

เครื่องมือจับเวลาช่วยให้เห็นบริบทได้ดีกว่า Intel PresentMon บันทึกข้อมูลเฟรมและข้อมูลวัดสถานะ GPU, NVIDIA Nsight แสดงระยะเวลาเฟรมของ CPU และ GPU รวมถึงช่วงเวิร์กโหลด GPU ส่วน AMD Radeon GPU Profiler แสดงเวลาของคิวและช่วงที่ GPU ว่าง แม้แต่เกณฑ์ของเครื่องมือวิเคราะห์ก็เป็นเพียงกฎโดยประมาณ การจัดประเภทว่าติดข้อจำกัด CPU ของ Radeon GPU Profiler ใช้เกณฑ์เวลาว่างของ GPU ที่ปรับได้ ไม่ใช่กฎตายตัวที่ใช้ได้กับทุกเอนจิน

ค่า FPS ต่ำสุด 1% บอกอะไรได้และบอกอะไรไม่ได้

ค่า FPS ต่ำสุด 1% สรุปส่วนปลายที่ช้าของการกระจายเวลาเฟรม จึงมีประโยชน์ในการตรวจหาการแสดงเฟรมที่ไม่สม่ำเสมอซึ่งค่าเฉลี่ยอาจบดบังไว้ แต่ค่านี้ไม่บอกว่าเฟรมช้าเหล่านั้นเกิดจาก CPU, GPU, การสตรีมแอสเซ็ต, การคอมไพล์เชดเดอร์, ภาระหน่วยความจำ หรือการหยุดชะงักรูปแบบอื่น

คำจำกัดความยังแตกต่างกันด้วย บางรายงานคำนวณอัตราจากเวลาเฟรมที่เปอร์เซ็นไทล์ 99 (1000 / เวลาเฟรม p99) ขณะที่บางรายงานหาค่าเฉลี่ยจากตัวอย่าง FPS ที่ช้าที่สุด 1% NVIDIA Nsight Systems นิยามความยาวเฟรมที่เปอร์เซ็นไทล์ 99 ว่าเป็นค่าที่มีเฟรมเพียง 1% เท่านั้นที่ยาวกว่า จดชื่อเครื่องมือและคำจำกัดความที่ใช้เมื่อเปรียบเทียบผล และอย่าใช้ค่า FPS ต่ำสุด 1% แทนเวลาเฟรม CPU และ GPU ที่วัดคู่กัน

เหตุใดเปอร์เซ็นต์คอขวดแบบสากลจึงทำให้เข้าใจผิด

คอมพิวเตอร์ไม่ได้มีอัตราส่วนคอขวดระหว่าง CPU กับ GPU ที่คงที่เพียงค่าเดียว งานที่จำกัดประสิทธิภาพอาจเปลี่ยนไปตามเกม ฉาก ความละเอียด การตั้งค่า เวอร์ชันเอนจิน ไดรเวอร์ ขีดจำกัดเฟรม และอัตราเฟรมเป้าหมาย ฉากเมืองที่มีผู้คนหนาแน่นอาจเพิ่มภาระให้กับการจำลองและการส่งคำสั่งวาด ขณะที่อีกฉากหนึ่งซึ่งใช้สเกลการเรนเดอร์สูงกว่าอาจใช้เวลาบน GPU มากกว่า

เครื่องคำนวณที่อาศัยเพียงชื่อรุ่นไม่สามารถสังเกตเงื่อนไขเหล่านี้ได้ ผลลัพธ์อย่างเช่น “คอขวด 23%” ไม่มีความหมายทางเทคนิคที่แน่นอน หากไม่มีการจับเวลาจากฉากเดียวกันที่วัดจริง ใช้เครื่องคำนวณนี้เพื่ออธิบายการบันทึกที่คุณทำจริง ทดสอบซ้ำด้วยเวิร์กโหลดที่คุณสนใจ และใช้เครื่องมือวิเคราะห์ไทม์ไลน์เมื่อต้องการหาว่างานใดเป็นสาเหตุโดยเฉพาะ

เอกสารอ้างอิงทางเทคนิคอย่างเป็นทางการ

คำถามที่พบบ่อย

ป้อนเวลา CPU ต่อเฟรมและเวลา GPU ต่อเฟรมในหน่วยมิลลิวินาที ซึ่งได้จากการบันทึกด้วยเครื่องมือวิเคราะห์และฉากเดียวกัน อย่าป้อนเปอร์เซ็นต์การใช้งานโดยรวม ความเร็วสัญญาณนาฬิกาที่โฆษณาไว้ คะแนนเบนช์มาร์ก หรือค่าจับเวลาที่เก็บจากการตั้งค่าต่างกัน

ไม่ ผลลัพธ์นี้หมายความว่าเวลาเฟรม CPU ที่วัดได้ยาวกว่าเวลาเฟรม GPU เกินค่าความคลาดเคลื่อนที่เลือกในการบันทึกครั้งนี้ ขีดจำกัดเฟรม การตั้งค่าเกม งานเบื้องหลัง เธรดเดียวที่ใช้ทรัพยากรมาก หรือตัวฉากเองอาจทำให้ผลเปลี่ยนไป ควรวิเคราะห์เวิร์กโหลดก่อนสรุปผลในวงกว้าง

ห้าเปอร์เซ็นต์เป็นจุดเริ่มต้นที่ใช้งานได้จริงสำหรับแยกความแตกต่างที่ชัดเจนออกจากผลที่ใกล้เคียงกัน แต่ไม่ใช่มาตรฐานสากล ใช้ค่าความคลาดเคลื่อนที่กว้างขึ้นเมื่อผลการทดสอบซ้ำมีความแปรผันมากขึ้น และเปรียบเทียบการบันทึกหลายครั้งก่อนจัดประเภทความแตกต่างเพียงเล็กน้อย

ไม่ได้ ค่าทั้งสองสรุปประสิทธิภาพคนละส่วนของเฟรมที่แสดง และไม่ใช่ค่าจับเวลาของ CPU กับ GPU ให้ใช้ค่าที่วัดคู่กันในหน่วย CPU-ms และ GPU-ms ส่วน FPS เฉลี่ยและค่า FPS ต่ำสุด 1% ควรเก็บไว้เป็นข้อมูลบริบทแยกต่างหากสำหรับอัตราการประมวลผลและความสม่ำเสมอของเวลาเฟรม

โดยทั่วไป ความละเอียดและสเกลการเรนเดอร์จะเปลี่ยนภาระงานของ GPU โดยตรงมากกว่างานจำลองหรือการส่งคำสั่งของ CPU การเพิ่มค่าเหล่านี้อาจทำให้เวลาเฟรมที่ยาวกว่าเลื่อนไปอยู่ฝั่ง GPU ส่วนการลดค่าอาจเผยข้อจำกัดฝั่ง CPU ที่อัตราเฟรมสูงขึ้น ผลลัพธ์ใหม่อธิบายเวิร์กโหลดใหม่ ไม่ได้ขัดแย้งกับผลเดิม

เครื่องมือที่เกี่ยวข้อง

เครื่องคำนวณ ANOVA

ทำ one-way ANOVA กับสองกลุ่มขึ้นไปเพื่อทดสอบว่าค่าเฉลี่ยต่างกันอย่างมีนัยสำคัญหรือไม่ พร้อมรายงาน F-statistic, p-value และสรุปผล

เครื่องคำนวณเงินค่าขนม

คำนวณเงินค่าขนมเด็กที่เหมาะกับอายุด้วยกฎ "จำนวนคงที่ต่อปีอายุ" และรูปแบบผูกกับงานบ้าน พร้อมยอดรวมรายปีสำหรับวางงบ

เครื่องคำนวณสินเชื่อเรือ

ประเมินค่างวดรายเดือน ดอกเบี้ยรวม และวันปิดบัญชีสำหรับสินเชื่อเรือ รองรับอัตราดอกเบี้ยคงที่และระยะเวลาผ่อนตั้งแต่ 5 ถึง 20 ปี

เครื่องคำนวณสินเชื่อธุรกิจ

คำนวณค่างวดต่อเดือน ดอกเบี้ยรวม และอัตราดอกเบี้ยที่แท้จริงต่อปีสำหรับสินเชื่อเงินกู้ สินเชื่อจาก SME D Bank และวงเงินกู้เบิกเกินบัญชี รองรับค่าธรรมเนียมและการชำระก้อนสุดท้าย

เครื่องคำนวณการลงทุน

ประมาณมูลค่าเงินลงทุนในอนาคตจากเงินตั้งต้น เงินลงทุนรายเดือน ผลตอบแทนต่อปี และระยะเวลา พร้อมข้อควรคิดเรื่องเงินเฟ้อและค่าธรรมเนียม

เครื่องคำนวณบำนาญ

คำนวณมูลค่าปัจจุบันหรือมูลค่าอนาคตของบำนาญ ทั้งแบบจ่ายคงที่หรือแปรผัน และเปรียบเทียบโครงสร้างแบบเริ่มทันทีกับแบบรอจ่าย