Эта группа триггеров предназначена для захвата изображения приложения или экрана с его последующим анализом.
Min FPS добавляет время жизни для каждого отдельного кадра, и когда кадр считается устаревшим, триггер переключается в состояние Unknown, что вызывает OnExits у всех связанных аур, если триггер до этого был в состоянии Active.
MaxFPS (он же Target FPS) = 30 (FrameTime is 1000/ 30 = 33ms), фактический FPS = 30 — всё в порядке, система справляется с нагрузкой.MaxFPS = 30 (33ms), фактический FPS = 10 (100ms) — это уже плохо: системе не хватает ресурсов, чтобы держать нужный FPS. В таком случае стоит попробовать применить эффекты изображения или уменьшить размер/разрешение изображения, чтобы приблизиться к целевому FPS.MinFPS = 15 (66ms), MaxFPS = 30 (33ms), фактический FPS = 30 — всё в порядке, работает точно так же, как и при MinFPS = 0, потому что реальный FPS значительно выше MinFPS.MinFPS = 15 (66ms), MaxFPS = 30 (33ms), фактический FPS = 10 (100ms) — в этом случае триггер определит, что обработка/захват каждого отдельного кадра занимает слишком много времени, и периодически будет переходить в состояние Unknown. Точнее, после 66ms триггер переключится в Unknown на 34ms. Точное время будет отличаться от кадра к кадру. Например, если вычисления для конкретного кадра заняли 200ms (то есть это соответствует 5 FPS), триггер перейдет в Unknown через 66ms и останется в этом состоянии на 134ms, пока не получит результат вычислений, после чего вернется либо в состояние Active, либо Inactive.В целом два лучших метода — Windows Graphics и Shared Surface. Это самые быстрые варианты, и в большинстве случаев они работают лучше всего.
(1-е место — самый быстрый метод)
Windows Graphics ~= Shared Surface > Desktop Duplication > Print Window > Copy Device Context
(1-е место — наименьшее потребление памяти)
Print Window > Windows Graphics > Shared Surface > Copy Device Context > Desktop Duplication > Copy From Screen