一种输入控制灵敏度的检测方法及检测装置技术领域
本发明涉及信号检测技术领域,具体涉及一种输入控制灵敏度的检测方法
及检测装置。
背景技术
用户设备基本都是通过输入设备进行输入控制的,例如:电脑基本都是通
过鼠标进行输入控制的。
现有技术中配置比较高的电脑通常会很快响应鼠标的输入控制,配置比较
低的电脑经常会出现卡慢,光标漂移不定等情况,若电脑响应鼠标的输入控制
很慢,则会严重的影响用户与电脑沟通的效率,所以需要检测电脑对鼠标输入
控制的灵敏度。
现有技术中基本都是通过检测用户设备中处理器和内存的使用量来检测
输入设备的输入控制是否会出现卡慢的,但是,随着通信技术的发展,现有的
用户设备的硬件配置都越来越好,即使处理器和内存的使用量都很高,也不一
定会出现输入设备输入控制卡慢的情况,所以这种检测方式检测出来的结果经
常不准确。
发明内容
本发明实施例提供一种输入控制灵敏度的检测方法,可以提高对输入设备
输入控制灵敏度的检测精确度。本发明实施例还提供了相应的检测装置。
本发明第一方面提供一种输入控制灵敏度的检测方法,包括:
将输入设备进行输入控制所产生的输入中断事件添加到所述输入设备的
输入事件队列中;
记录所述输入中断事件进入所述输入事件队列的进入量化参数;
记录输入事件调用程序从所述输入事件队列中取出所述输入中断事件的
取出量化参数;
当所述进入量化参数与所述取出量化参数之间的差值高于预置阈值时,确
定所述输入设备的输入控制灵敏度不满足预设要求。
本发明第二方面提供一种输入控制灵敏度的检测装置,包括:
添加单元,用于将输入设备进行输入控制所产生的输入中断事件添加到所
述输入设备的输入事件队列中;
第一记录单元,用于记录所述输入中断事件被所述添加单元添加进入所述
输入事件队列的进入量化参数;
第二记录单元,用于记录输入事件调用程序从所述输入事件队列中取出所
述输入中断事件的取出量化参数;
确定单元,用于当所述第一记录单元记录的进入量化参数与所述第二记录
单元记录的取出量化参数之间的差值高于预置阈值时,确定所述输入设备的输
入控制灵敏度不满足预设要求。
本发明实施例提供的输入控制灵敏度的检测方法,将输入设备进行输入控
制所产生的输入中断事件添加到所述输入设备的输入事件队列中;记录所述输
入中断事件进入所述输入事件队列的进入量化参数;记录输入事件调用程序从
所述输入事件队列中取出所述输入中断事件的取出量化参数;当所述进入量化
参数与所述取出量化参数之间的差值高于预置阈值时,确定所述输入设备的输
入控制灵敏度不满足预设要求。与现有技术中通过处理器和内存的占用量来检
测输入控制灵敏度,导致检测不准确相比,本发明实施例提供的输入控制灵敏
度的检测方法,可以通过输入中断事件的进入和取出的量化参数的差值进行确
定,从而提高了输入控制灵敏度检测的精确度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所
需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明
的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还
可以根据这些附图获得其他的附图。
图1是鼠标卡慢的场景示意图;
图2是本发明实施例中输入控制灵敏度的检测方法的一实施例示意图;
图3是本发明实施例中输入中断事件进入和取出的示例描述示意图;
图4是本发明实施例中输入控制灵敏度的检测方法的另一实施例示意图;
图5是本发明实施例中输入控制灵敏度的检测装置的一实施例示意图;
图6是本发明实施例中输入控制灵敏度的检测装置的另一实施例示意图;
图7是本发明实施例中输入控制灵敏度的检测装置的另一实施例示意图。
具体实施方式
本发明实施例提供一种输入控制灵敏度的检测方法,可以提高对输入设备
输入控制灵敏度的检测精确度。本发明实施例还提供了相应的检测装置。以下
分别进行详细说明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清
楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是
全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳
动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例所描述的输入控制主要包括个人计算机(Personal
Computer,PC)上鼠标的输入控制、笔记本电脑上触控板的输入控制和手机
上触摸屏的输入控制,还可以包括键盘的输入控制等。后续描述中本发明实施
例中多以鼠标的输入控制为例进行说明,但不应理解为只限于鼠标的输入控
制,上述所列出的其他几种输入控制都包括在本发明实施例中,只是无论是鼠
标、触控板,触摸屏,还是键盘,输入控制灵敏度的检测原理是相同的,所以
本申请实施例中没有再罗列其他触控板、触摸屏和键盘的检测场景。
本申请中的输入控制灵敏度不满足预设要求可以理解为是输入控制卡慢,
例如:鼠标卡慢,如电脑使用者移动鼠标时,屏幕上对应鼠标的光标飘浮不定,
不能准确跟随操作者的动作移动。当然,键盘输入、触摸屏输入和触控板输入
所对应的光标卡慢也属于输入控制灵敏度不满足预设要求。下面以鼠标卡慢为
例进行说明。
图1为鼠标卡慢的场景示意图。如图1所示,用户将鼠标由位置A移动到位
置B,而显示器上鼠标所对应的光标还没有从原先的位置C移动到目标位置D,
而是出现卡顿,漂浮在位置C附近。图1中所画出的鼠标为无线鼠标,所以鼠
标和显示器没有连接关系,如果鼠标为有线鼠标,则鼠标和显示器都需要连接
到主机上。
图2为本发明实施例中输入控制灵敏度的检测方法的一实施例示意图。
参阅图2,本发明实施例提供的输入控制灵敏度的检测方法的一实施例包
括:
101、将输入设备进行输入控制所产生的输入中断事件添加到所述输入设
备的输入事件队列中。
本申请中的输入设备可以包括鼠标、笔记本电脑上的输入控制板、触摸屏
和键盘等。
输入中断事件是指用户通过输入设备进行输入控制时所产生的中断事件,
例如,鼠标移动所产生的鼠标中断事件。
输入事件队列是指按照中断事件的产生顺序所排列的输入中断事件的队
列。鼠标中断事件的队列即为鼠标的输入事件队列,键盘中断事件即为键盘的
输入事件队列,不同输入设备所产生的输入中断事件互相不重叠。
102、记录所述输入中断事件进入所述输入事件队列的进入量化参数。
进入量化参数可以包括输入中断事件进入所述输入事件队列的进入速度
和进入数量等,速度也可以用频率表示。
103、记录输入事件调用程序从所述输入事件队列中取出所述输入中断事
件的取出量化参数。
取出量化参数可以包括输入事件调用程序从所述输入事件队列中取出所
述输入中断事件的速度和数量等,速度也可以用频率表示。
图3为本发明实施例中输入中断事件进入和取出的示例描述示意图。如图3
所示,以鼠标为例,在内核层鼠标的输入控制产生鼠标中断事件,鼠标中断事
件进入输入事件队列,按照鼠标中断事件的产生顺序进行排序,输入事件调用
程序从应用层调用鼠标中断事件,从输入事件队列中取出所述鼠标中断事件,
进行处理,也就是执行该鼠标中断事件,将鼠标所对应的光标按照输入中断事
件的要求进行移动。
结合实际进程来说,可以是鼠标进行输入控制产生鼠标中断事件后,对应
延迟过程调用(DPC,Delay procedure call)例程负责把相关的鼠标中断事件
放入输入事件队列。windows子系统的csrss进程负责从输入事件队列中获取鼠
标中断事件,并派发给相应的进程执行该鼠标中断事件。
例程的作用类似于函数,但含义更为丰富一些。例程是某个系统对外提供
的功能接口或服务的集合。比如操作系统的API、服务等就是例程。
104、当所述进入量化参数与所述取出量化参数之间的差值高于预置阈值
时,确定所述输入设备的输入控制灵敏度不满足预设要求。
鼠标中断事件的进入和取出就类似于一个生产和消费模型,进入是产生,
取出则是消费,若产生的太快,消费的太慢,则输入控制灵敏度自然不能满足
预设要求,若生产的太多,消费的太少,则输入控制灵敏度自然也不能满足预
设要求。
可选地,所述进入量化参数为进入速度,所述取出量化参数为取出速度时,
当所述进入速度与所述取出速度的差值高于所述预置阈值,确定所述输入设备
的输入控制灵敏度不满足预设要求。
可选地,所述进入量化参数为进入数量,所述取出量化参数为取出数量时,
当所述进入数量与所述取出数量的差值高于所述预置阈值,确定所述输入设备
的输入控制灵敏度不满足预设要求。
例如:鼠标中断事件的进入速度为10个/秒,取出速度为2个/秒,若进入速
度和取出速度差值的阈值是2个/秒。则10个/秒减去2个/秒等于8个/秒,8个/秒
大于阈值2个/秒。则说明,生成速度远高于消费速度,则输入控制灵敏度不满
足预设要求。
若鼠标中断事件的进入数量为10个,取出速度为2个,若进入速度和取出
速度差值的阈值是2个。则10个减去2个等于8个,8个大于预置2个。则说明,
生成速度远高于消费速度,则输入控制灵敏度不满足预设要求。
本发明实施例提供的输入控制灵敏度的检测方法,将输入设备进行输入控
制所产生的输入中断事件添加到所述输入设备的输入事件队列中;记录所述输
入中断事件进入所述输入事件队列的进入量化参数;记录输入事件调用程序从
所述输入事件队列中取出所述输入中断事件的取出量化参数;当所述进入量化
参数与所述取出量化参数之间的差值高于预置阈值时,确定所述输入设备的输
入控制灵敏度不满足预设要求。与现有技术中通过处理器和内存的占用量来检
测输入控制灵敏度,导致检测不准确相比,本发明实施例提供的输入控制灵敏
度的检测方法,可以通过输入中断事件的进入和取出的量化参数的差值进行确
定,从而提高了输入控制灵敏度检测的精确度。
可选地,所述确定所述输入设备的输入控制灵敏度不满足预设要求,可以
包括:
检测与所述输入控制灵敏度相关的硬件资源;
当所述相关的硬件资源未被占用的余量低于预设门限值时,确定所述输入
设备的输入控制灵敏度不满足预设要求。
本申请中,与所述输入控制灵敏度相关的硬件资源可以包括处理器和内
存,当处理器和内存未被占用的余量,也就是未被使用的资源低于预设门限值
时,说明处理器和内存的剩余资源已经不能满足输入设备的输入控制需求,则
进一步确定了输入控制灵敏度不满足预设要求,增强了灵敏度检测的准确度。
可选地,所述当所述相关的硬件资源未被占用的余量低于预设门限值时,
确定所述输入设备的输入控制灵敏度不满足预设要求之后,所述方法还包括:
确定当前占用所述相关的硬件资源的进程,并展示所述进程。
本申请中,确定输入控制灵敏度不满足预设要求之后,还可以检测开启窗
口的数量,以及正在运行的进程确定都是哪些进程占用了相关的硬件资源,然
后将这些进程展示给用户,以提示用户是否要关闭一些进程,以便空出硬件资
源,以提高输入控制的灵敏度。
为了更清楚的理解本申请输入控制灵敏度的检测过程,下面参阅图4本发
明实施例中输入控制灵敏度的检测方法的另一实施例示意图,说明本发明实施
例中输入控制灵敏度的检测的过程:
图4中以鼠标进行输入控制为例进行说明。
如图4所示,输入控制灵敏度的检测装置中包括内核层和应用层,在内核
层包括鼠标中断拦截组件201、系统鼠标驱动202、鼠标过滤驱动203和鼠标灵
活状态判断组件204,在应用层包括鼠标应用层逻辑组件205、系统csrss进程
206,其中,鼠标中断拦截组件201拦截系统鼠标中断,鼠标中断拦截组件201
拦截到的鼠标中断即为生产鼠标中断事件的过程,鼠标中断事件产生的时机可
以作为一种伪基线baseline的作用:DPC例程处于windows系统中非常高的调度
级别,产鼠标中断事件产生时,它会优先得到调度,如图4所示,DPC例程的
作用是把鼠标中断事件放入到输入事件队列中,在这可以把它定义为“生产-
消费”模型中的生产者。鼠标中断拦截组件201拦截系统鼠标中断后会通知系
统鼠标驱动202有鼠标中断事件,系统鼠标驱动202会通知鼠标过滤驱动203过
滤应用层的系统csrss进程206对鼠标中断事件的调取,系统csrss进程206对鼠标
中断事件的调取过程作为消费者,而csrss进程是一般进程优先级别,所以可能
会导致鼠标中断事件不会被及时调取。当用户操作电脑过程中感觉鼠标卡的时
候,说明消费者远没跟得上生产者来消化鼠标消中断事件,而产生这个问题的
原因,很明显是因为系统相关资源已经不够充足以致csrss进程来派发鼠标消息
较为缓慢。
上述过程所描述的鼠标输入控制的“生产者-消费者”模型得到后,把这
个生产者-消费者”模型的数据注入到鼠标灵活状态判断组件204进行判断,
确定提取鼠标中断事件的速度比鼠标中断事件产生的速度相差多少,如果两者
速度的差值大于预设阈值,则说明两者速度相差较大,则确定是此时系统比较
卡慢,输入控制灵敏度不满足预设要求。
无论鼠标灵活状态判断组件204确定系统是否卡慢后,都会将结果通知到
应用层的鼠标应用层逻辑组件205,应用层就可以提示用户当前系统的卡慢状
态。
应用层的相关模块还可以再次调用常规的处理器、内存和窗口等相关技术
再次确认系统卡慢现象和导致此卡慢现象的进程,最后在界面上展示出给用
户,并询问用户是否需要解决此卡慢现象。
以上,所描述的为输入控制灵敏度的检测方法,下面结合上述方法来介绍
本申请中输入控制灵敏度的检测装置30。
图5为本申请中输入控制灵敏度的检测装置30的一实施例示意图。
如图5所示,本申请中输入控制灵敏度的检测装置30的一实施例包括:
添加单元301,用于将输入设备进行输入控制所产生的输入中断事件添加
到所述输入设备的输入事件队列中;
第一记录单元302,用于记录所述输入中断事件被所述添加单元301添加进
入所述输入事件队列的进入量化参数;
第二记录单元303,用于记录输入事件调用程序从所述输入事件队列中取
出所述输入中断事件的取出量化参数;
确定单元304,用于当所述第一记录单元302记录的进入量化参数与所述第
二记录单元303记录的取出量化参数之间的差值高于预置阈值时,确定所述输
入设备的输入控制灵敏度不满足预设要求。
本发明实施例中,添加单元301于将输入设备进行输入控制所产生的输入
中断事件添加到所述输入设备的输入事件队列中;第一记录单元302记录所述
输入中断事件被所述添加单元301添加进入所述输入事件队列的进入量化参
数;第二记录单元303记录输入事件调用程序从所述输入事件队列中取出所述
输入中断事件的取出量化参数;确定单元304当所述第一记录单元302记录的进
入量化参数与所述第二记录单元303记录的取出量化参数之间的差值高于预置
阈值时,确定所述输入设备的输入控制灵敏度不满足预设要求。与现有技术中
通过处理器和内存的占用量来检测输入控制灵敏度,导致检测不准确相比,本
发明实施例提供的输入控制灵敏度的检测装置,可以通过输入中断事件的进入
和取出的量化参数的差值进行确定,从而提高了输入控制灵敏度检测的精确
度。
可选地,所述确定单元304,用于当所述进入量化参数为进入速度,所述
取出量化参数为取出速度时,当所述进入速度与所述取出速度的差值高于所述
预置阈值,确定所述输入设备的输入控制灵敏度不满足预设要求。
可选地,所述确定单元304,用于当所述进入量化参数为进入数量,所述
取出量化参数为取出数量时,当所述进入数量与所述取出数量的差值高于所述
预置阈值,确定所述输入设备的输入控制灵敏度不满足预设要求。
可选地,所述确定单元304,用于检测与所述输入控制灵敏度相关的硬件
资源,当所述相关的硬件资源未被占用的余量低于预设门限值时,确定所述输
入设备的输入控制灵敏度不满足预设要求。
可选地,在上述可选实施例的基础上,参阅图6,本发明实施例提供的检
测装置30的另一可选实施例中,所述检测装置30还包括展示单元305,
所述确定单元304,还用于确定当前占用所述相关的硬件资源的进程;
所述展示单元305,用于展示所述确定单元304确定的所述进程。
以上,本申请所描述的输入控制灵敏度的检测装置30的任一实施例或可选
实施例都可以参阅图1至图4部分的相关描述进行理解,本处不做过多赘述。
图7是本发明实施例提供的输入控制灵敏度的检测装置30的结构示意图。
所述输入控制灵敏度的检测装置30包括处理器310、存储器350和输入/输出设
备330,输入/输出设备330可以包括鼠标、键盘、触摸屏和显示器,存储器350
可以包括只读存储器和随机存取存储器,并向处理器310提供操作指令和数据。
存储器350的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器350存储了如下的元素,可执行模块或者数据
结构,或者他们的子集,或者他们的扩展集:
在本发明实施例中,通过调用存储器350存储的操作指令(该操作指令可
存储在操作系统中),
将输入设备进行输入控制所产生的输入中断事件添加到所述输入设备的
输入事件队列中;
记录所述输入中断事件进入所述输入事件队列的进入量化参数;
记录输入事件调用程序从所述输入事件队列中取出所述输入中断事件的
取出量化参数;
当所述进入量化参数与所述取出量化参数之间的差值高于预置阈值时,确
定所述输入设备的输入控制灵敏度不满足预设要求。
与现有技术中通过处理器和内存的占用量来检测输入控制灵敏度,导致检
测不准确相比,本发明实施例提供的输入控制灵敏度的检测装置,可以通过输
入中断事件的进入和取出的量化参数的差值进行确定,从而提高了输入控制灵
敏度检测的精确度。
处理器310控制输入控制灵敏度的检测装置30的操作,处理器310还可以称
为CPU(Central Processing Unit,中央处理单元)。存储器350可以包括只读存
储器和随机存取存储器,并向处理器310提供指令和数据。存储器350的一部分
还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中输入控制灵
敏度的检测装置30的各个组件通过总线系统320耦合在一起,其中总线系统320
除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但
是为了清楚说明起见,在图中将各种总线都标为总线系统320。
上述本发明实施例揭示的方法可以应用于处理器310中,或者由处理器310
实现。处理器310可能是一种集成电路芯片,具有信号的处理能力。在实现过
程中,上述方法的各步骤可以通过处理器310中的硬件的集成逻辑电路或者软
件形式的指令完成。上述的处理器310可以是通用处理器、数字信号处理器
(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编
程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行
本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理
器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方
法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬
件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储
器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存
储介质中。该存储介质位于存储器350,处理器310读取存储器350中的信息,
结合其硬件完成上述方法的步骤。
可选地,所述处理器310用于当所述进入量化参数为进入速度,所述取出
量化参数为取出速度时,当所述进入速度与所述取出速度的差值高于所述预置
阈值,确定所述输入设备的输入控制灵敏度不满足预设要求。
可选地,所述处理器310用于当所述进入量化参数为进入数量,所述取出
量化参数为取出数量时,当所述进入数量与所述取出数量的差值高于所述预置
阈值,确定所述输入设备的输入控制灵敏度不满足预设要求。
可选地,所述处理器310用于检测与所述输入控制灵敏度相关的硬件资源,
当所述相关的硬件资源未被占用的余量低于预设门限值时,确定所述输入设备
的输入控制灵敏度不满足预设要求。
可选地,所述处理器310还用于确定当前占用所述相关的硬件资源的进程;
所述输入输出设备330用于展示确定的所述进程。
以上的输入控制灵敏度的检测装置30可以参阅图1至图6部分的相关描述
进行理解,本处不做过多赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步
骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读
存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的输入控制灵敏度的检测方法以及检测装置
进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐
述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,
对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围
上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。