首页 > 其他分享 >白板书写延迟-触摸屏报点率

白板书写延迟-触摸屏报点率

时间:2024-10-10 14:00:28浏览次数:1  
标签:个点 报点率 触摸 白板 触摸屏 WPF 间隔 输入

触摸书写延迟,是触摸屏很核心的参数。从用户在触摸屏上进行触控操作到设备作出响应之间的时间差,这个延迟高低会影响快速反应的应用场景使用如白板书写、玩游戏。

而触摸延迟主要影响因素有:触摸框报点率、软件框架延时(用于触摸数据接收、线程切换)、软件业务逻辑处理

我们这里介绍下触摸框报点率 Touch Report Rate,触摸屏每秒报告触控数据的次数(Hz),会根据设备类型不同而变化

触摸操作TouchMove(StylusMove)是定时上报一次,一次会上报1-N个点。

1     private void MainWindow_OnStylusMove(object sender, StylusEventArgs e)
2     {
3         var currentPointsCount = e.GetStylusPoints(this).Count;
4     }

不同屏幕定时触摸上报时间不同,我们可以通过Stylus事件收集看看

 1     private void MainWindow_OnStylusDown(object sender, StylusDownEventArgs e)
 2     {
 3         _stylusDown = true;
 4         _startTick = Environment.TickCount;
 5         _stylusEntryCount++;
 6         _distinctPoints.AddRange(e.GetStylusPoints(this).Distinct());
 7     }
 8 
 9     private void MainWindow_OnStylusMove(object sender, StylusEventArgs e)
10     {
11         if (!_stylusDown)
12         {
13             return;
14         }
15         _stylusEntryCount++;
16         _distinctPoints.AddRange(e.GetStylusPoints(this).Distinct());
17     }

输入平均间隔:var stylusEntryTime = (Environment.TickCount - _startTick) / (double)_stylusEntryCount

Dell触摸屏

我日常用于开发联调触摸相关功能的触摸屏,戴尔触摸屏Dell-P2418HT 1080P的触摸数据:

1. WPF应用StylusMove输入,拿到的间隔是33ms,即30帧

2. 一次输入包含1-7个点 

3. 再算个点平均间隔16.7ms -- 这个数据也是有意义的,可以用于评估类似书写预测1个点可以提升的性能

使用BusHold,我们看下真实点输入间隔:

BusHold第4列数据,01是指Down/Move事件,00是指Up操作结束。我们看到Move操作输入间隔基本在16-17ms,说明触摸框真实报点间隔17ms左右,即60帧。

上面WPF监听Stylus事件,拿到的触摸操作输入间隔是33ms。为何应用层拿到的触摸数据帧率比触摸框低呢?

我们试试StylusPlugin(StylusPlugin方案可以提前拿到触摸数据,可以用于触摸书写加速方案,提升)拿触摸线程的触摸数据,以及WPF路由触摸事件数据对比下:

与BusHold同样是7个点,

触摸线程事件,只不过2个点合并到一次触摸输入事件里了。所以这2个点合并操作不是路由事件内处理的,也不是WPF框架,而是在Windows 输入管理器根据硬件配置限制为30帧,减少了传递给应用程序的事件数量

UI路由事件,我们看上面控制台输出,移动事件间隔30ms左右报个一次输入事件,最后一个Move事件里有4个点。这里的4个点输入,合并了1+2+1上面触摸线程事件的3次输入,所以WPF路由事件管理也有触摸消息的队列,会合并触摸点

那有没有可能减少触摸数据的合并,与触摸框保持一致的帧率呢?答案是有的,可以在WPF开启如UWP的Point消息:

1     public partial class App : Application
2     {
3         public App()
4         {
5             AppContext.SetSwitch("Switch.System.Windows.Input.Stylus.EnablePointerSupport", true);
6         }
7     }

添加EnablePointerSupport后,我们监听TouchMove事件:

触摸移动事件触发间隔就减少16-17ms了,到与触摸框报点率相同帧率,good!

开启Pointer更多内容作可以看德熙MVP的博客 WPF dotnet core 如何开启 Pointer 消息的支持 (lindexi.com),但开启Pointer也有很多坑WPF 开启Pointer消息存在的坑 (lindexi.com),大家谨慎使用

触摸大屏

再看看目前市面上交互触摸大屏所使用的富创通、华欣主流触摸框产品路由触摸数据:

输入间隔为15.6ms左右,触摸点之间平均间隔为7ms左右,即触摸框报点140帧以上,应用层触摸数据60帧。

最近有一款改良的富创通触摸G框版本,我们也由应用端收集下数据:

输入间隔没变也是15.6ms左右,触摸点之间平均间隔为4.5ms,即触摸框报点220帧左右,应用层触摸数据依然是60帧。说明这款触摸框提升了本身的报点率,但应用层根据硬件条件限制了60帧触摸报点。

这里触摸数据帧数限制,与屏幕刷新率有关,一般屏幕刷新率是60Hz.

总之,了解触摸报点率,才能真正去把书写性能以及书写平滑这块做好。

标签:个点,报点率,触摸,白板,触摸屏,WPF,间隔,输入
From: https://www.cnblogs.com/kybs0/p/18453947

相关文章

  • 电容式触摸屏的结构研究
    电容式触摸屏在现代电子设备中扮演着重要的角色,从智能手机到平板电脑、工业控制面板,电容式触摸屏因其优秀的触控灵敏度和多点触控功能而受到广泛应用。与其他触摸技术相比,电容式触摸屏具有更高的透光率和更好的视觉效果,这使其在诸多场合中成为用户首选的交互方式。本文将详细探讨电......
  • 西门子PLC与组态触摸屏无线通信物联网解决方案
    在工业自动化环境中,PLC和触摸屏通常分布在不同的位置,如控制室与生产线之间。传统有线连接方式不仅施工复杂,还受环境限制,而无线通信物联网解决方案则能有效解决这些问题。例如,在大型工厂或复杂生产线中,PLC和触摸屏之间通过无线通信网关实现数据交换,不仅简化了布线,还提高了系统的可扩......
  • STM32入门教程:LCD触摸屏控制
    STM32是一款广泛应用于嵌入式系统开发的微控制器系列,拥有强大的处理能力和丰富的外设接口。LCD触摸屏是一种通过触摸来控制显示内容的交互设备,常用于嵌入式系统中的人机交互界面。本教程将详细介绍如何使用STM32控制LCD触摸屏。一、硬件准备首先,我们需要准备以下硬件设备:STM......
  • 正点原子ALPHA开发板使用4.3寸触摸屏LCD驱动实验显示不正常
    显示问题裸机开发时,驱动教程的PDF里给了4.3寸LCD屏幕的设置参数。如下图所示:但是按照这个设置,编写设备树dts文件,下载到开发板里,却出现了显示异常,具体来说就是帧率不对,图和字都是歪斜的,像果冻一样左右摇晃。但是,通过实验发现,在dts文件里将屏幕频率超频设置(大于上图的31MHz,我按照......
  • PC触摸屏之设备维护【选项】往HMI装载字体文件
    组态好的项目下载到精智(Comfort)屏,画面上的中文显示乱码等异常现象。出现这个现象请检查画面对象的文本是否使用的宋体,建议大家使用宋体,这个字体是经过西门子技术部门测试过的。另外还可以把中文字体下载到屏上。选中屏的型号,点击鼠标右键,选择设备维护>选项。 后面选择接......
  • 一款专为内网办公环境设计的操作系统,集成了Word、Excel、PPT、PDF编辑器,内网聊天、白
    前言在当今数字化办公时代,企业面临着多样化的办公需求。现有软件往往存在一些痛点,如操作复杂、兼容性差、资源消耗高,以及在内网环境下的通讯和文件共享不便。这些限制不仅影响了工作效率,也制约了企业的数字化转型。因此,一款能够处理这些问题的软件显得尤为迫切。介绍GodoOS......
  • tp1200触摸屏画面光标使用方法
     1:点击画面空白处 2:编辑Tab排序,就是首次显示当前画面时,光标处于光标为1的对象上3:当IC卡具备Enter点击功能时,可以直接使用刷卡去触发这个按钮*******************************************************************************************************1:激活屏幕功能 ......
  • ToDesk标注功能和白板有什么区别?手机可以使用吗?
    经常需要远程会议或者远程上课的小伙伴对于白板一定不陌生,它可以提供文档在线演示、编辑、批注等辅助性功能,方便小伙伴在远程会议或上课中进行讲解、展示和教学等。最近小社长发现ToDesk远程控制软件新出了个标注功能,比单独下个白板软件更方便,而且免费版本就能享受,手机电脑都可以......
  • 【启明智显分享】基于国产Model3芯片的7寸触摸屏助力智慧医疗,电子床头屏提升护理交互
    未来医院必然是以信息化为基础,以物联网为特征,以医疗为核心的服务型医院。病房作为医院的重要服务场所,成为智慧医院建设的重要一环。为提高医护人员与患者的互动交流,给医疗注入智慧元素,让患者享受智能服务,启明智显提出了将国产工业级HMI芯片Model3应用于医疗床头屏的HMI方案......
  • ESP32-点亮TFT2.4电阻触摸屏 学习笔记
    1、下载好arduinoIDE开发软件IDE(IntegratedDevelopmentEnvironment),译为集成开发环境,相当于编辑器编译器加连接器+其他。ArduinoIDE就是Arduino团队提供的一款专门为Arduino设计的编程软件,使用它,我们便能将程序从代码上传至Arduino主板。去官网下载:Software|Arduino,也......