相关疑难解决方法(0)

java.awt.Robot.createScreenCapture更快的替代方案?

我正在制作一个每秒至少需要截屏24张的程序.目前使用下面的代码我每个~94毫秒只得到1,所以大约每秒10.

我不想使用任何第三方库,因为我试图尽可能地保持它,但如果我的性能会有显着提高,我愿意.我也试图让这个平台保持独立,但同样,如果它真的会有显着的性能提升,我愿意将它限制在Windows中.

编辑:我现在也尝试了两种不同的方式; 使用在oracles网站上找到的片段以及下面评论中指出的片段.所有三个大约在同一时间,2.1-2.2百纳秒,这是非常低效的.

public abstract class Benchmark {

    private final int iterations;

    public Benchmark(int iterations) {
        this.iterations = iterations;
    }

    public abstract void logic();

    public void start() {
        long start = System.nanoTime();
        for (int iteration = 0; iteration < iterations; iteration++) {
            long iterationStart = System.nanoTime();
            logic();
            System.out.println("iteration: " + iteration + " took: " + (System.nanoTime() - iterationStart) + " nanoseconds.");
        }
        long total = (System.nanoTime() - start);
        System.out.println(iterations + " iterations took: " + total + " …
Run Code Online (Sandbox Code Playgroud)

java performance screenshot image awtrobot

6
推荐指数
1
解决办法
4859
查看次数

标签 统计

awtrobot ×1

image ×1

java ×1

performance ×1

screenshot ×1