Saya ingin menulis program screencasting untuk platform Windows, tetapi saya tidak yakin bagaimana cara menangkap layar. Satu-satunya metode yang saya ketahui adalah menggunakan GDI, tetapi saya ingin tahu apakah ada cara lain untuk melakukan hal ini, dan, jika ada, mana yang mengeluarkan biaya paling murah? Kecepatan adalah prioritas.
Program screencasting akan untuk merekam cuplikan game, meskipun, jika ini mempersempit pilihan, saya masih terbuka untuk saran lain yang tidak termasuk dalam lingkup ini. Bagaimanapun, pengetahuan tidak buruk.
Sunting : Saya menemukan artikel ini: Berbagai metode untuk menangkap layar . Ini telah memperkenalkan saya dengan cara Windows Media API untuk melakukannya dan cara DirectX melakukannya. Disebutkan dalam kesimpulan bahwa menonaktifkan akselerasi perangkat keras dapat secara drastis meningkatkan kinerja aplikasi penangkapan. Saya ingin tahu mengapa ini terjadi. Adakah yang bisa mengisi kekosongan yang hilang untuk saya?
Sunting : Saya membaca bahwa program screencasting seperti Camtasia menggunakan driver tangkap mereka sendiri. Bisakah seseorang memberi saya penjelasan mendalam tentang cara kerjanya, dan mengapa lebih cepat? Saya mungkin juga membutuhkan panduan untuk mengimplementasikan sesuatu seperti itu, tetapi saya yakin ada dokumentasi yang ada.
Juga, saya sekarang tahu bagaimana FRAPS merekam layar. Ini mengaitkan API grafis yang mendasarinya untuk membaca dari buffer belakang. Dari apa yang saya mengerti, ini lebih cepat daripada membaca dari buffer depan, karena Anda membaca dari RAM sistem, bukan RAM video. Anda dapat membaca artikelnya di sini .
MovePlayerLeft()
. Dan Anda juga merekam waktu dan durasi penekanan tombol dan input lainnya. Kemudian, ketika Anda dalam mode pemutaran, Anda mengabaikan input, dan bukannya membaca data yang direkam. Jika, dalam data, Anda melihat tombol kiri tekan, Anda menelepon MovePlayerLeft()
.