Прежде всего, я не опытный программист на любом языке.Но последние пару месяцев я в значительной степени возился с питоном, поэтому я не считаю себя полностью зеленым.
Некоторые ключевые слова для вас:
- Windows
- Python 2.6
- Pygame, CGKit
Хорошо, у меня есть модуль CGKit, который содержит оболочку WinTab для сбора данных с планшета Wacom.WinTab требует, чтобы определенное окно было активным, чтобы начать захват, и для этого я использую PyGame.Тем не менее, PyGame довольно жесток с процессором и дает мне от 100 до 200 кадров в секунду при рисовании простого текста и прямоугольников (метры для входных данных wacom.) И около 200-400 кадров в секунду, когда ничего не «стряхивает».* Теперь аппаратное обеспечение планшета и WinTab API поддерживают скорость передачи 200 Гц, и это хорошо.Проблема в том, что данные, которые я получаю из WinTab, не имеют частоту 200 Гц (5 мс на пакет), а вместо этого соответствуют текущей частоте кадров моего окна PyGame, которая, помимо всего прочего, не является статичной.
Итак, вы видите проблему.Чтобы WinTab мог получить какие-либо данные, ему должно быть назначено окно, и он должен быть «активным».Но наличие открытого окна PyGame означает, что поток данных ограничен частотой кадров окна Pygame.
Я уверен, что есть другие оконные менеджеры, которые я мог бы использовать, которые не будут занимать ни одного, или небольшого процессора, но мне бы очень хотелось, чтобы WinTab получал данные с постоянной частотой 200 Гц без какой-либоЗависимости.
Я думаю, многопоточность.Разбиение данных о сборке и рисовании, но поскольку WinTab нужно окно для получения каких-либо данных, я не могу понять, как это возможно.
Также обратите внимание, что я никогдапронизывал что-либо раньше, хотя я понимаю концепцию.
Итак, надеюсь, я достаточно ясно объяснил проблему.
Вопрос , как я могу получить данные с минимальной частотой 200 Гц, при этом все еще имея возможность делать, возможно, 20-30 кадров в секунду в моем окне PyGame?