【发布时间】:2013-02-05 02:29:38
【问题描述】:
我一直在尝试构建一个屏幕录像机来练习我萎缩的 Java 技能(尽管已经有太多了)。
但是,我遇到了 Robot 类速度慢得离谱的问题——即使在我的 i7 驱动机器上也可能在 15fps 左右,而在我的 macbook 上则是爬行 4-5fps。我已经用 Python 构建了一个工作记录器,并且通过使用 PIL 抓取快照至少能够达到可靠的 20-24fps。
所以,我很好奇,课程这么慢的技术原因是什么?
此外,其他屏幕录像机如何工作? Screencast-o-matic 是 Java,并且似乎表现良好。我假设有某种方式可以与底层操作系统连接,并将所有内容从缓冲区或其他东西中提取出来?我认为必须有一些非常快的方法来获取屏幕上正在绘制的内容的副本——毕竟,操作系统的速度足以在进行大量其他计算的同时多次绘制屏幕!似乎将一组颜色从一个地方复制到另一个地方应该是一种相对便宜的操作。
我决心不放弃!我只是不知道我需要知道什么才能真正深入了解如何构建合适的录音机。
【问题讨论】:
-
此link 可能有助于回答您的问题并提供可能的解决方案...
-
您可以尝试 JNA,它可能会快得多。 stackoverflow.com/questions/4433994/java-window-image
标签: java