ฉันต้องการเขียนโปรแกรม screencasting สำหรับแพลตฟอร์ม Windows แต่ไม่แน่ใจว่าจะจับภาพหน้าจอได้อย่างไร วิธีเดียวที่ฉันรู้คือใช้ GDI แต่ฉันอยากรู้ว่ามีวิธีอื่นที่จะไปเกี่ยวกับเรื่องนี้หรือไม่และถ้ามีมีสิ่งใดที่เกิดขึ้นอย่างน้อยที่สุด? ความเร็วเป็นสิ่งสำคัญ
โปรแกรม screencasting จะใช้สำหรับการบันทึกวิดีโอเกมแม้ว่ามันจะแคบลง แต่ตัวเลือกฉันยังคงเปิดรับข้อเสนอแนะอื่น ๆ ที่หลุดออกจากขอบเขตนี้ ความรู้ไม่เลวหลังจากทั้งหมด
แก้ไข : ฉันมาข้ามบทความนี้: วิธีการต่างๆสำหรับการจับหน้าจอ มันแนะนำให้ฉันรู้จักกับวิธีการทำ Windows Media API และวิธี DirectX ในการทำมัน โดยกล่าวถึงในข้อสรุปว่าการปิดใช้งานการเร่งด้วยฮาร์ดแวร์สามารถปรับปรุงประสิทธิภาพของแอปพลิเคชันการจับภาพได้อย่างมาก ฉันอยากรู้ว่าทำไมถึงเป็นแบบนี้ ใครช่วยเติมเต็มช่องว่างที่ขาดหายไปให้ฉันได้ไหม
แก้ไข : ฉันอ่านโปรแกรม screencasting เช่น Camtasia ใช้ไดรเวอร์การจับภาพของตัวเอง มีคนให้คำอธิบายในเชิงลึกเกี่ยวกับวิธีการทำงานและทำไมมันเร็วกว่า ฉันอาจต้องการคำแนะนำในการดำเนินการบางอย่างเช่นนั้น แต่ฉันแน่ใจว่ามีเอกสารที่มีอยู่แล้ว
นอกจากนี้ฉันรู้แล้วว่า FRAPS บันทึกหน้าจอได้อย่างไร มันขอ API กราฟิกพื้นฐานที่จะอ่านจากบัฟเฟอร์ด้านหลัง จากสิ่งที่ฉันเข้าใจนี่เป็นเร็วกว่าการอ่านจากบัฟเฟอร์ด้านหน้าเพราะคุณกำลังอ่านจาก RAM ระบบมากกว่าวิดีโอ RAM คุณสามารถอ่านบทความที่นี่
MovePlayerLeft()
แทน และคุณยังบันทึกเวลาและระยะเวลาของการกดปุ่มและอินพุตอื่น ๆ จากนั้นเมื่อคุณอยู่ในโหมดเล่นคุณจะไม่สนใจอินพุตและอ่านข้อมูลที่บันทึกไว้แทน MovePlayerLeft()
ถ้าในข้อมูลที่คุณเห็นกดปุ่มซ้ายที่คุณเรียก