В принципе, у меня есть приложение с разрешением 8000 на 8000 пикселей. Мы можем увеличить масштаб, чтобы просмотреть конкретную часть, например, на радио, или мы можем уменьшить масштаб, чтобы просмотреть все.
Каждая часть автомобиля - это элемент управления, которым мы можем управлять пальцами на мониторе с двойным касанием или мультитач.
Моя проблема заключается в следующем: для управления элементом управления, например кнопкой громкости, пользователю необходимо перемещать мышь точно так же, как в реальной жизни, то есть круговыми движениями.
С мышью все идеально, она реагирует мгновенно без каких-либо задержек. Я использую OnMouseLeftButtonDown, OnMouseMove и т. Д.
При касании компьютеру очень трудно определить положение касания, и возникает огромная задержка, особенно когда пользователь одновременно перемещает 2 разные кнопки двумя пальцами. Я использую OnTouchDown, OnTouchMove и т.д ...
Единственная разница между мышью и касанием заключается в том, что нам нужно получить позицию с помощью мыши, которую я использую: (e - MouseButtonEventArgs)
Point currentPosition = e.GetPosition(this);
С помощью Touch я использую: (это TouchEventArgs)
Point currentPosition = e.GetTouchPoint(this).Position;
Все после этого одинаково.
Я не знаю, потому что у меня слишком много элементов управления в моем приложении (более 5000, которыми мы можем манипулировать, но когда мы увеличиваем только 2 элемента управления, это одно и то же) или потому что это действительно трудно компьютер, чтобы получить позицию от сенсорного события ....
Может ли кто-нибудь помочь мне с этим? Мне нужно найти решение, чтобы устранить отставание.
Я использую Visual Studio 2010, Blend 4, .NET 4.0
Windows 7 64-битная
ОЗУ 7 Гб
Xeon 2,13 ГГц, 2 ядра, 8 потоков
Экран: технология ELO, в экране NEC 2490WUXi2