Tôi muốn viết một chương trình ghi hình cho nền tảng Windows, nhưng không chắc chắn về cách chụp màn hình. Phương pháp duy nhất tôi biết là sử dụng GDI, nhưng tôi tò mò liệu có cách nào khác để giải quyết vấn đề này không, và nếu có, có phải chịu ít chi phí nhất không? Tốc độ là ưu tiên hàng đầu.
Chương trình ghi hình sẽ được ghi lại cảnh quay trò chơi, mặc dù, nếu điều này thu hẹp các tùy chọn, tôi vẫn mở cho bất kỳ đề xuất nào khác nằm ngoài phạm vi này. Kiến thức không phải là xấu, sau tất cả.
Chỉnh sửa : Tôi đã xem qua bài viết này: Các phương pháp khác nhau để chụp màn hình . Nó đã giới thiệu cho tôi cách làm Windows Media API và cách làm DirectX. Nó đề cập đến trong Kết luận rằng việc vô hiệu hóa khả năng tăng tốc phần cứng có thể cải thiện đáng kể hiệu năng của ứng dụng chụp. Tôi tò mò về lý do tại sao điều này là. Bất cứ ai có thể điền vào chỗ trống cho tôi?
Chỉnh sửa : Tôi đọc rằng các chương trình ghi hình như Camtasia sử dụng trình điều khiển chụp riêng của họ. Ai đó có thể cho tôi một lời giải thích sâu sắc về cách nó hoạt động, và tại sao nó nhanh hơn? Tôi cũng có thể cần hướng dẫn để thực hiện một cái gì đó như thế, nhưng tôi chắc chắn rằng có tài liệu hiện có.
Ngoài ra, bây giờ tôi biết làm thế nào FRAPS ghi lại màn hình. Nó móc API đồ họa bên dưới để đọc từ bộ đệm phía sau. Theo những gì tôi hiểu, điều này nhanh hơn đọc từ bộ đệm trước, bởi vì bạn đang đọc từ RAM hệ thống, thay vì RAM video. Bạn có thể đọc bài viết ở đây .
MovePlayerLeft()
. Và bạn cũng ghi lại thời gian và thời lượng của các lần nhấn phím và đầu vào khác. Sau đó, khi bạn ở chế độ phát lại, bạn chỉ cần bỏ qua đầu vào, và thay vào đó đọc dữ liệu đã ghi. Nếu, trong dữ liệu, bạn thấy một phím bấm trái, bạn gọi MovePlayerLeft()
.