Я пытаюсь закодировать пользовательскую графику курсора для Windows 8
. Я буду использовать его для приложения, которое использует одно или любое число Wiimotes
для отправки сенсорного ввода Windows
, что означает, что мне нужно отображать несколько cursors
. Я не могу использовать сборку в cursor
для прикосновения, потому что их очень сложно увидеть, когда она просматривается издалека.Как переместить графику в окна без латентности?
В настоящее время я использую отдельное прозрачное окно для каждого курсора, на котором я рисую курсор графику с DirectX
, но для фактического повторного позиционирования cursor
переместить окно в текущий cursor
положения с помощью win32
методов SendMessage
и SetWindowPos
. Это приведет к почти нулевой задержке для повторного позиционирования, но будет использовать необоснованное количество времени процесса. Иногда рядом с 30%
при одновременном перемещении нескольких курсоров.
Первоначально я пытался рисовать в прозрачное окно, охватывающее весь экран. Я пробовал и окно WPF
с повторным позиционированием фигур на холсте, и чертеж непосредственно на D3D
DirectX
экземпляр Desktop Window Manager
и перестановку путем изменения преобразования matrixes
. Это приведет к некоторым очень раздражающим миллисекундам латентности.
Как нарисовать на экране, cursor
, который будет двигаться с низкой задержкой и низким CPU
?
Можете ли вы не просто использовать одно прозрачное окно, которое накладывает весь экран? –
Да, это то, что я сделал по своим «другим методам», но я не знаю, как я могу переместить графику (предпочтительнее сглаженную и полупрозрачную) без латентности. – Simphax