Обработка неуправляемой стоимости процессора при загрузке видео с использованием библиотеки видео - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь сделать простую мысль: при нажатии кнопки я загружаю видео с помощью библиотеки обработки видео, каждая кнопка связана с различным видео, например кнопка 1 с видео 1, кнопка 2 с видео 2, и так далее.Код работает, но каждый раз, когда я вызываю видео, тоже самое, которое я уже загружаю, перезаписываю переменную gloabal, потребление ЦП увеличивается, достигая 40% после третьей загрузки, после 7 видео потребление ЦП приближается к 100%.,Извлечение кода:

import processing.video.*;
Movie movie;
void setup() {
    size(1280, 720, P3D);
    background(0);
}
void draw() {
    //image(movie, 0, 0, width, height);

    if (but1_1==1) {
       println("video 1");
       movie = new Movie(this, "1.mp4"));
       movie.loop();
       movie.volume(0);
  }
  if (but1_2==1) {
       println("video 2");
       movie = new Movie(this, "2.mp4"));
       movie.loop();
       movie.volume(0);
  }
  if (but1_3==1) {
       println("video 3");
       movie = new Movie(this, "3.mp4"));
       movie.loop();
       movie.volume(0);
  }
}

Как видите, не должно быть никаких оснований для увеличения потребления ЦП: объектный фильм-фильм всегда переписывается каждый раз, когда появляется новое видео (илитакой же) загружается.Есть предложения?

1 Ответ

0 голосов
/ 02 июня 2018

Вы загружаете фильмы в цикле, что означает, что они не останавливаются.Таким образом, чем больше кнопок вы нажимаете, тем больше видео обрабатывается одновременно.При каждом нажатии кнопки сначала необходимо остановить процесс воспроизведения старого фильма, прежде чем начинать новый.

...