How to solve touch lag for Windows 8?

I am currently developing a game for Windows 8 using C ++ with pure XAML (without DirectX). At some point, I begin to notice a delay when touch inputs (e.g. Tap.) Occur. The mouse (or other mouse events) t causes the same delay problem. I also notice that the more fingers you touch, the more lag happens.

This problem seems to be specific to XAML applications, either C ++ or C #. I tried with a sample Direct3D project, and everything seems fine.

I created a clean version of a C ++ XAML application with almost nothing but one Ellipse control, which has a storyboard for animating around the page, and then tried to disable all inputs on the root control by setting IsRightTapEnabled / IsHoldingEnabled / IsDoubleTapEnabled / ManipulationMode / IsTapEnabledVisHit to false. But the lag still occurs when the touch inputs are triggered.

So, I am sure that at the fundamental level something must be wrong. The application does almost nothing, and the backlog is still happening.

Windows 8 has games like Hydro Thunder and Jetpack Joyride, which also have a touch delay issue (see http://wrtapps.com/2012/12/windows-rt-games-suffering-from-touch-screen -input-lag / ). Somehow they managed to fix it.

I believe that there should be a way to fix this (somehow the Halfbrick guys already did it.) Almost the same as touching Windows 8 consumes more CPU than usual. But I could not figure out how to prevent this. I could not find any other blog articles about this issue. Now my key is ending: (

Any suggestions on this would be greatly appreciated!

+4
source share
1 answer

In my DirectX C ++ application (using a simple XAML page), I found a very similar error, and monitored the problem until the visual feedback that appears when the touch occurs.

As with your program, mouse input did not affect performance at all.

I decided to solve it by disabling visual feedback:

You should get the PointerVisualizationSettings for the current view and set the ContactFeedbackEnabled property to false.

Doing this removes any hits when touched. Maybe you just want to do this.

+3
source