Windows platformu için bir screencasting programı yazmak istiyorum, ancak ekranın nasıl yakalanacağından emin değilim. Fark ettiğim tek yöntem GDI kullanmaktır, ancak bununla ilgili başka yollar olup olmadığını merak ediyorum ve eğer varsa, hangisi en az ek yüke neden oluyor? Hız bir önceliktir.
Screencasting programı oyun görüntülerini kaydetmek için olacak, ancak bu seçenekleri daraltırsa, bu kapsamın dışında kalan diğer önerilere hala açıkım. Sonuçta bilgi fena değil.
Düzenleme : Bu makaleye rastladım: Ekran yakalamak için çeşitli yöntemler . Beni Windows Media API ile ve DirectX ile tanıştırdı. Sonuçta donanım hızlandırmasının devre dışı bırakılmasının yakalama uygulamasının performansını önemli ölçüde artırabileceğinden bahsedilmektedir. Bunun neden olduğunu merak ediyorum. Biri benim için eksik boşlukları doldurabilir mi?
Edit : Camtasia gibi screencasting programları kendi yakalama sürücüsü kullandığını okudum. Birisi bana nasıl çalıştığı ve neden daha hızlı olduğu hakkında derinlemesine bir açıklama verebilir mi? Bunun gibi bir şeyin uygulanması konusunda da rehberliğe ihtiyacım olabilir, ancak eminim ki mevcut belgeler zaten var.
Ayrıca, şimdi FRAPS'ın ekranı nasıl kaydettiğini biliyorum. Arka arabellekten okumak için alttaki grafik API'sini kancalar. Anladığım kadarıyla, bu ön tampondan okumaktan daha hızlıdır, çünkü video RAM'den ziyade sistem RAM'inden okuyorsunuz. Makaleyi buradan okuyabilirsiniz .
MovePlayerLeft()
. Ayrıca tuş basışlarının ve diğer girişlerin zaman ve süresini de kaydedersiniz. Ardından, oynatma modundayken, girişi görmezden gelir ve bunun yerine kaydedilen verileri okursunuz. Verilerde, sol tuşa basmayı görürseniz, ararsınız MovePlayerLeft()
.