Я хотел бы отметить sh несколько десятков изображений с интервалом в 300 миллисекунд в Scala. После поисков я понял, что ScheduledThreadPoolExecutor.scheduleAtFixedRate
может быть хорошим способом для достижения этой цели.
Время считывания и отображения одного изображения на моей машине составляет менее 160 миллисекунд, что явно меньше требуемого интервала в 300 миллисекунд. Но когда я пробую описанный выше метод, я получаю несколько «резкое» отображение изображений. В большинстве случаев изображения непрерывно мигают, следуя заданному интервалу в 300 миллисекунд, но через некоторое время мигание становится сильно неравномерным.
Сначала я подозревал, что загрузка отображения изображения может превышать предписанные 300 миллисекунд, но когда я распечатал общее время выполнения процедур в Runnable (), я увидел, что все они меньше 300 миллисекунд.
Интересно, в чем может быть причина Эта проблема. Кто-то предложил мне разбить задачу дальше на более мелкие части и запускать эти части, используя разные потоки, например, используя один поток для чтения изображений, используя другой поток для их отображения, и т. Д. c. Это будет полезно?