Announcement

Collapse
No announcement yet.

Vsync กับความคิดแปลกๆ ของผม (อาจไปขัดใจกับใครหลายๆคน ขออภัยนะครับ )

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Vsync กับความคิดแปลกๆ ของผม (อาจไปขัดใจกับใครหลายๆคน ขออภัยนะครับ )

    เรื่องมีอยู่ว่า ผมถอย 470 มาวันนี้
    เล่นนู่นเล่นนี่ เทสไปๆ มาๆ
    สะใจกับ FPS พุ่งๆ

    แล้วอยู่ดีๆ ไปนึกอะไรไม่รู้เกี่ยวกับ Vsync

    ตามที่ผมได้ศึกษามาจากใน OCZ นี้แหละครับ ได้ข้อสรุปประมาณว่า
    การเปิด Vsync (Vertical Synchonization) จะทำการล็อค Framerate ของการประมวณผลของการ์ดจอให้ประมวณผมตามค่าคามถี่ Refresh Rate ของจอ monitor ของเรานั่นก็คือ 60Hz เป็นส่วนมาก

    ซึ่งการที่มีการ์ดจอแรงๆ แล้วไปเปิด Vsync นั้นมันเหมือนกับว่าซื้อมาใช้ไม่คุ้มค่า เพราะการ์ดจอเราอาจสามารถวิ่งได้ 120 fps แต่พอเปิด Vsync แล้วมันเหลือแค่ 60 fps!!! ครึ่งนึงเลยนะนั่น แล้วจะเปิดทำไม?!?!?

    ผมเข้าใจแบบนี้มาตลอดครับ จนวันนี้ได้ลองคิดๆ ลองเทส อะไรแปลกๆดู

    การเปิด Vsync มีข้อดีอย่างไร? ถ้ามันไม่ดีทำไมมันถึงมีให้เราเลือกละ มันต้องมีอะไรดีอยู่บ้างละ

    อย่างแรกเลยที่ผมสังเกตุได้จากการเปิด Vsync - ภาพมันลื่นขึ้น ทำไมถึงลื่นขึ้น? ทั้งๆที่ fps มันลดเนี่ยนะ????

    ใช่ครับ FPS มันลด แต่มันวิ่งที่ 60 FPS ตลอด ซึ่งสายตามนุษย์เราไม่สามารถแยกออกได้ระหว่าง 60 fps กับ 120 fps ครับ อันนี้คือความจริงครับ

    แต่สิ่งที่ทำให้ผมรู้สึกว่ามันลื่นขึ้นคือ ..... ภาพที่มันชอบแตกๆ แยกๆ ฉีกๆ ไม่รู้เหมือนกันว่าเรียกว่าอะไร แต่เว็บนอกเค้าเรียกกันว่า Screen Tearing

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

    Originally posted by bears View Post
    ความรุ้จากการที่ได้เรียน Game Designed
    Tearing
    การ์ดแสดงผลส่งข้อมูลภาพจากหน่วยความจำในตัวการ์ดไปยังจอแสดงผลโดยตรงหากข้อมูลที่ส่งไปเร็วเกินกว่าที่จอแสดงผลจะนำข้อมูลเหล่านี้มาแสดงผลได้ทัน ส่งผลให้เกิดการวาดภาพใหม่ทับลงบนภาพเก่าบนหน่วยความจำการ์ดแสดงผล เมื่อข้อมูลเหล่านี้ถูกส่งไปยังจอแสดงผลจะทำให้เกิดภาพที่เรียกว่าภาพเฉือน หรือ Tearing

    Tearing เป็นเหตุการณ์ที่เกิดขึ้นได้เมื่อจอแสดงผลทำงานได้ช้ากว่าการ์ดแสดงผลมากๆ ภาพที่ปรากฏจะเป็นเส้นริ้วๆ
    Originally posted by beautyless View Post





    บางเกมส์อย่างเช่น RE5 ผมก็มองออกนะ ต้อง 60 fps+vsync ถึงจะลื่น


    ก่อนหน้านี้ผมก็ไม่สนใจ เล่นเกมพร้อมเปิด Fraps ดู FPS สบายใจ มีความสุข เลขสูงๆ ยิ่งรู้สึกเล่นสนุกกว่าเดิม

    แต่มาวันนี้ มาสังเกตุเข้าจริงๆจัง.........Tearing เยอะเหมือนกันนะนั่นถ้าเทียบกับการเปิด Vsync

    Vsync ให้ภาพที่ลื่นกว่า แทบจะไม่พบหรืออาจจะไม่มี การฉีกขาด (Tearing) ของภาพเลย

    ในเมื่อสายตาของเราแยกไม่ออกอยู่แล้วว่า 60 FPS กับ FPS ที่มากกว่านั้นมันต่างกันอย่างไร ผมเลยคิดว่าจากนี้ไปจะเปิด Vsync เล่นเกม

    แต่ยังไม่จบ
    นอกจากนั้นแล้ว Vsync ยังช่วยการ์ดจอเราอีกด้วยนะครับ
    หลายคนอาจรู้แล้ว แต่ผมเชื่อว่าต้องมีคนไม่รู้ เพราะผมเองก็เพิ่งรู้วันนี้ เมื่อกี้นี้เองว่า

    การเปิด Vsync ช่วยลดอุณภูมิของการ์ดจอครับ เพราะมันประมวณเต็มที่แค่ 60 fps แต่ถ้าเปิด Vsync มันอาจพุ่งไป 80,100,120 อะไรก็แล้วแต่ ซึ่งทำให้การ์ดจอทำงานหนักขึ้น

    ผมได้ทำการเทสกับ Benchmark ของ Dirt 2 กับ Resident Evil 5 ครับ
    Spec
    Core i5 760 2.80GHz @ 3.60GHz
    Ram Corsair DDR3/1600 2x2GB
    VGA Manli GTX 470 เดิมๆ ปรับพัดลมใน MSI Afterburner อย่างเดียว
    ใช้ HWmonitor ดูความร้อนของแต่ละการ run benchmark แล้ว reset ค่า ใหม่ ดูที่ว่า Max Temp.

    ได้ผลออกมาตามที่คาดไว้ (ผมไม่ได้ทำ SS ไว้เลยครับ เพราะไม่ได้คิดว่าจะมาเขียนกระทู้นี้ เพียงแต่จดไว้ลงกระดาษ แถมจดมาแบบหยาบๆ อีกด้วย) ถ้ามีเวลาว่างๆ เดี๋ยวผมมาอัพรูปให้ดูครับ หรือใครว่างก็ไปลองดูได้ครับ

    Dirt 2
    Vsync OFF - 88.5 fps , 70 องศา
    Vsync ON - 60 fps (ก็ต้องแน่อยู่แล้ว -*-) , 64 องศา!!

    Resident Evil 5
    Vsync OFF - 104.5 fps , 73 องศา
    Vsync ON - 60 fps (เหอๆ) , 66 องศา!!!!!!



    UPDATE! เอาผลเทสมาให้ดูกันครับว่าความร้อนมันลดลงจิงๆ ครับ เทสมาเกมเดียวนะครับ Resident Evil 5 ครับที่เลือกเกมนี้เพราะ Benchmark มันนานดี จะได้ทดสอบกับความร้อนได้ดีหน่อย ยาวประมาณ 10 นาทีกว่าๆได้มั้ง ไม่ได้จับเวลาครับ อิอิ
    ปล. FPS ตกมาหน่อยนึงตอนปิด Vsync ถ้าเทียบกับของเดิมที่ผมโพสไว้ เพราะคราวนี้ผมเปิด Triple Buffering ด้วย อิอิ

    Vsync OFF











    Vsync ON












    นอกจากเปิด Vsync จะทำให้ภาพลื่นขึ้นเพราะภาพไม่ฉีก (Tearing) ยังลดอุญหภูมิการ์ดจอเราอีกด้วย!!!


    ทีนี้หลายๆ คนคงถาม.....แล้วจะซื้อการ์ดจอแพงๆ Spec สูงๆมาทำไม เอามาก็เปิด Vsync เล่นได้แค่ 60fps เอง????

    การเล่นเกมให้ได้ภาพสวย ไม่ได้อยู่ที่ FPS นะครับ มันอยู่ที่หลายองค์ประกอบ
    เช่นการปรับ AA, Motion Blur และอีกเยอแยะตามที่เกมส์มันมีให้เราเลือก
    การที่เราใช้การ์ดแรงๆ ก็เพื่อ ให้ปรับความสวยงามของภาพให้ได้มากที่สุดในขณะที่ FPS เราจะไม่ตกมาต่ำกว่า 60fps

    อย่าลืม!! 60fps กับ 120fps กับ 300fps หรือ 500fps สายตาเราแยกไม่ออก! มีแต่โปรแกรมที่แยกให้เราดู ทำให้เรายึดติดไปกับมัน
    แต่ fps ต่ำกว่า 50 ลงมานี่เราเริ่มเครียดแล้ว เริ่มมีกระตุกให้เห็นแล้ว

    ก็ไม่มีอะไรแล้วครับ

    แค่อยากมาเล่าให้ฟัง มาแลกเปลี่ยนประสบการณ์ครับ

    ใครมีความคิดเห็นอะไรยังไง ขัดแย้งหรืออะไรได้เลยนะครับ คิดซะว่าแลกเปลี่ยนความรู้กันครับ

    อันนี้คือผมแค่รู้สึกกับตัวเองและจากสายตาตัวเองครับ

    ขอบคุณครับ

    จะเปิดหรือปิด Vsync ก็ขึ้นอยู่กับแต่ละบุคคลแล้วละครับว่าคิดกันมุมไหน
    ส่วนผม ขอเปิดคร้าบบบ
    Last edited by paulzkung; 7 Oct 2010, 20:27:43.

  • #2
    เพิ่งรู้อะ ^^

    Comment


    • #3
      เข้ามาจดความรู้ ผมก็เพิ่งรู้นี่แหละครับว่า Vsync มันไว้ทำอะไร ^^

      Comment


      • #4
        ขอบคุณที่ตอบซะกะจ่าง เด็กๆหลายได้เลิกสงสัยกันครับ อิ อิ

        Comment


        • #5
          ผมก็เคยไม่รู้ครับ
          จนรู้แบบที่ 1 แล้วตอนนี้ดันมารู้เป็นแบบที่ 2 ซะงั้น กำๆ ความรู้เปลี่ยนความเชื่อได้จริงๆ เหอๆ

          Comment


          • #6
            มันไม่ขัดใจใครหรอกครับ เพราะคือความจริง การเปิด Vsync มันทำให้ภาพไหลลื่นอยู่แล้ว เพราะการ์ดจอเราต่อให้วิ่งได้ 1000 fps เวลามันเปลี่ยน flame มันก็ต้องลงมา 60 อยู่ดีครับ เพราะตัวหน้าจอเราสามารถแสดงผลออกมาได้แค่นั้น ทำให้ภาพมันไม่ไหลลื่น ถ้าเราปิด Vsync ไป

            Comment


            • #7
              เกมส่วนใหญ่มันก็ทำมาแค่ 60 fps นิ

              Comment


              • #8
                เปิดเหมือนกันครับ เพราะเบื่อเวลาที่สายตามันต้องไปสะดุดกับภาพขาดในช่วงไม่กี่วินาทีเวลาหมุนมุมมองของเกมส์นั้นๆ

                ตอนแรกที่รู้คือมันเป็นการล๊อค fps ก็อยากให้มันพุ่งๆจะได้ลื่นๆ แต่พอเล่นจริงมาเจอปัญหาภาพขาดก็ลองเปิดดูปรากฏว่าหาย ก็เลยเปิดตลอดมา

                ลื่นเหมือนกันไม่ว่าจะเปิดหรือปิด แต่เปิดแล้วได้ภาพที่ดีกว่าไม่ขัดใจก็เปิดต่อไปนี่แหละครับ - -

                Comment


                • #9
                  Originally posted by smoky.9 View Post
                  เกมส่วนใหญ่มันก็ทำมาแค่ 60 fps นิ
                  เกมส่วนใหญ่หมายความว่าไงครับ เกมเขาไม่ได้ห้ามคุณ fps มากกว่า 60 นะ ทุกเกม แค่มี Vsync มาล๊อคเฟรมให้เพราะ monitor ส่วนมากจะรับได้แค่ที่ 60Hz(ค่า refresh rate)เมื่อปรับ resolution สูงสุดของตัว monitor ถ้า monitor คุณรันได้ 100+ ภาพมันก็จะสวยกว่าเดิมมาก เมื่อปิด Vsync
                  Last edited by FaiTH_FoNg; 6 Oct 2010, 23:27:43.

                  Comment


                  • #10
                    Originally posted by FaiTH_FoNg View Post
                    มันไม่ขัดใจใครหรอกครับ เพราะคือความจริง การเปิด Vsync มันทำให้ภาพไหลลื่นอยู่แล้ว เพราะการ์ดจอเราต่อให้วิ่งได้ 1000 fps เวลามันเปลี่ยน flame มันก็ต้องลงมา 60 อยู่ดีครับ เพราะตัวหน้าจอเราสามารถแสดงผลออกมาได้แค่นั้น ทำให้ภาพมันไม่ไหลลื่น ถ้าเราปิด Vsync ไป
                    คือเมื่อก่อนผมเคยได้รับข้อมูลมาว่าถ้าการ์ดแรงแล้วไปเปิด Vsync มันเสียของน่ะครับ อุตส่าได้การ์ดแรงแต่มาล็อค framerate ไปหาการ์ดรุ่นลองมาเล่นดีกว่าประมาณนั้น
                    แล้วผมก็เชื่อแบบนั้นมาตลอด

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

                    ปล. ใครไม่เห็นด้วยกับผม อย่าเข้าใจผมผิดเลยนะคร้าบบบบ

                    Comment


                    • #11
                      เพิ่งรู้นะนี่ ขอบคุณครับ

                      Comment


                      • #12
                        การ์ดจอผมกับเกมส่วนใหญ่ได้ FPS ไม่เกิน 60 ปิดกับเปิดคงไม่ต่างกัน

                        Comment


                        • #13
                          Originally posted by paulzkung View Post
                          คือเมื่อก่อนผมเคยได้รับข้อมูลมาว่าถ้าการ์ดแรงแล้วไปเปิด Vsync มันเสียของน่ะครับ อุตส่าได้การ์ดแรงแต่มาล็อค framerate ไปหาการ์ดรุ่นลองมาเล่นดีกว่าประมาณนั้น
                          แล้วผมก็เชื่อแบบนั้นมาตลอด

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

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

                          Comment


                          • #14
                            ความรุ้จากการที่ได้เรียน Game Designed
                            Tearing
                            การ์ดแสดงผลส่งข้อมูลภาพจากหน่วยความจำในตัวการ์ดไปยังจอแสดงผลโดยตรงหากข้อมูลที่ส่งไปเร็วเกินกว่าที่จอแสดงผลจะนำข้อมูลเหล่านี้มาแสดงผลได้ทัน ส่งผลให้เกิดการวาดภาพใหม่ทับลงบนภาพเก่าบนหน่วยความจำการ์ดแสดงผล เมื่อข้อมูลเหล่านี้ถูกส่งไปยังจอแสดงผลจะทำให้เกิดภาพที่เรียกว่าภาพเฉือน หรือ Tearing

                            Tearing เป็นเหตุการณ์ที่เกิดขึ้นได้เมื่อจอแสดงผลทำงานได้ช้ากว่าการ์ดแสดงผลมากๆ ภาพที่ปรากฏจะเป็นเส้นริ้วๆ

                            Comment


                            • #15
                              แค่ 30fps ตาเราก็มองไม่ออกแล้วครับ คิดดู สร้างภาพ30ภาพ ต่อ1วินาที ตาเรามันก็มองไม่เห็นหรอกครับ

                              Comment

                              Working...
                              X