Справочная информация: я использую C ++ на Windows 10 с каркасом MF C. Я в основном снимаю видео и выполняю действия для каждого кадра. Для каждого кадра видео я создаю новый текстовый файл и записываю в него набор данных, скажем, 100 столбцов и 2000 строк чисел. В моем приложении у меня также есть кнопка «Стоп» для остановки всей операции.
Я заметил, что если я создаю текстовый файл и записываю в него кучу данных для КАЖДОЙ ОДНОЙ КАДРЫ, Я не могу даже нажать кнопку «Стоп». Я предполагаю, что это потому, что процессор слишком занят записью в текстовые файлы, потому что, если я только создаю текстовый файл и записываю в него данные КАЖДЫЕ 20 КАДРОВ (или около того), я могу нажать «Стоп» идеально .
Мне нужно иметь возможность записывать данные каждый кадр. С точки зрения оптимизации моей программы, чтобы иметь возможность сделать это, я вижу 2 возможности:
Многопоточность записи каждого текстового файла для каждого кадра
Отдельный поток / процесс ожидает нажатия кнопки «Стоп», чтобы ее можно было реально нажать. (Возможно ли это?)
Я просто хотел посмотреть, есть ли у кого-нибудь еще какие-либо идеи о том, как мне этого добиться. И верны ли мои предположения / идеи?