ใช่ที่เค้าว่า เฟรมแกว่งไรป่าวครับ
Announcement
Collapse
No announcement yet.
Frame Times คืออะไรครับ
Collapse
X
-
คนล่ะอย่างกันครับ อันนั้นผมคิดว่าท่านน่าจะเข้าใจไปถึง Frame Rate
ข้อความต่อไปนี้เป็นของพี่ซอลครับ น่าจะช่วยอธิบายให้ท่านเข้าใจได้
Frame time คือ ระยะเวลาในการ render ของภาพใน 1 เฟรมจากทุกๆวินาที ที่ปั่นเฟรมออกมาให้ render
เช่นถ้า 100 fps แสดงว่าใน 1 วินาที จะมีภาพนิ่งมาเรียงต่อกัน 100 ภาพ และแต่ละภาพใช้เวลา render ประมาณ 10ms (เพราะ 1 วินาทีมี 1000ms) แต่ถ้าหากว่า มีภาพใดภาพนึง หรือช่วงของสักภาพนึง มันเกิดต้องใช้เวลาในการ render นานมาก เช่นอาจจะ 20ms มันก็จะทำให้เกิดการดีเลย์เล็กน้อย และส่งผลให้เฟรมต่อไปที่รอจะ render ต้องรอนานขึ้น เฟรมสุทธิที่ออกมาใน 1 วินาทีอาจจะไม่ถึง 100fps แล้วทีนี้ อาจจะได้แค่ 99.5fps และภาพที่เราเห็นในจอตอนเล่นเกม มันจะไม่สมูท จะรู้สึกว่าหน่วงๆ ถ้าเกิดอาการดีเลย์มาก หรือหลายๆรูปใน 1 วินาที
ดังนั้น FPS ไม่ได้บ่งบอกว่าเยอะแล้วจะเล่นเกมลื่นกว่าการ์ดอีกตัวที่ปั่น FPS ได้น้อยกว่า เช่นว่า...
การ์ดตัวนึง ปั่นเฟรมเรทได้ 100fps แต่เกิดอาการ Frame time กระโดดไป กระโดดมา ใช้เวลาไม่ใกล้เคียงกัน ดีเลย์ในหลายๆภาพ ภาพที่เห็นอาจจะดูว่าเร็ว แต่จะเห็นอาการหน่วงๆ ที่เหมือนกับภาพไปแบบสดุดนิดๆในบางช่วง ทั้งๆที่เฟรมเรตวิ่งเป็นร้อย
กับการ์ดอีกตัวนึง ที่อาจจะปั่นเฟรมเรตได้แค่ 40fps ดูน้อยมากสำหรับบางคน แต่ถ้า Frame time ของมันไหลลื่น ไม่ดีเลย์ตลอด 1 วินาที เช่น 40fps และทุกๆเฟรมที่มีภาพทั้งหมด 40 ภาพใน 1 วิ ใช้เวลาในการ render เท่าๆกันมดเลย หรือใกล้เคียงมากๆ ภาพที่ออกมาก็จะไหลลื่น ไม่มีอาการหน่วงให้เห็นเลย ไม่สะดุดใดๆทั้งสิ้น
จากที่บอกไป ต้องเข้าใจก่อนว่า อ้างอิงจากการ์ดที่เฟรมเรตสูงพอสมควร เกินกว่า 30fps ตลอดเวลา ไม่มีการต่ำกว่า 30fps เพราะว่าถ้ามันต่อกว่า 30fps มันเป็นอาการกระตุกที่ปั่นเฟรมเรทไม่ไหว โดย Frame Time จะเอามาพูดกับการ์ดแรงๆ ที่บางทีเฟรมเรตกระฉูด แต่ทำไมเวลาเล่นจริงมันรู้สึกว่าหน่วงๆไงครับ
ปล. จริงๆเรื่องนี้ไม่ใช่เรื่องใหม่ แต่ไม่อยากไปพูดในเวบบอร์ด เพราะจะเป้นการไปดักทางหรือแย้งเทพๆทั้งหลาย เพราะดูแล้วส่วนมากยังสนใจแต่ FPS เป็นหลักนะครับ แต่ต่างประเทศเขาไม่สนใจเรื่อง FPS มาสักพักใหญ่ๆแล้ว บ้านเราต้องให้เวลาอีกสักพัก เพราะคนไทยมักจะยอมรับของใหม่ได้ช้าหรือไม่ค่อยยอมรับในสิ่งที่ตัวเองไม่อยากเชื่อ แม้มันจะเป็นความจริง เรื่องจริง เลือกที่จะเชื่อในสิ่งที่ตนเองจะเชื่อเท่านั้น !!!
-
Originally posted by Marionet View Post
ปล. จริงๆเรื่องนี้ไม่ใช่เรื่องใหม่ แต่ไม่อยากไปพูดในเวบบอร์ด เพราะจะเป้นการไปดักทางหรือแย้งเทพๆทั้งหลาย เพราะดูแล้วส่วนมากยังสนใจแต่ FPS เป็นหลักนะครับ แต่ต่างประเทศเขาไม่สนใจเรื่อง FPS มาสักพักใหญ่ๆแล้ว บ้านเราต้องให้เวลาอีกสักพัก เพราะคนไทยมักจะยอมรับของใหม่ได้ช้าหรือไม่ค่อยยอมรับในสิ่งที่ตัวเองไม่อยากเชื่อ แม้มันจะเป็นความจริง เรื่องจริง เลือกที่จะเชื่อในสิ่งที่ตนเองจะเชื่อเท่านั้น !!![/COLOR][/B]
Comment
-
-
ผมคิดว่าเกี่ยวกันนะ Frame Rate กับ Frame Times
แต่มันมีจุดสังเกตุได้ว่า ถ้าการ์ดจอรุ่นไหนสามารถทำค่า Min-Max FPS ได้คงที่การ์ดรุ่นนั้นๆก็จะสามารถปั่นค่า Frame Times ได้นิ่งมากกว่าการ์ดอีกใบที่มีค่า Min-Max FPS ห่.างกันมากกว่าแม้จะสามารถปั่น Max FPS ได้สูงก็ตาม
แบบแรก อันนี้คือ Frame Time ขณะเล่นเกมส์ WarFrame โดยเปิด Vsync จะเห็นว่า FT. จะอยู่ที่ 13 ms Frame Rate 73-75 FPS เกือบตลอดเวลา
แบบที่สอง เกมส์เดียวกัน ด่านเดียวกัน Setting ทุกอย่างเหมือนกันๆ แต่ปิด Vsync
ค่า Min (บางครั้ง 23-25 ms ก็มี)
ค่า Max (ส่วนใหญ่จะราวๆนี้ 200-230 FPS ครับ)
จะเห็นว่าแบบที่ 2 สามารถทำเฟรมไทม์ได้ดีกว่าในหลายๆฉาก แต่ก็มีจุดค่า Min ที่ต่ำกว่าแบบที่ 1 ส่งผลให้การแสดงภาพไม่ไหลลื่นกว่าแบบที่ 1
ผมก็อธิบายไม่เก่งจริงๆ ยังไงถ้ามีจุดผิดพลาดก็ขออภัยมาณ.ที่นี้ด้วยครับ
Comment
-
จากรูปข้างบน ไอเรื่องลื่นไม่เท่ากัน นั้นมันแน่นอนอยู่แล้ว เพราะเปิดกับ ปิด Vsync
แต่จากที่ดู Frame time มันก็สัมพันธ์กับ FPS
FT เพิ่ม FPS ก็ต้องลด , FT 19 FPS ก็ร่วงลงมา 50 ก็ถูกแล้ว
ประเด้็นของผมคือ กำลังสงสัยอยู่ว่าดู FT มันต่างจากดู FPS ยังไง (เห็นคนพูดกันว่าเดี๋ยวนี้เขานิยมดู FT) ในเมื่อค่า 2 ตัวนี้มันก็สัมพันธ์กันอยู่แล้ว
อีกอย่างก็ที่บอกไปแล้วด้านบน ว่าปกติ เวลาเอา FPS มาดู จะพูดกันแค่ค่าเฉลี่ย min max avg
แต่ FT เอามาเป็น กราฟๆ มันก็จะเห็นตอนกระตุก (เห็นหลายคนพูดถึง FT จะพูดถึงตรงนี้ว่ามันดูได้ ว่ากระตุก) ซึ่งจริงๆถ้าเอากราฟ FPS มาดู มันก็จะเห้นตอนกระตุกๆ เหมือนกันนั่นแหละ --*
ผมยังมองไม่ออกว่ามันต่างกันยังไง FT กับ FPS มันก็เป็นแค่การนับคนละหน่วย
ใครรู้ลึกซึ้งก็ช่วยอธิบายทีว่ามันต่างกันยังไง มีอะไรดีกว่าดู FPSLast edited by kittinzaa; 10 Jun 2014, 17:57:08.
Comment
-
FPS มันคือ Frame per second
มันหมายความว่าอะไร มันหมายความว่า วินาทีนึงสามารถเรนเดอร์ภาพออกมาได้กี่เฟรมภาพ เช่น 30fps ก็แสดงว่า 30 เฟรมภาพต่อวินาที
แต่จริงๆแล้ว FPS มันไม่ได้บ่งบอกละเอียดขนาดนั้น เพราะจะเห็นว่ามันบอกแค่ว่า วินึงได้กี่เฟรม มันไม่ได้บอกว่า เฟรมแต่ละเฟรมมันใช้เวลาในการเรนเดอร์เท่าไหร่(ซึ่งมันไวมากหน่วยเลยเป็น ms)
อันเป็นที่มาของ Frame Time มันคืออะไร มันก็คือ ตัวที่บ่งบอกว่าเฟรมแต่ละเฟรม ใช้เวลาในการเรนเดอร์เท่าไหร่ สมมุติตัวอย่างให้ดู
30fps = 30 เฟรมต่อวินาที แสดงว่า แต่ละเฟรม ใช้เวลาในการเรนเดอร์ 33.3ms (มาจาก 1 วินาที = 1000ms / 30(เฟรม) ) (ลื่น สมูทเพราะมันใช้เวลาเท่ากัน ต่อเนื่องกัน)
แต่ความเป็นจริง การเรนเดอร์มันไม่ได้สวยหรูขนาดนั้น เพราะอะไร เพราะเฟรมแต่ละเฟรม environment เอย effect เอย มันไม่เหมือนกัน ในความเป็นจริง แต่ละเฟรม เลยใช้เวลาในการเรนเดอร์ไม่เท่ากัน
ลองนึกภาพนี้ 30 fps = 30 เฟรมต่อวินาที กลับกลายเป็นว่า มีเฟรมที่ใช้เวลาเรนเดอร์โดยใช้เวลา 17.2ms อยู่ 29 เฟรม แต่ดันทะลึ่งมี เฟรม นึงแทรกอยู่ ที่มันดันมีเอฟเฟคเยอะเป็นพิเศษ ใช้เวลาในการเรนเดอร์เฟรมนี้เฟรมเดียว 500ms (หรืออาจจะพวก VRAM เต็ม ต้อง swap , flush อะไรก็แล้วแต่ผมก็ไม่ทราบได้ ก็ทำให้เกิดปัญหานี้ได้) (จากที่ใช้เวลา 17.2ms ลื่่นมาเรื่อยๆ แต่ต้องมานั่งรอเพียงเฟรมเดียวใช้เวลาครึ่งวิ สดุดสิ)
หรือ ประมาณ ครึ่งวินาที คิดว่าคุณจะรู้สึกถึงอาการกระตุกได้รึเปล่าล่ะ เพราะแต่ก่อนจะพูดกันว่า fps มากกว่า 30 ขึ้นไปก็ลื่นแล้ว ใช่ไหม(หนังใช้ 24fps แต่ว่า แต่ละเฟรมมันใช้เวลาพอๆกัน มันเลยลื่นไหลต่อเนื่อง)
วิธีง่ายๆ ให้ลองนั่งฟังเสียง นาฬิกาเดินดู กว่ามันจะ "ติ๊ก" เนี่ย รู้สึกได้เลยนะ นั่นแหละเลยเป็นที่มาว่าทำไมใช้ Frame Time มันจึงดีกว่า แต่ไม่ได้หมายความว่า จะต้องทิ้ง fps ไปนะ
เพราะมันใช้ร่วมกันได้ ดู fps ไปก่อน มันจะพอรู้คร่าวๆ แล้วไปดูละเอียดจาก Frame Time อีกทีนึง ว่ามันมีปัญหารึเปล่า ก็ได้Last edited by mathburn; 10 Jun 2014, 20:31:53.
Comment
Comment