萎縮した Java スキルを練習するために、スクリーン レコーダーを作成しようとしています (既にあまりにも多くのスキルがありますが)。
ただし、Robot クラスがとてつもなく遅いという問題に遭遇しました。i7 を搭載したマシンでも約 15 fps で、Macbook では 4 ~ 5 fps です。Python で動作するレコーダーを構築し、PIL でスナップショットを取得することで、少なくとも信頼できる 20 ~ 24 fps に到達することができました。
それで、私は興味があります、クラスがとても遅い技術的な理由は何ですか?
さらに、他のスクリーンレコーダーはどのように機能しますか? Screencast-o-matic は Java であり、うまく機能しているようです。基盤となるOSに接続し、バッファなどからすべてをリッピングする方法があると思いますか? 画面に描画されているもののコピーを取得するには、途方もなく高速な方法が必要だと思います-結局のところ、OSは、無数の他の計算を実行しながら、画面を複数回描画するのに十分高速です! 色の配列をある場所から別の場所にコピーすることは、比較的安価な操作であるようです。
絶対にあきらめないと決めています!適切なリコーダーを構築するという本質に飛び込むために、何を知る必要があるのか わかりません。