Я смущен тем, как приложения обрабатывают ввод мыши с помощью Direct2D.Direct2D C++ User input
Рассмотрим случай:
- Say Я нарисовал мяч на окне. Если переместить курсор над мячиком, он изменит цвет.
- Означает ли это, что приложение должно опросить мышь и проверить, находится ли курсор над мячом почти каждую секунду времени работы приложения.
- Разве это не снижает производительность, если у вас больше предметов? Есть ли другой способ, чем опрос, который, другими словами, является кучей if-утверждений.
Там произошло тестирование на мероприятии WM_MOUSEMOVE, которое в основном опросило каждый кадр. – bluejamesbond
Не могли бы вы прояснить, что вы имеете в виду? Если код обновляет модель на событиях WM_MOUSEMOVE, то он не опросит каждый кадр, поскольку WM_MOUSEMOVE не является механизмом опроса. Windows отправит событие при перемещении мыши. – gigaplex
@ gigaplex.Таким образом, я хочу сказать, что ... Хотя WM_MOUSEMOVE не является методом опроса, логика определяет, что ваш курсор в определенной области окна очень похож на опрос. Каждый пиксель, над которым движется ваша мышь, вы должны пройти весь список элементов, которые вы нарисовали, чтобы увидеть, есть ли ваша мышь, если на этом элементе в случае, если эти элементы имеют поведение при перемещении мыши. Разве это не будет очень медленным? – bluejamesbond