Этот поток может быть похож на Любой способ отключить определенные состояния простоя процессора (Cx)?
У меня есть сенсорная камера USB 2.0 CMOS, которой нужно управлять VIA labview. Однако, когда он захватывает изображения последовательно, я замечаю, что на изображении случайно появляются разрывы. На вопрос об этом с компанией-оператором мне сказали следующее:
Низкая частота кадров при использовании USB-камер и поврежденные изображения камер FireWire вызваны незанятыми состояниями ЦП. Насколько нам известно, происходит следующее: контроллер связи получает список команд от процессора. Это начинает выполнять этот список. Теперь процессор снова бездействует и переходит в состояние C3 для экономии энергии. Когда коммуникационный контроллер завершил список команд, он запрашивает у ЦПУ новые команды. Пока он ожидает ЦП, поступающего из C3 в C0, устройство захвата видео продолжает отправлять данные, которые не улавливаются контроллером связи. Это вызывает переполнение буфера и приводит к потере блоков данных. Драйвер USB-камеры может обнаружить эти неполные изображения и удалит их. Драйвер камеры FireWire не может их обнаружить, и поэтому вы увидите искаженные изображения. Если вы используете процессор Intel, вы можете попробовать Менеджер состояния простоя процессора. Он пытается предотвратить переход процессора в состояние C3. Программу можно загрузить с http://www.imagingcontrol.com/en_US/downloads/tools/.
Вот пример ImageTear:
Это, конечно, означает, что это из-за состояний CPU Cx. Могу ли я в любом случае отключить их и снова попытаться сделать снимок? Моя система всегда включена. Таким образом, не нужно беспокоиться о проблемах с питанием или управлении энергопотреблением.