WOOFY · ห้องทดลองการเล่น

FPS เท่ากัน แต่จังหวะเฟรมต่างกัน

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

เปลี่ยนคำถามที่ถามจากข้อมูลชุดเดิม

ทำไมจึงนำ FPS สองค่ามาเฉลี่ยตรง ๆ ไม่ได้เสมอไป

สมมติว่ามีช่วงห่างที่ครบถ้วนสองช่วง คือ 10 ms และ 30 ms รวมเป็นเวลา 40 ms ให้นับทั้งสองช่วงเทียบกับเวลารวมนี้

อัตรารวมคือ 1000 × 2 ÷ 40 = 50 FPS ค่าส่วนกลับของช่วง 10 ms เมื่อแปลงเป็นอัตราคือ 100 FPS ส่วนช่วง 30 ms คือประมาณ 33.33 FPS

ค่าเฉลี่ยของ 100 กับ 33.33 คือประมาณ 66.67 แต่ไม่ใช่อัตรารวม ช่วงที่ช้าใช้เวลาเป็นสามเท่าของช่วงที่เร็ว ต้องพิจารณาจำนวนช่วงห่างคู่กับระยะเวลารวมเสมอ เมื่อรวมบันทึกที่ยาวไม่เท่ากันก็พบกับดักเดียวกันนี้ได้

สามลำดับ เวลารวมเท่ากัน

แต่ละลำดับมีช่วงเวลาระหว่างเฟรมที่ครบถ้วน 1000 ช่วง รวม 10000 ms หนึ่งช่วงคือเวลาระหว่างเหตุการณ์เฟรมที่ติดกัน ในที่นี้ FPS เฉลี่ย = 1000 × จำนวนช่วง ÷ จำนวนมิลลิวินาทีทั้งหมด ช่วงเวลาเหล่านี้เป็นข้อมูลสังเคราะห์ ไม่มีขอบเขตเริ่มหรือจบการบันทึกและไม่มีรายการที่หายไป

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

ช่วงเวลาสม่ำเสมอ

ทุกช่วงยาว 10 ms ไม่มีช่วงใดเกินงบเวลาอ้างอิงสำหรับ 60 FPS ซึ่งอยู่ที่ประมาณ 16.67 ms

FPS เฉลี่ย
100
ช่วงเวลาที่ P99 (ms)
10
ช่วงที่ยาวที่สุด (ms)
10
ช่วงที่เกินงบเวลา
0
สัดส่วนช่วงที่เกินงบเวลา (%)
0
สัดส่วนเวลารวมที่อยู่ในช่วงเหล่านั้น (%)
0
กลุ่มต่อเนื่องที่เกินงบเวลายาวที่สุด
0
งบเวลาอ้างอิง (ms)
16.67

ช่องว่างยาวสิบช่วงที่แยกกัน

ทุกช่วงที่หนึ่งร้อยยาว 109 ms ส่วนอีก 990 ช่วงยาว 9 ms ช่องว่างยาวแยกจากกัน ค่าเฉลี่ยยังเป็น 100 FPS แต่ P99 มีเพียง 9 ms

FPS เฉลี่ย
100
ช่วงเวลาที่ P99 (ms)
9
ช่วงที่ยาวที่สุด (ms)
109
ช่วงที่เกินงบเวลา
10
สัดส่วนช่วงที่เกินงบเวลา (%)
1
สัดส่วนเวลารวมที่อยู่ในช่วงเหล่านั้น (%)
10.9
กลุ่มต่อเนื่องที่เกินงบเวลายาวที่สุด
1
งบเวลาอ้างอิง (ms)
16.67

ช่องว่างยาวสิบช่วงติดกัน

ช่วงยาว 109 ms สิบช่วงเดิมมาอยู่ติดกันที่ท้ายลำดับ ค่าสรุปยังเท่ากับชุดที่ช่องว่างยาวแยกกัน แต่กลุ่มต่อเนื่องที่เกินงบเวลาอ้างอิงยาวที่สุดเพิ่มจากหนึ่งเป็นสิบช่วง

FPS เฉลี่ย
100
ช่วงเวลาที่ P99 (ms)
9
ช่วงที่ยาวที่สุด (ms)
109
ช่วงที่เกินงบเวลา
10
สัดส่วนช่วงที่เกินงบเวลา (%)
1
สัดส่วนเวลารวมที่อยู่ในช่วงเหล่านั้น (%)
10.9
กลุ่มต่อเนื่องที่เกินงบเวลายาวที่สุด
10
งบเวลาอ้างอิง (ms)
16.67

เหตุใด P99 จึงอาจมองข้ามช่องว่างที่ยาวที่สุด

ห้องทดลองนี้เรียงช่วงเวลาจากสั้นไปยาวแล้วเลือกตำแหน่ง ceil(0.99 × N) โดยนับจากหนึ่ง เมื่อมี 1000 ช่วง จะได้ตำแหน่ง 990 ในทั้งสองลำดับที่ไม่สม่ำเสมอ ค่า 990 ตัวแรกเป็น 9 ms ช่องว่าง 109 ms ทั้งสิบช่วงอยู่ถัดจากตำแหน่งนั้น ดังนั้น P99 ที่ต่ำกว่าในที่นี้ไม่ได้พิสูจน์ว่าประสบการณ์จะสม่ำเสมอกว่า เครื่องมืออื่นอาจใช้วิธีคำนวณเปอร์เซ็นไทล์ต่างกัน

P99 ไม่ใช่นิยามสากลของ “1% low FPS”

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

เปลี่ยนคำถามที่ถามจากข้อมูลชุดเดิม

เลือกลำดับและอัตราอ้างอิง งบเวลา 1000 ÷ FPS อ้างอิงให้ค่า 33.33 ms ที่ 30, 16.67 ms ที่ 60 และ 8.33 ms ที่ 120 การเปลี่ยนค่านี้จัดประเภทช่วงใหม่เท่านั้น ไม่ได้เปลี่ยนลำดับหรือจำลองตัวจำกัด FPS

ตัวอย่างทั้งสามด้านบนใช้ 60 FPS เป็นค่าอ้างอิง ข้อมูล คำอธิบาย และวิธีคำนวณยังอ่านได้แม้ไม่ใช้ตัวควบคุมแบบโต้ตอบ

นับเฉพาะช่วงที่ยาวกว่างบเวลาอ้างอิงอย่างเคร่งครัด หากเท่ากันถือว่ายังอยู่ในงบเวลา

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

เปลี่ยนการปรับตั้งค่าให้เป็นการเปรียบเทียบอย่างเป็นธรรม

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

  1. กำหนดคำถามหนึ่งข้อ

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

  2. บันทึกรอบทดสอบที่เปรียบเทียบกันได้

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

  3. อ่านข้อมูลสรุปควบคู่กับแนวเวลา

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

  4. ระบุขอบเขตของข้อสรุป

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

จากตารางผลลัพธ์สู่ข้อสรุปที่มีเหตุผลรองรับ

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

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

บันทึกที่ดีที่สุดชี้ว่าใครชนะ แต่ข้อมูลทั้งหมดไม่ได้ชี้เช่นนั้น

ในตัวอย่างที่สร้างขึ้นนี้ A และ B สลับกันบนเส้นทางเดียวกัน ครั้งละ 60 วินาที โดยใช้ตัวชี้วัดการบันทึก การอุ่นเครื่อง ความละเอียด และเงื่อนไขอื่นเหมือนกัน คำถามคือ B แสดงความได้เปรียบด้านอัตราเฉลี่ยที่เกิดซ้ำได้ในสามคู่นี้หรือไม่

คู่การทำซ้ำA · FPS เฉลี่ยB · FPS เฉลี่ยB ลบ A (FPS)
11001033
210299-3
31011010

A

FPS รวมตลอดระยะเวลาทั้งหมด
101
ค่า FPS เฉลี่ยต่ำสุดในบรรดาบันทึก
100
ค่า FPS เฉลี่ยสูงสุดในบรรดาบันทึก
102

B

FPS รวมตลอดระยะเวลาทั้งหมด
101
ค่า FPS เฉลี่ยต่ำสุดในบรรดาบันทึก
99
ค่า FPS เฉลี่ยสูงสุดในบรรดาบันทึก
103

เลือกเฉพาะผลสูงสุดจะได้ A 102 และ B 103 FPS แต่หากเก็บทุกบันทึกที่มีระยะเวลาเท่ากัน ทั้งสองจะมีอัตรารวม 101 FPS ผลต่างในแต่ละคู่คือ +3, −3 และ 0 FPS ทิศทางจึงเปลี่ยนไป

สิ่งที่สรุปได้

ข้อมูลชุดนี้ไม่แสดงความได้เปรียบด้าน FPS เฉลี่ยของ B อย่างสม่ำเสมอ และไม่ได้พิสูจน์ว่าการตั้งค่าทั้งสองเทียบเท่ากัน ตัวอย่างที่สร้างขึ้นเพียงเล็กน้อยไม่อาจตัดสินข้ออ้างนั้นได้

สิ่งที่ควรตรวจต่อ

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

ขอบเขตของข้อสรุป

ช่วงค่าที่ทับซ้อนกันเป็นคำอธิบาย ไม่ใช่การทดสอบนัยสำคัญ บันทึกที่ดีที่สุดเพียงครั้งเดียวและจำนวนครั้งที่ตายตัวไม่ใช่กฎตัดสินที่ใช้ได้ทั่วไป

ค่าเฉลี่ยดีขึ้น แต่ตัวชี้วัดช่วงห่างยาวแย่ลง

บันทึกที่สร้างขึ้นทั้งสองยาวสิบวินาที A มี 980 ช่วงที่ยาว 10 ms และสิบช่วงที่ยาว 20 ms B มี 1180 ช่วงที่ยาว 8 ms และยี่สิบช่วงที่ยาว 28 ms ใช้เกณฑ์อ้างอิงเดียวกันที่ 60 FPS หรือประมาณ 16.67 ms สำหรับทั้งคู่

A

ระยะเวลา (s)
10
ช่วงห่างครบถ้วน
990
FPS เฉลี่ย
99
ช่วงห่างที่ยาวกว่าเกณฑ์อ้างอิง 60 FPS
10
สัดส่วนเวลาในช่วงห่างเหล่านั้น (%)
2

B

ระยะเวลา (s)
10
ช่วงห่างครบถ้วน
1,200
FPS เฉลี่ย
120
ช่วงห่างที่ยาวกว่าเกณฑ์อ้างอิง 60 FPS
20
สัดส่วนเวลาในช่วงห่างเหล่านั้น (%)
5.6

A มีทั้งหมด 990 ช่วง ส่วน B มี 1200 ช่วง จึงได้ 99 เทียบกับ 120 FPS ช่วงห่างยาวที่นับใช้เวลา 200 ms ใน A และ 560 ms ใน B หรือ 2% เทียบกับ 5.6% ของเวลารวม เปอร์เซ็นต์เหล่านี้อธิบายเวลา ไม่ใช่สัดส่วนจำนวนช่วงห่าง

สิ่งที่สรุปได้

ในตัวอย่างนี้ B มีอัตราเฉลี่ยสูงกว่า แต่มีเวลามากกว่าอยู่ในช่วงห่างที่ยาวกว่าเกณฑ์ที่เลือก ตัวเลขรองรับการได้อย่างหนึ่งเสียอย่างหนึ่ง ไม่ได้ชี้ผู้ชนะด้านความลื่นไหลโดยรวม

สิ่งที่ควรตรวจต่อ

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

ขอบเขตของข้อสรุป

A/B เพียงคู่เดียวไม่ยืนยันผลที่เกิดซ้ำได้ เกณฑ์คือค่าอ้างอิงที่เลือก ตัวอย่างนี้ไม่ได้วัดการรับรู้หรือความหน่วงของอินพุต และไม่ได้ระบุสาเหตุของช่วงห่างยาว

ความยาวบันทึกที่ไม่เท่ากันอาจพลิกอันดับที่คิดอย่างง่าย ๆ

A รวมสิบวินาทีที่ 120 FPS กับเก้าสิบวินาทีที่ 60 FPS ส่วน B รวมบันทึกสองชุด ชุดละห้าสิบวินาทีที่ 80 FPS ดังนั้นแต่ละป้ายกำกับครอบคลุม 100 วินาที บันทึกของ A ยาวต่างกัน ส่วนของ B ยาวเท่ากัน

บันทึกระยะเวลา (s)ช่วงห่างครบถ้วนFPS เฉลี่ย
A1101,200120
B1504,00080
A2905,40060
B2504,00080

A

FPS รวมตลอดระยะเวลาทั้งหมด
66
ค่าเฉลี่ยเลขคณิตของ FPS แต่ละบันทึก
90

B

FPS รวมตลอดระยะเวลาทั้งหมด
80
ค่าเฉลี่ยเลขคณิตของ FPS แต่ละบันทึก
80

A มี 1200 + 5400 = 6600 ช่วง หรือ 66 FPS ใน 100 วินาที B มี 4000 + 4000 = 8000 ช่วง หรือ 80 FPS การเฉลี่ย FPS สองค่าที่แสดงของ A ได้ 90 ซึ่งจะจัด A สูงกว่า B อย่างผิดพลาดหากนำเสนอเป็นอัตรารวม

สิ่งที่สรุปได้

ตลอดระยะเวลาทั้งหมด ข้อมูลที่สร้างขึ้นให้ A 66 และ B 80 FPS วิธีลัดที่ได้ 90 FPS ให้น้ำหนักเท่ากันกับบันทึกที่ยาวต่างกันมาก

สิ่งที่ควรตรวจต่อ

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

ขอบเขตของข้อสรุป

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

เปลี่ยนวิธีสรุป แต่คงบันทึกเดิม

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

ข้อสรุปที่มีประโยชน์อาจยังมีความไม่แน่นอน

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

แบบฝึกหัดนี้บอกอะไรไม่ได้บ้าง

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