【问题标题】:How to efficiently react to touch events in Windows RT如何有效地响应 Windows RT 中的触摸事件
【发布时间】:2013-09-28 02:23:22
【问题描述】:

这可能是一个愚蠢的问题,但我不熟悉 XAML。

我是 implementing RTP-MIDI Windows Store 应用程序的客户端库,我想调查和解决潜在的延迟和性能问题。

我编写了一个带有几个按钮的快速虚拟应用程序,用于使用我的库通过网络将 MIDI 事件发送到乐器。在这种情况下,我发现我的库能够在 10 毫秒内通过网络处理单个基本 MIDI 事件,但我发现在我按下 UI 上的按钮的时间和我的库被指示的时间之间的延迟发送事件非常高。

理想情况下,我想对“触摸按下”事件做出反应并立即发送 MIDI 事件以及“触摸释放”事件并立即发送相应的 MIDI 事件。

我在常规按钮控件上找不到此类事件。理想情况下,我希望从 UI 中获得尽可能高的性能,即使只使用一个按钮,也能在我的性能评估中消除这个问题来源。

有没有办法让我像游戏一样“实时”触摸屏幕?

【问题讨论】:

    标签: c# xaml windows-runtime


    【解决方案1】:

    通过一系列较低级别的事件可以获得对各种指针事件(如点击、点击)的最基本访问,这些事件与您的问题直接相关:

    1. PointerPressed
    2. PointerReleased

    PointerPressed 应该等同于 MouseDown,例如在传统应用程序中,因为它会提前触发,并且在任何转换为​​更高级别事件(例如 Click)之前触发。

    PointerReleased 将等同于 MouseUp。如果您依赖PointerReleased 事件,您需要注意以下事实:该事件不一定与PointerPressed 事件成对触发,因为在许多情况下它可能不火。文档中有详细信息。

    【讨论】:

    • 谢谢。我以某种方式丢弃了这些事件,因为我发现它们不会为 XAML 按钮触发。但是,它们确实会触发自定义控件和矩形等。
    猜你喜欢
    • 2019-06-14
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多