Общие рекомендации по потокам

Ниже приведены общие рекомендации по работе с потоками при разработке для планшетных ПК.

Приложения и потоки, не относящиеся к приложениям

Все события рукописного ввода создаются в отдельном потоке рукописного ввода с высоким приоритетом. Это позволяет работать с рукописным вводом плавно, даже если приложение работает медленно. Однако обработчики событий могут замедлить работу или заблокировать отрисовку рукописного ввода.

Все события распознавания, создаваемые вызовами метода распознавания фона, обрабатываются в отдельном потоке фонового распознавания текста с нормальным приоритетом.

Все события мыши создаются в основном потоке пользовательского интерфейса приложения.

Вопросы производительности

Обработчики событий

Прикладной программный интерфейс (API) платформы Tablet PC имеет интерактивную модель для событий, а не для модели уведомления. Не заключайте код в обработчики событий, чтобы сократить время блокировки отрисовки рукописных данных. Набор рукописных данных Tablet PC не блокируется, но приложение не получает рукописный ввод, пока приложение заблокировано.

Ауторедрав, свойство

Когда приложение выполняет пользовательскую отрисовку или если ваше приложение чувствительно к проблемам рисования, можно выполнить перерисовку самостоятельно и установить свойство ауторедрав в значение false для объекта InkCollector , объекта InkOverlay или элемента управления InkPicture . Используйте события, приведенные в следующей таблице, для управления перерисовкой.

Объект или элемент управления Событие
InkCollector Объектами
Элемент управления базового элемента управления . недействительные события и Control. Paint .
InkOverlay Объектами
Элемент управления базового элемента управления . недействительные события и Control. Paint .
InkPicture Элемента
Элементы управления, наследуемые элементом управления InkPicture . недействительны и события Control. Paint .

Динамикрендеринг, свойство

Когда приложение выполняет пользовательскую отрисовку или требуется, чтобы информация, но не рукописный ввод, можно было самостоятельно обменять и отключать отрисовку рукописного ввода в режиме реального времени, присвоив свойству динамикрендеринг значение false для объекта InkCollector , объекта InkOverlay или элемента управления InkPicture .

Рекомендации по потокам событий

События API платформы планшетных ПК вызываются в различных потоках.

События объектов InkCollector и InkOverlay

Большинство событий объекта InkCollector и InkOverlay вызываются в потоке рукописного ввода. В потоке пользовательского интерфейса вызываются только события мыши для этих объектов. Например, для объекта InkCollector в ПОТОКЕ пользовательского интерфейса возникает событие MouseDown , а в потоке рукописного ввода возникает событие курсордовн .

События сбора рукописных объектов и штрихов

События рукописного ввода и сбора штрихов могут поступать из потока рукописного ввода или из потока пользовательского интерфейса. Когда приложение манипулирует объектом рукописного ввода или коллекцией штрихов , событие создается в потоке пользовательского интерфейса. Когда объект InkCollector или InkOverlay обновляет коллекцию объектов Ink или Stroke , событие создается в потоке рукописного ввода.

Элементы управления InkPicture и InkEdit работают в однопотоковом подразделении (STA). Когда элемент управления InkPicture или InkEdit обновляет коллекцию объектов рукописного ввода или штрихов , в потоке пользовательского интерфейса возникает событие.

События распознавания

События распознавания вызываются в потоке пользовательского интерфейса или в потоке распознавания фона.

События панели ввода пера

События пенинпутпанел вызываются в потоке, в котором создается объект пенинпутпанел .

Microsoft. Ink. InkCollector. Динамикрендеринг

Microsoft. Ink. InkOverlay. Динамикрендеринг

Microsoft. Ink. InkPicture. Динамикрендеринг

Microsoft. Ink. InkCollector. Ауторедрав

Microsoft. Ink. InkOverlay. Ауторедрав

Microsoft. Ink. InkPicture. Ауторедрав