Skip to content

ตอนที่ 2: 2D การเร่งความเร็ว และ Windows: การ์ดกราฟิกทั้งหมดไม่เท่ากันใช่หรือไม่

    1652314022

    บทนำ: เหตุใดเอาต์พุต GDI สำหรับกราฟิก 2D ยังคงมีความเกี่ยวข้อง

    อย่างแรกเลย: หากคุณยังไม่ได้อ่าน 2D, Acceleration และ Windows: การ์ดกราฟิกทั้งหมดไม่เท่ากันใช่ไหม โปรดตรวจสอบอันนั้นก่อน เนื่องจากเป็นการสำรวจส่วนที่ 1 ของส่วนที่ 2 ในประวัติศาสตร์ ของ 2D ใน Windows และปัญหาปัจจุบันที่พบในการ์ดกราฟิกแยกระดับไฮเอนด์

    ในส่วนที่สองนี้ เราเน้นที่ความเกี่ยวข้องของ GDI อธิบายเอาต์พุตกราฟิก 2D ให้สมบูรณ์ยิ่งขึ้น และนำเสนอเกณฑ์มาตรฐาน 2D ของเราให้คุณทราบ (สำหรับผู้ที่ยังไม่ได้ค้นพบใน Tom’s Hardware DE) เพื่อให้เข้าใจผลลัพธ์จากการวัดประสิทธิภาพนั้นอย่างถ่องแท้ อันดับแรกเราต้องขุดลึกลงไปในปัจจัยพื้นฐานทางทฤษฎีที่เกี่ยวข้องกัน

    ทำไมเรายังคงทดสอบ GDI ในยุคของ Windows 7 และ Direct2D?

    ในส่วนแรกของซีรีส์นี้ ผู้อ่านจำนวนหนึ่งคาดการณ์ว่าด้วยการเปิดตัวการ์ดกราฟิกที่รองรับ DirectX 10 และ Windows Vista วิธีการ GDI แบบเก่าสำหรับเอาต์พุตกราฟิก 2D จะแสดงผลล้าสมัย WPF (Windows Presentation Foundation) พร้อมด้วย Direct2D มีให้สำหรับนักพัฒนาของ Microsoft มาระยะหนึ่งแล้ว อย่างไรก็ตาม มีเหตุผลดีๆ มากมายว่าทำไม GDI (ส่วนต่อประสานอุปกรณ์กราฟิก) ยังคงมีความหมายและมีความเกี่ยวข้องอย่างไม่มีข้อโต้แย้ง ซึ่งหมายความว่าเราต้องตรวจสอบพฤติกรรมและประสิทธิภาพของมัน แม้กระทั่งสำหรับโลกใหม่ที่กล้าหาญของ Windows 7 เหตุผลเหล่านี้รวมถึง:

    GDI ยังคงสนับสนุนการ์ดกราฟิกรุ่นเก่า ในขณะที่ Direct2D ต้องใช้การ์ดที่สามารถรองรับ DirectX 10 หรือดีกว่า
    GDI ได้รับการสนับสนุนใน Windows ทุกรุ่นที่รู้จัก ในขณะที่ Direct2D มีเฉพาะใน Windows Vista และ Windows 7 เท่านั้น
    ทุกแอปพลิเคชั่นกราฟิกที่ทำงานภายใต้ Windows XP (และ Windows รุ่นเก่ากว่า) ใช้ GDI

    นักพัฒนาซอฟต์แวร์จำนวนมากต่อต้านการแปลงซอฟต์แวร์จาก API ที่เก่ากว่าเป็น API ที่ใหม่กว่า แม้กระทั่งทุกวันนี้ นักพัฒนาจำนวนมากยังคงหันไปใช้ไลบรารีการเขียนโปรแกรมที่เข้าใจกันดี แม้ว่าจะมีเทคโนโลยีที่ใหม่กว่าก็ตาม การแปลงจากไลบรารีหนึ่งไปยังอีกไลบรารีหนึ่งยังหมายถึงการเขียนใหม่และการทดสอบโมดูลโค้ดที่ได้รับผลกระทบทั้งหมดซ้ำ เนื่องจากการปรับปรุงประสิทธิภาพที่เกิดจากการแปลงจากไลบรารีรุ่นเก่าไปเป็นไลบรารีที่ใหม่กว่านั้นแทบจะไม่สามารถสังเกตได้ นักพัฒนาซอฟต์แวร์จึงหยุดทำการเปลี่ยนแปลงดังกล่าวด้วยเหตุผลทางเศรษฐกิจเพียงอย่างเดียว (เวลาและความพยายามมากเกินไปสำหรับผลลัพธ์ที่น้อยเกินไป) หากคุณใช้ Direct2D ในองค์ประกอบต่างๆ ของ Mozilla Firefox เพื่อเป็นตัวอย่าง คุณจะเข้าใจถึงความรวดเร็วของอุตสาหกรรมในการดำเนินการแปลงนี้ นอกจากนี้, มันจะเป็นรูปแบบของการฆ่าตัวตายของธุรกิจสำหรับบริษัทเหล่านี้หลายแห่งเพื่อล็อคชุมชนผู้ใช้ XP ทั้งหมดออกจากรุ่นล่าสุด ทั้งหมดนี้รวมเป็นข้อสังเกตเดียวที่น่าสนใจ: GDI มีแนวโน้มที่จะคงอยู่จนกว่า Windows XP จะไม่แสดงถึงองค์ประกอบที่สำคัญของชุมชนผู้ใช้ปลายทางอีกต่อไป

    มีเหตุผลทางเทคนิคที่จะอธิบายการคงอยู่ของ GDI โมดูลรหัสคีย์ GDI (โมดูลที่รวมและเรียกใช้บ่อยที่สุดในแอปพลิเคชัน Windows) ไม่สามารถพกพาได้อย่างสมบูรณ์ นอกจากนี้ Direct2D ยังใช้พลังงานในการประมวลผลและทรัพยากรระบบจำนวนมาก แต่ก็ไม่สามารถทำอะไรที่ Direct3D ไม่สามารถส่งมอบได้เช่นกัน และผู้ที่เลือกที่จะข้ามโดยใช้ Direct3D มักจะพิจารณาการตัดสินใจนี้อย่างรอบคอบ นอกจากนี้ GDI ทำงานเป็นอิสระจากอุปกรณ์ส่งออก เช่น จอภาพหรือเครื่องพิมพ์ ที่อาจใช้งานอยู่ ดังนั้น กิจวัตรเดียวกันในโปรแกรมสามารถแสดงผลกราฟิกบนจอภาพ และส่งออกไปยังเครื่องพิมพ์ ซึ่งจะช่วยลดรหัส (และความเสี่ยงในการบำรุงรักษาและข้อผิดพลาดที่ตามมา) ได้มากถึงครึ่งหนึ่ง เครื่องพิมพ์ที่มีราคาไม่แพงมากในปัจจุบันคืออุปกรณ์ GDI และสถานการณ์นี้ไม่น่าจะเปลี่ยนแปลงได้ในเร็วๆ นี้

    ทั้งหมดเป็นมากกว่าผลรวมของทุกส่วน

    ตัวเราเองมองว่าการแปลงเป็น WPF และ Direct2D เป็นการเคลื่อนไหวที่ Microsoft บังคับใช้และเป็นขั้นตอนทางเทคนิคที่ย้อนกลับไม่ได้ แต่บรรดาผู้ที่ร้อนระอุและกังวลกับเทคโนโลยีใหม่ ๆ ควรนึกย้อนกลับไปถึงการเปิดตัวครั้งก่อน ๆ ซึ่งเราจะสรุปในชิ้นนี้ รวม Windows XP แล้ว ยังมีเทคโนโลยีแบบเดิมอีกมากมายที่คุณสามารถเผชิญกับอนาคตได้หากคุณเต็มใจที่จะเพิกเฉยต่ออดีต แต่น่าเสียดายที่สิ่งนี้ไม่คำนึงถึงความเป็นจริงที่ผู้ใช้ส่วนใหญ่ใช้งานเช่นความหวาดกลัวที่รู้จักกันดีสำหรับ Windows XP ที่แสดงโดยชิปกราฟิกออนบอร์ด 780G และ 785G

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

    0 0 votes
    Rating post
    Subscribe
    Notify of
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x
    ()
    x