Pertimbangan Utas Umum
Berikut ini adalah pertimbangan utas umum saat mengembangkan untuk PC Tablet.
Utas Aplikasi dan Non-Aplikasi
Semua peristiwa tinta dihasilkan pada utas tinta berprioritas tinggi yang terpisah. Ini memungkinkan tinta mengalir dengan lancar bahkan ketika aplikasi berjalan lambat. Namun, penanganan aktivitas dapat memperlambat atau memblokir penyajian tinta.
Semua peristiwa pengenalan yang dihasilkan oleh panggilan metode pengenalan latar belakang ditangani pada utas pengenalan latar belakang berprioritas normal yang terpisah.
Semua peristiwa mouse dihasilkan pada utas antarmuka pengguna utama (UI) aplikasi.
Pertimbangan Performa
Penanganan Aktivitas
Antarmuka pemrograman aplikasi Tablet PC Platform (API) memiliki model interaktif untuk peristiwa daripada model pemberitahuan. Pertahankan kode dalam penanganan aktivitas singkat untuk mengurangi waktu penyajian tinta diblokir. Pengumpulan tinta oleh PC Tablet tidak diblokir, tetapi aplikasi Anda tidak menerima tinta saat aplikasi Anda diblokir.
Properti AutoRedraw
Saat aplikasi Anda melakukan penyajian kustom atau ketika aplikasi Anda sensitif terhadap masalah pengecatan, Anda dapat menangani pengecatan ulang sendiri dan mengatur properti AutoRedraw ke false untuk objek InkCollector , objek InkOverlay , atau kontrol InkPicture . Gunakan peristiwa dalam tabel berikut untuk menangani pengecatan ulang.
Objek atau Kontrol | Kejadian |
---|---|
InkCollector Objek |
Peristiwa Control.Invalidated dan Control.Paint kontrol yang mendasar. |
InkOverlay Objek |
Peristiwa Control.Invalidated dan Control.Paint kontrol yang mendasar. |
Gambar Tinta Kontrol |
Kontrol InkPicture mewarisi peristiwa Control.Invalidated dan Control.Paint. |
Properti DynamicRendering
Saat aplikasi Anda melakukan penyajian kustom atau saat Anda menginginkan informasi, tetapi bukan tinta, Anda dapat menangani peletakan tinta sendiri dan menonaktifkan penyajian tinta secara real time dengan mengatur properti DynamicRendering ke false untuk objek InkCollector , objek InkOverlay , atau kontrol InkPicture .
Pertimbangan Rangkaian Peristiwa
Peristiwa API Platform PC Tablet dinaikkan di berbagai utas.
Peristiwa Objek InkCollector dan InkOverlay
Sebagian besar peristiwa objek InkCollector dan InkOverlay dinaikkan pada utas tinta. Hanya peristiwa mouse untuk objek ini yang dinaikkan pada utas UI. Misalnya, untuk objek InkCollector , peristiwa MouseDown dinaikkan pada utas UI, dan peristiwa KursorDown dinaikkan pada utas tinta.
Peristiwa Pengumpulan Objek Tinta dan Stroke
Objek Tinta dan peristiwa pengumpulan Stroke mungkin berasal dari utas tinta atau utas UI. Ketika aplikasi Anda memanipulasi objek Tinta atau koleksi Strokes , peristiwa dihasilkan di utas UI. Ketika objek InkCollector atau InkOverlay memperbarui objek Tinta atau koleksi Strokes , peristiwa dihasilkan di utas tinta.
Kontrol InkPicture dan InkEdit beroperasi di apartemen berulir tunggal (STA). Ketika kontrol InkPicture atau InkEdit memperbarui objek Tinta atau koleksi Strokes , peristiwa dinaikkan pada utas UI.
Peristiwa Pengenalan
Peristiwa pengenalan dinaikkan pada utas UI atau utas pengenalan latar belakang.
- Metode Recognize kontrol InkEdit meningkatkan peristiwa Pengenalan (hanya Pustaka Terkelola) atau RecognitionResult (khusus Automation) pada utas UI.
- Metode BackgroundRecognize dan BackgroundRecognizeWithAlternates objek RecognizerContext meningkatkan peristiwa Pengenalan dan PengenalanWithAlternates pada utas pengenalan latar belakang.
Pena Peristiwa Panel Input
Peristiwa PenInputPanel dinaikkan pada utas tempat objek PenInputPanel dibuat.