我正在制作一个每秒至少需要截屏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)