加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

如何解决Windows 8游戏的触摸输入延迟?

发布时间:2020-12-14 05:25:25 所属栏目:Windows 来源:网络整理
导读:我目前正在使用带有纯XAML(没有DirectX)的C开发 Windows 8游戏.在某些时候,我开始注意到触摸输入发生时的延迟(例如Tap.)鼠标单击(或其他鼠标事件)不会导致相同的滞后问题.我也注意到触摸手指越多,发生的滞后就越多. 此问题似乎仅适用于XAML应用程序,无论是C
我目前正在使用带有纯XAML(没有DirectX)的C开发 Windows 8游戏.在某些时候,我开始注意到触摸输入发生时的延迟(例如Tap.)鼠标单击(或其他鼠标事件)不会导致相同的滞后问题.我也注意到触摸手指越多,发生的滞后就越多.

此问题似乎仅适用于XAML应用程序,无论是C还是C#.我尝试使用示例Direct3D项目,一切似乎都很好.

我创建了一个干净的平板C XAML应用程序,几乎没有任何东西,除了1个Ellipse控件,它有一个Storyboard来围绕页面设置动画,然后尝试通过将IsRightTapEnabled / IsHoldingEnabled / IsDoubleTapEnabled / ManipulationMode / IsTapEnabled / IsHitTestVisible设置为False来禁用根控制上的所有输入.但是在触发触摸输入时仍会出现延迟.

所以,从这一点来说,我确信在基础层面上必须出现问题.该应用程序几乎什么都不做,滞后仍然发生.

在Windows 8上有类似Hydro Thunder和Jetpack Joyride的游戏也存在触摸输入滞后问题(见http://wrtapps.com/2012/12/windows-rt-games-suffering-from-touch-screen-input-lag/).不知何故,他们已经设法修复它.

我相信必须有办法解决这个问题(因为Halfbrick的某些人已经这样做过了.)这几乎就像Windows 8上的触摸消耗的CPU比平常多.但我无法弄清楚如何防止这种情况.我也找不到任何关于这个问题的博客文章.现在我用尽了线索:(

对此问题的任何建议将非常感谢!

解决方法

我在directX C App中遇到了一个非常类似的错误(使用简单的XAML-Page)并将问题跟踪到触摸发生时显示的视觉反馈.

与您的程序一样,鼠标输入根本不会影响性能.

我通过禁用视觉触摸反馈解决了这个问题:

您必须获取当前视图的PointerVisualizationSettings并设置
ContactFeedbackEnabled属性为false.

这样做可以消除触摸时的任何性能下降.也许你只是想试一试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读