ВМ касания против ВМ указатель


Какой из них я должен использовать? Я использую только Windows 8.x, поэтому меня не волнует тот факт, что WM_POINTER не обратно совместим с Windows 7 и т. д. Я также не забочусь о жестах; только о грубых прикосновениях. Единственное явное преимущество WM_POINTER, по-видимому, заключается в том, что он объединяет сенсорный ввод и ввод с помощью мыши (но это легко обойти с помощью WM_TOUCH, потому что события мыши можно проверить с помощью GetMessageExtraInfo()). Простота использования также не является проблемой; я уже использовал WM_TOUCH, и мне просто интересно если я должен переключиться на WM_POINTER. Моя главная забота-задержка и эффективность (приложение, связанное с игрой). Я не могу сказать, является ли WM_POINTER оболочкой над WM_TOUCH, которая имеет дополнительные накладные расходы. Какие-нибудь комментарии?

1 2

1 ответ:

WM_TOUCH устарел. Используйте WM_POINTER исключительно. (WM_TOUCH на самом деле является оболочкой над WM_POINTER.)

GetMessageExtraInfo также печально известна своей хрупкостью. Вы должны вызвать его немедленно после вызова GetMessage, иначе вы рискуете вызвать вызов промежуточной функции COM или сделать что-то еще, что приведет к вызову GetMessage.