Проблемы с производительностью при использовании веб-камеры для захвата фотографии - PullRequest
0 голосов
/ 15 сентября 2018

У моей команды есть требование щелкнуть по картинке во время какого-либо рабочего процесса, для этого мы интегрировали API захвата веб-камеры, но теперь мы сталкиваемся с проблемой производительности (система потребляет более 45% памяти и 30% процессорного времени). ).

Вот фрагмент кода, который мы используем (аналогичным образом):

import com.github.sarxos.webcam.Webcam;
import com.github.sarxos.webcam.WebcamUtils;
import com.github.sarxos.webcam.ds.vlcj.VlcjDriver;
import com.github.sarxos.webcam.util.ImageUtils;

public class WebcamMain {

    public static void main(String[] args) throws InterruptedException {

        long i = 1;
        while (true) {
            try {
                System.out.println("Starting " + i + "th execution...");
                long startTime = System.currentTimeMillis();
                Webcam webcam = Webcam.getDefault();
                webcam.open();
                WebcamUtils.capture(webcam, "test100", ImageUtils.FORMAT_JPG);
                webcam.close();
                long endTime = System.currentTimeMillis();
                i++;
                System.out.println("Photo click time: " + (endTime - startTime) + " ms");
            } catch (Throwable th) {
                System.out.println("Exception occurred... Ignoring exception... " + th.getMessage());
                th.printStackTrace();
            } finally {
                System.out.println("Sleeping for 5 sec.");
                Thread.sleep(5000);
            }
        }
    }
}

Не уверен, почему я сталкиваюсь с проблемой производительности, попытался изменить GC.

...