CN113505029A - 延迟测试方法和相关装置 - Google Patents

延迟测试方法和相关装置 Download PDF

Info

Publication number
CN113505029A
CN113505029A CN202110651219.8A CN202110651219A CN113505029A CN 113505029 A CN113505029 A CN 113505029A CN 202110651219 A CN202110651219 A CN 202110651219A CN 113505029 A CN113505029 A CN 113505029A
Authority
CN
China
Prior art keywords
time
delay
hardware
touch screen
test apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110651219.8A
Other languages
English (en)
Other versions
CN113505029B (zh
Inventor
王仁洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202110651219.8A priority Critical patent/CN113505029B/zh
Publication of CN113505029A publication Critical patent/CN113505029A/zh
Application granted granted Critical
Publication of CN113505029B publication Critical patent/CN113505029B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Telephone Function (AREA)

Abstract

本申请实施例公开了一种延迟测试方法和相关装置,该方法包括:延迟测试装置接收硬件测试装置测量得到的用户手指触摸终端设备的触摸屏的第一时刻;将该第一时刻转换为终端设备的硬件驱动开始响应该用户手指触摸触摸屏的操作的第二时刻;输出延迟信息;该延迟信息包括硬件驱动延迟,该硬件驱动延迟为第二时刻到输入处理的开始时刻的时长,该输入处理由该用户手指触摸所述触摸屏的操作触发。延迟测试装置通过将第一时刻转换为终端设备的硬件驱动开始响应用户手指触摸触摸屏的操作的第二时刻,能够获得精确地用户点击或者滑动终端设备的触摸屏的时刻。

Description

延迟测试方法和相关装置
技术领域
本申请涉及终端领域,尤其涉及一种延迟测试方法和相关装置。
背景技术
手机、平板电脑、智能手表、人机交互机器人等可通过触摸屏接收用户的点击操作和/或滑动操作的终端设备,在日常生活中的应用越来越广泛。例如,用户可通过滑动手机的屏幕显示的界面来实现界面切换。又例如,用户通过点击手机桌面上的任意应用来启动该应用。又例如,人们点击操作和/或滑动操作与人机交互机器人进行交互。
用户点击或者滑动终端设备(即通过触摸屏接收用户的点击操作和/或滑动操作的终端设备)的触摸屏到该触摸屏发生变化会有一定的延迟。应理解,用户点击或者滑动终端设备的触摸屏的时刻与该触摸屏发生变化的时刻越接近(即延迟越短),用户体验越好。如何准确地测试用户点击或者滑动终端设备的触摸屏到该触摸屏发生变化所涉及的延迟是当前需要研究的问题。
发明内容
本申请实施例公开了一种延迟测试方法和相关装置,能够准确地测量用户点击或者滑动终端设备的触摸屏的时刻。
第一方面,本申请实施例提供了一种延迟测试方法,该方法包括:延迟测试装置接收硬件测试装置测量得到的用户手指触摸终端设备的触摸屏的第一时刻;所述第一时刻为所述硬件测试装置的时间;所述延迟测试装置将所述第一时刻转换为所述终端设备的硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的第二时刻;所述第二时刻为所述终端设备的时间;所述延迟测试装置输出延迟信息;所述延迟信息包括硬件驱动延迟,所述硬件驱动延迟为所述第二时刻到输入处理的开始时刻的时长,所述输入处理由所述用户手指触摸所述触摸屏的操作触发。
本申请实施例中,延迟测试装置将第一时刻转换为终端设备的硬件驱动开始响应用户手指触摸触摸屏的操作的第二时刻,能够获得精确地用户点击或者滑动终端设备的触摸屏的时刻。另外,硬件驱动延迟为第二时刻到输入处理的开始时刻的时长,可以准确地确定硬件驱动延迟。
在一种可能的实现方式中,所述延迟信息还包括以下一项或多项:输入传输延迟、绘制延迟、渲染延迟、合成延迟、显示延迟;所述输入传输延迟为输入处理的时长,所述绘制延迟为绘制处理的时长,所述渲染延迟为渲染处理的时长,所述合成延迟为合成处理的时长,所述显示延迟为显示处理的时长;所述输入处理、所述绘制处理、所述渲染处理、所述合成处理、所述显示处理均为所述终端设备响应所述用户手指触摸所述触摸屏的操作执行的操作。
在该实现方式中,延迟信息包括输入传输延迟、绘制延迟、渲染延迟、合成延迟、显示延迟中的一项或多项,可以使得测试人员(或研发人员)直观的知道用户点击或者滑动触摸屏到该触摸屏显示的画面发生变化涉及的各环节的延迟,从而快速地定位出导致延迟较长的环节。
在一种可能的实现方式中,所述延迟测试装置将所述第一时刻转换为所述终端设备的硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的第二时刻包括:所述延迟测试装置根据时钟差信息,将所述第一时刻转换为所述硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的所述第二时刻;所述时钟差信息包括所述延迟测试装置与所述硬件测试装置之间的第一时钟差以及所述延迟测试装置与所述终端设备之间的第二时钟差。
在该实现方式中,延迟测试装置根据时钟差信息,能够精确地将第一时刻转换为硬件驱动开始响应用户手指触摸触摸屏的操作的第二时刻。
在一种可能的实现方式中,所述时钟差信息还包括时钟漂移常量,所述时钟漂移常量表征所述延迟测试装置和所述终端设备之间的时钟漂移。
在该实现方式中,时钟差信息还包括时钟漂移常量。延迟测试装置根据时钟差信息,将第一时刻转换为第二时刻,由于考虑了延迟测试装置和终端设备之间的时钟漂移,可以使得第二时刻更接近真实的用户手指触摸触摸屏的时刻。
在一种可能的实现方式中,所述时钟差信息、所述第一时刻以及所述第二时刻满足如下公式:
walt_phone=walt_t+pw_delta+ph_delta+clock_fly;
其中,所述walt_phone表示所述第二时刻,所述walt_t表示第一时刻,所述pw_delta表示所述第一时钟差,ph_delta表示所述第二时钟差,clock_fly为所述时钟漂移常量。
在该实现方式中,根据时钟差信息,可以准确地将第一时刻转换为第二时刻。
在一种可能的实现方式中,所述时钟差信息、所述第一时刻以及所述第二时刻满足如下公式:
walt_phone=walt_t+pw_delta+ph_delta;
其中,所述walt_phone表示所述第二时刻,所述walt_t表示第一时刻,所述pw_delta表示所述第一时钟差,ph_delta表示所述第二时钟差。
在该实现方式中,根据时钟差信息,可以准确地将第一时刻转换为第二时刻。
在一种可能的实现方式中,所述第一时钟差由第四时刻、第五时刻以及第六时刻得到,所述第四时刻为所述延迟测试装置向所述硬件测试装置发送第一通信请求的时刻,所述第五时刻为所述延迟测试装置接收到来自所述硬件测试装置的第一反馈信息的时刻,所述第六时刻表示所述硬件测试装置接收到所述第一通信请求之后通过所述第一反馈信息反馈的所述硬件测试装置的时刻。
在该实现方式中,第一时钟差由第四时刻、第五时刻以及第六时刻得到,该第一时钟差可精确地衡量延迟测试装置与硬件测试装置之间的时钟差。
在一种可能的实现方式中,所述第二时钟差由第七时刻、第八时刻以及第九时刻得到,所述第七时刻为所述延迟测试装置向所述终端设备发送第二通信请求的时刻,所述第八时刻为所述延迟测试装置接收到来自所述终端设备的第二反馈信息的时刻,所述第九时刻表示所述终端设备接收到所述第二通信请求之后通过所述第二反馈信息反馈的所述终端设备的时刻。
在该实现方式中,第二时钟差由第七时刻、第八时刻以及第九时刻得到,该第二时钟差可精确地衡量延迟测试装置与终端设备之间的时钟差。
在一种可能的实现方式中,在所述延迟测试装置输出延迟信息之前,所述方法还包括:根据来自所述终端设备的多帧截图和目标信息,确定所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻;所述多帧截图为所述触摸屏待显示的图像,所述目标信息包含与所述用户手指触摸所述触摸屏的操作相关的事件的时间;根据所述显示处理的开始时刻和所述目标信息,确定所述输入处理的开始时刻;根据所述第二时刻和所述输入处理的开始时刻,确定所述硬件驱动延迟。
在该实现方式中,根据来自终端设备的多帧截图和目标信息,可以较准确地确定用户手指触摸触摸屏的操作触发的显示处理的开始时刻;进而确定硬件驱动延迟。
在一种可能的实现方式中,所述根据来自所述终端设备的多帧截图和目标信息,确定所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻包括:获取所述多帧截图中的目标截图对应的目标时刻;所述多帧截图按时间戳先后顺序排列,所述目标截图与其前一帧截图的相似度低于相似度阈值,所述多帧截图中位于所述目标截图之前的任意两帧截图的相似度高于所述相似度阈值;将所述目标信息包含的多个显示处理的开始时刻中,在所述目标时刻之后且与所述目标时刻间隔最短的开始时刻,作为所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻。
目标信息可记录有多个显示处理的开始时刻。解析目标信息可得到多个显示处理的开始时刻。所述目标信息包含的多个显示处理的开始时刻可以是所述目标信息记录的多个显示处理的开始时刻。例如,目标信息为systrace文本。目标截图可理解为所述多帧截图中第一帧变化的截图。目标截图对应的目标时刻可以是该目标截图对应的时间戳所对应的时刻。由于所述多帧截图为所述用户手指触摸所述触摸屏之后所述触摸屏待显示的图像,因此所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻必然在所述目标时刻之后且与所述目标时刻间隔最短。
在该实现方式中,可以快速、准确地获得用户手指触摸触摸屏的操作触发的显示处理的开始时刻。
第二方面,本申请实施例提供另一种延迟测试方法,该方法包括:硬件测试装置的激光测量电路在检测到从终端设备的触摸屏上方通过的测量激光中断时,记录第一时刻;所述测量激光与所述触摸屏位于同一水平线;所述硬件测试装置向延迟测试装置发送所述第一时刻,所述第一时刻用于所述延迟测试装置获取所述第一时刻到响应时刻的响应延迟,所述响应时刻为所述终端设备响应用户手指触摸所述触摸屏的时刻,所述用户手指触摸所述触摸屏时所述测量激光中断。
本申请实施例中,硬件测试装置可精确地检测并记录从终端设备的触摸屏上方通过的测量激光中断的第一时刻,以便延迟测试装置获得响应延迟。
在一种可能的实现方式中,所述第一时刻为所述硬件测试装置的时间,所述第一时刻用于被所述延迟测试装置转换为所述硬件驱动开始响应所述用户手指触摸所述触摸屏的时刻。所述第一时刻被转换为所述终端设备的时刻,即为所述硬件驱动开始响应所述用户手指触摸所述触摸屏的时刻。
在该实现方式中,第一时刻可精确地反映用户手指触摸触摸屏的时刻。第一时刻被延迟测试装置转换为硬件驱动开始响用户手指触摸触摸屏的时刻,以便准确地获取硬件驱动延迟。
在一种可能的实现方式中,所述激光测量电路包括目标传感器和电流检测电路;所述目标传感器用于接收所述测量激光,所述目标传感器在接收到激光时生成电流;所述检测到从终端设备的触摸屏上方通过的测量激光中断包括:所述电流检测电路检测到所述目标传感器在当前时刻未生成电流。
在该实现方式中,电流检测电路检测目标传感器在当前时刻是否生成电流,可准确地反映从终端设备的触摸屏上方通过的测量激光是否中断。
在一种可能的实现方式中,所述方法还包括:所述硬件测试装置在接收到来自所述延迟测试装置的第一通信请求之后,获取所述硬件测试装置的第六时刻;所述硬件测试装置向所述延迟测试装置发送第一反馈信息,所述第一反馈信息指示所述第六时刻;所述第六时刻用于所述延迟测试装置获得与所述硬件测试装置之间的时钟差。
在该实现方式中,通过第一反馈信息指示第六时刻,可以使得延迟测试装置获得与硬件测试装置之间的时钟差。
第三方面,本申请实施例提供一种延迟测试装置,包括:收发单元,用于接收硬件测试装置测量得到的用户手指触摸终端设备的触摸屏的第一时刻;所述第一时刻为所述硬件测试装置的时间;处理单元,用于将所述第一时刻转换为所述终端设备的硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的第二时刻;所述第二时刻为所述终端设备的时间;输出单元,用于输出延迟信息;所述延迟信息包括硬件驱动延迟,所述硬件驱动延迟为所述第二时刻到输入处理的开始时刻的时长,所述输入处理由所述用户手指触摸所述触摸屏的操作触发。
本申请实施例中,延迟测试装置将第一时刻转换为终端设备的硬件驱动开始响应用户手指触摸触摸屏的操作的第二时刻,能够准确地测量用户点击或者滑动终端设备的触摸屏的时刻。另外,硬件驱动延迟为第二时刻到输入处理的开始时刻的时长,可以准确地确定硬件驱动延迟。
在一种可能的实现方式中,所述延迟信息还包括以下一项或多项:输入传输延迟、绘制延迟、渲染延迟、合成延迟、显示延迟;所述输入传输延迟为输入处理的时长,所述绘制延迟为绘制处理的时长,所述渲染延迟为渲染处理的时长,所述合成延迟为合成处理的时长,所述显示延迟为显示处理的时长;所述输入处理、所述绘制处理、所述渲染处理、所述合成处理、所述显示处理均为所述终端设备响应所述用户手指触摸所述触摸屏的操作执行的操作。
在一种可能的实现方式中,所述处理单元,具体用于根据时钟差信息,将所述第一时刻转换为所述硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的所述第二时刻;所述时钟差信息包括所述延迟测试装置与所述硬件测试装置之间的第一时钟差以及所述延迟测试装置与所述终端设备之间的第二时钟差。
在一种可能的实现方式中,所述时钟差信息还包括时钟漂移常量,所述时钟漂移常量表征所述延迟测试装置和所述终端设备之间的时钟漂移。
在一种可能的实现方式中,所述第一时钟差由第四时刻、第五时刻以及第六时刻得到,所述第四时刻为所述延迟测试装置向所述硬件测试装置发送第一通信请求的时刻,所述第五时刻为所述延迟测试装置接收到来自所述硬件测试装置的第一反馈信息的时刻,所述第六时刻表示所述硬件测试装置接收到所述第一通信请求之后通过所述第一反馈信息反馈的所述硬件测试装置的时刻。
在一种可能的实现方式中,所述收发单元,还用于向所述硬件测试装置发送所述第一通信请求;接收来自所述硬件测试装置的所述第一反馈信息。
在一种可能的实现方式中,所述第二时钟差由第七时刻、第八时刻以及第九时刻得到,所述第七时刻为所述延迟测试装置向所述终端设备发送第二通信请求的时刻,所述第八时刻为所述延迟测试装置接收到来自所述终端设备的第二反馈信息的时刻,所述第九时刻表示所述终端设备接收到所述第二通信请求之后通过所述第二反馈信息反馈的所述终端设备的时刻。
在一种可能的实现方式中,所述收发单元,还用于向所述终端设备发送所述第二通信请求;接收到来自所述终端设备的所述第二反馈信息。
在一种可能的实现方式中,所述处理单元,还用于根据来自所述终端设备的多帧截图和目标信息,确定所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻;所述多帧截图为所述触摸屏待显示的图像,所述目标信息包含与所述用户手指触摸所述触摸屏的操作相关的事件的时间;所述处理单元,具体用于根据所述第二时刻和所述输入处理的开始时刻,确定所述硬件驱动延迟。
在一种可能的实现方式中,所述收发单元,还用于接收来自所述终端设备的多帧截图和所述目标信息。
在一种可能的实现方式中,所述处理单元,具体用于获取所述多帧截图中的目标截图对应的目标时刻;所述多帧截图按时间戳先后顺序排列,所述目标截图与其前一帧截图的相似度低于相似度阈值,所述多帧截图中位于所述目标截图之前的任意两帧截图的相似度高于所述相似度阈值;将所述目标信息包含的多个显示处理的开始时刻中,在所述目标时刻之后且与所述目标时刻间隔最短的开始时刻,作为所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻。
关于第三方面或各种可能的实施方式所带来的技术效果,可参考对于第一方面或相应的实现方式的技术效果的介绍。
第四方面,本申请实施例提供一种硬件测试装置,该硬件测试装置包括:激光测量电路,用于在检测到从终端设备的触摸屏上方通过的测量激光中断时,记录第一时刻;所述测量激光与所述触摸屏位于同一水平线;收发单元,用于向延迟测试装置发送所述第一时刻,所述第一时刻用于所述延迟测试装置获取所述第一时刻到响应时刻的响应延迟,所述响应时刻为所述终端设备响应用户手指触摸所述触摸屏的时刻,所述用户手指触摸所述触摸屏时所述测量激光中断。
本申请实施例中,硬件测试装置可精确地检测并记录从终端设备的触摸屏上方通过的测量激光中断的第一时刻,以便延迟测试装置获得响应延迟。
在一种可能的实现方式中,所述第一时刻为所述硬件测试装置的时间,所述第一时刻用于被所述延迟测试装置转换为所述硬件驱动开始响应所述用户手指触摸所述触摸屏的时刻。
在一种可能的实现方式中,所述激光测量电路包括目标传感器和电流检测电路;所述目标传感器用于接收所述测量激光,所述目标传感器在接收到激光时生成电流;所述电流检测电路,用于检测所述目标传感器生成的电流;所述第一时刻为所述电流检测电路未检测到所述目标传感器生成的电流的时刻。
在一种可能的实现方式中,所述收发单元,还用于接收到来自所述延迟测试装置的第一通信请求;所述激光测量电路还用于获取所述硬件测试装置的第六时刻;所述收发单元,还用于向所述延迟测试装置发送第一反馈信息,所述第一反馈信息指示所述第六时刻;所述第六时刻用于所述延迟测试装置获得与所述硬件测试装置之间的时钟差。
关于第四方面或各种可能的实施方式所带来的技术效果,可参考对于第二方面或相应的实现方式的技术效果的介绍。
第五方面,本申请实施例提供了一种终端设备,该终端设备包括:一个或多个处理器、存储器;该存储器与该一个或多个处理器耦合,该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令,该一个或多个处理器用于调用该计算机指令以使得该终端设备执行:接收硬件测试装置测量得到的用户手指触摸终端设备的触摸屏的第一时刻;所述第一时刻为所述硬件测试装置的时间;将所述第一时刻转换为所述终端设备的硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的第二时刻;所述第二时刻为所述终端设备的时间;输出延迟信息;所述延迟信息包括硬件驱动延迟,所述硬件驱动延迟为所述第二时刻到输入处理的开始时刻的时长,所述输入处理由所述用户手指触摸所述触摸屏的操作触发。
结合第五方面,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该终端设备执行:根据时钟差信息,将所述第一时刻转换为所述硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的所述第二时刻;所述时钟差信息包括所述延迟测试装置与所述硬件测试装置之间的第一时钟差以及所述延迟测试装置与所述终端设备之间的第二时钟差。
结合第五方面,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该终端设备执行:根据来自所述终端设备的多帧截图和目标信息,确定所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻;所述多帧截图为所述触摸屏待显示的图像,所述目标信息包含与所述用户手指触摸所述触摸屏的操作相关的事件的时间;根据所述第二时刻和所述输入处理的开始时刻,确定所述硬件驱动延迟。
结合第五方面,在一些实施例中,该一个或多个处理器,还用于调用该计算机指令以使得该终端设备执行:获取所述多帧截图中的目标截图对应的目标时刻;所述多帧截图按时间戳先后顺序排列,所述目标截图与其前一帧截图的相似度低于相似度阈值,所述多帧截图中位于所述目标截图之前的任意两帧截图的相似度高于所述相似度阈值;将所述目标信息包含的多个显示处理的开始时刻中,在所述目标时刻之后且与所述目标时刻间隔最短的开始时刻,作为所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻。
第六方面,本申请实施例提供了一种芯片,该芯片应用于终端设备,该芯片包括一个或多个处理器,该处理器用于调用计算机指令以使得该电子设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
第七方面,本申请实施例提供一种包含指令的计算机程序产品,当上述计算机程序产品在终端设备上运行时,使得上述终端设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
第八方面,本申请实施例提供一种计算机可读存储介质,包括指令,当上述指令在电子设备上运行时,使得上述终端设备执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
第九方面,本申请实施例提供一种延迟测试***,该延迟测试***包括延迟测试装置、硬件测试装置以及终端设备,所述延迟测试装置用于执行如第一方面以及第一方面中任一可能的实现方式描述的方法,所述硬件测试装置用于如第二方面以及第二方面中任一可能的实现方式描述的方法,所述终端设备用于执行如第一方面以及第一方面中任一可能的实现方式中的终端设备实现的操作。
可以理解地,上述第五方面提供的终端设备、第六方面提供的芯片、第七方面提供的计算机程序产品和第八方面提供的计算机存储介质均用于执行本申请实施例所提供的方法。因此,其所能达到的有益效果可参考对应方法中的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为本申请提供的一种硬件测试装置的举例;
图2为本申请实施例提供的一种用户点击或者滑动终端设备的触摸屏到该触摸屏显示的画面发生变化的整个流程中涉及的多个环节的延迟的示意图;
图3为本申请实施例提供的一种延迟测试场景的示例;
图4为本申请实施例提供的一种延迟测试方法交互流程图;
图5为本申请提供的一种T1、T2以及T的示意图;
图6为本申请提供的一种T3、T4以及T’的示意图;
图7为本申请提供的截屏工具采集的多帧截图的示意图;
图8为本申请提供的一种systrace文本的可视化示意图的示例;
图9为本申请实施例提供的一种延迟测试装置的结构示意图;
图10为本申请实施例提供的一种硬件测试装置的结构示意图;
图11为本申请实施例提供的一种终端设备的结构示意图;
图12为本申请实施例提供的另一种延迟测试装置的结构示意图;
图13为本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。本申请中使用的术语“多个”是指两个或两个以上。
为了便于理解,下面先对本申请实施例涉及的相关术语进行介绍。
(1)截屏工具
截屏工具用于获取终端设备的触摸屏(或者称屏幕)显示的画面。截屏工具可以是终端设备上运行的一个软件工具或者进程。例如,截屏工具是minicap。minicap是一个截屏并实时传输的工具,即可获取屏幕(例如触摸屏)显示的每帧图像的屏幕截屏工具。minicap的技术特点包括:实时截屏;通过socket通信传送截屏数据(即屏幕截图)。socket通信是一种进程间通信机制,与其他通信机制不同的是,它可用于不同机器间的进程通信。例如,终端设备运行的minicap通过socket通信将截屏数据传输给延迟测试装置(例如电脑),该延迟测试装置可实时查看运行终端设备(例如手机)的画面。
(2)事件记录工具。
事件记录工具用于记录终端设备的各种事件及其各种事件发生的时间。事件记录工具可以是终端设备上运行的systrace进程,也可以是其他可记录终端设备的各种事件及其各种事件发生的时间的进程或应用。事件记录工具记录的终端设备的各种事件可包括用户点击或者滑动终端设备的触摸屏到该触摸屏显示的画面发生变化所涉及的各种事件。systrace进程主要记录手机操作的各种事件及其各种事件发生的时间,并生成systrace文本。通过解析systrace文本,可获取各种事件的时间。systrace进程是一种性能数据采样和分析工具。它可帮助开发者收集android关键子***的运行信息,从而帮助开发者更直观的分析***瓶颈,改进性能。systrace的功能包括跟踪***的输入/输出(input/output,I/O)操作、内核工作队列、中央处理器(central processing unit,CPU)负载以及android各个子***的运行状况等。使用systrace进程的一个示例如下:手机准备好待抓取的界面;点击开始抓取(命令行的话就是开始执行命令);手机上开始操作(不要太长时间);设定好的时间到了之后,将生成Trace.html文件(即systrace文本),使用浏览器将这个文件打开进行分析。
(3)硬件测试装置
硬件测试装置可以是一种用于测量终端设备的触摸屏被点击或滑动的时刻的硬件。图1为本申请提供的一种硬件测试装置的举例。如图1所示,硬件测试装置(walt)包括两部分,一部分(图中左侧部分)部署有激光头,另一部分(图中右侧部分)部署有传感器和LED(light emitting diode)灯,该传感器与该LED灯连接。参阅图1,硬件测试装置的激光头打在传感器上并保持激光与手机屏幕(对应于终端设备的触摸屏)在同一水平线上。当手指触摸屏幕时,激光被挡住,传感器连接的LED灯发生变化(例如点亮或关闭),该硬件测试装置将LED灯发生变化的时刻传给延迟测试装置(例如电脑),由此得到准确的手指触摸屏幕的时刻。硬件测试装置可仅包括图1中右侧部分的电路,即图1中左侧部分的电路属于另一个硬件,例如一个可发射激光的激光装置。本申请中的硬件测试装置是指能够准确测量手指触摸终端设备的触摸屏的时刻的硬件,并且延迟测试装置可将硬件测试装置测量得到的手指触摸终端设备的触摸屏的时刻转换为终端设备的时刻。本申请仅示出了硬件测试装置的部分示例,而不是全部示例。
下面以手机为例,介绍如何测试用户点击或者滑动终端设备的触摸屏的时刻到该触摸屏显示的画面发生变化的时刻的时长(或者说延迟),即点击操作或滑动操作的响应延迟。进一步,以手机为例,介绍用户点击或者滑动终端设备的触摸屏到该触摸屏显示的画面发生变化的整个流程中涉及的各环节(或各阶段)的延迟。一个环节的延迟是指该环节消耗的时长。
用户点击或者滑动手机的屏幕到该屏幕显示的画面发生变化的整个流程涉及多个环节,例如硬件驱动,输入(input)处理,用户界面(userinterface,UI)处理,合成处理,液晶显示器(liquid crystal display,LCD)显示等。图2为本申请实施例提供的一种用户点击或者滑动终端设备的触摸屏到该触摸屏显示的画面发生变化的整个流程中涉及的多个环节的延迟的示意图。如图2所示,时长1表示硬件驱动延迟,时长2表示input传输延迟(对应于input处理),时长3表示绘制延迟(对应于绘制处理,例如CPU绘制),时长4表示渲染延迟(对应于渲染处理),时长5表示合成延迟(对应于合成处理),时长6表示显示延迟(对应于显示处理)。应理解,用户点击或者滑动手机的屏幕到该屏幕显示的画面发生变化的整个流程涉及的环节可与图2示出的各环节和/或各环节的执行的先后顺序不同。
目前采用的延迟测试方案仅关注端到端的响应延迟,即用户点击或者滑动终端设备的触摸屏的时刻到该触摸屏显示的画面发生变化的时刻的延迟。这样会出现无法知道用户点击或者滑动手机的屏幕到该屏幕显示的画面发生变化的延迟主要是哪个或哪些环节导致的问题。另外,目前采用的延迟测试方案是从终端设备的日志中获取用户的点击时刻(或者滑动时刻),与用户真实的点击时刻是有一定时间差的,因此无法准确地衡量硬件驱动的延迟。点击时刻是指用户点击终端设备的触摸屏的时刻。滑动时刻是指用户滑动终端设备的触摸屏的时刻。本申请提供的延迟测试方案可测试得到各环节的延迟,例如硬件驱动延迟、input传输延迟、绘制延迟、渲染延迟、合成延迟以及显示延迟。进一步的,本申请还提供通过硬件测试装置测试手指触摸屏幕的时刻的方案,能准确获取用户的点击时刻(或滑动时刻),进而计算得到硬件驱动的延迟,精确度高。
下面结合附图介绍本申请实施例提供的一种延迟测试场景的示例。
图3为本申请实施例提供的一种延迟测试场景的示例。图3中,301表示终端设备(例如手机)、302表示延迟测试装置、303表示硬件测试装置。例如,硬件测试装置303是图1示出的硬件电路,终端设备301是图1示出的手机。延迟测试装置302与终端设备301之间可实现数据和/或指令的传输。例如,延迟测试装置可获取终端设备的截图数据和systrace文本。延迟测试装置302与硬件测试装置303之间可实现数据和/或指令的传输。例如,延迟测试装置可通过与硬件测试装置之间的socket通信获取该硬件测试装置测量的手指触摸终端设备的触摸屏的时刻。本申请中,终端设备是指具有触摸屏且可接收点击操作和/或滑动操作的设备,例如手机、平板电脑、智能手表、人机交互机器人等具备触摸屏的设备。本申请中,延迟测试装置是可分别与硬件测试装置和终端设备进行数据交互,并且具备数据处理能力的装置。例如,延迟测试装置可以是笔记本电脑、台式电脑、个人计算机(personalcomputer,PC)、平板电脑等。
下面结合附图介绍在图3的延迟测试场景中可能采用的延迟测试方案。
图4为本申请实施例提供的一种延迟测试方法交互流程图。如图4所示,该交互流程包括:
401、硬件测试装置测量用户手指触摸终端设备的触摸屏的第一时刻,并将该第一时刻发送给延迟测试装置。
示例性的,硬件测试装置为图1示出的硬件电路(包括位于手机左侧的电路和位于手机右侧的电路)。步骤401一种可能的实现方式如下:硬件测试装置的激光头打在传感器上并保持激光与手机屏幕(即终端设备的触摸屏)在同一水平线上。当用户手指触摸屏幕时,激光被挡住,传感器连接的LED灯发生变化(例如点亮或关闭)。该硬件测试装置将LED灯发生变化的时刻传给延迟测试装置(例如电脑)。例如,硬件测试装置通过与延迟测试装置之间的socket通信,将LED灯发生变化的时刻传给延迟测试装置。
示例性的,硬件测试装置为图1示出的位于手机右侧的电路。步骤401一种可能的实现方式如下:激光装置(图1示出的位于手机左侧的电路)的激光头打在硬件测试装置的传感器上并保持激光与手机屏幕(即终端设备的触摸屏)在同一水平线上。当用户手指触摸屏幕时,激光被挡住,传感器连接的LED灯发生变化(例如发光)。该硬件测试装置将LED灯发生变化的时刻传给延迟测试装置(例如电脑)。
402、延迟测试装置将硬件测试装置的第一时刻转换为终端设备的第二时刻。
示例性的,延迟测试装置将硬件测试装置的第一时刻转换为终端设备的第二时刻满足如下公式:
walt_phone=walt_t+pw_delta+ph_delta+clock_fly (1);
其中,walt_phone表示第二时刻(即终端设备的时刻),walt_t表示第一时刻(即硬件测试装置的时刻),pw_delta表示延迟测试装置与硬件测试装置的时钟差,ph_delta表示延迟测试装置与终端设备的时钟差,clock_fly为延迟测试装置与终端设备长时间同步操作得到的时钟漂移常量。
pw_delta可以是多次测量得到的延迟测试装置与硬件测试装置的多个时钟差的平均值,每次测量得到一个时钟差。例如,pw_delta=(delta1+delta2+…+deltan)/n,其中,delta1、delta2、…、deltan分别为n次测量的延迟测试装置与硬件测试装置的时钟差。n为大于1的整数。delta1可视为第1次测量得到的延迟测试装置与硬件测试装置的时钟差。deltan可视为第n次测量得到的延迟测试装置与硬件测试装置的时钟差。以第n次测量延迟测试装置与硬件测试装置的时钟差为例,deltan=(T1+T2)/2-T。T1表示延迟测试装置socket通信的发送时刻(即延迟测试装置向硬件测试装置发送socket通信请求的时刻),T2表示延迟测试装置socket通信的接收时刻(即延迟测试装置接收到硬件测试装置针对该socket通信请求发送的第一消息的时刻),T表示硬件测试装置接收到socket通信请求之后查询到的硬件测试装置的时刻。举例来说,延迟测试装置在T1时刻向硬件测试装置发送socket通信请求;该硬件测试装置在接收到该socket通信请求之后查询该硬件测试装置的当前时刻T,并向延迟测试装置发送携带或指示T的第一消息;该延迟测试装置在T2时刻接收到该第一消息。在该举例中,延迟测试装置可根据T1、T2以及根据第一消息获取的T,计算得到其与硬件测试装置的时钟差。图5为本申请提供的一种T1、T2以及T的示意图。在一些实施例中,延迟测试装置可多次测量与硬件测试装置之间的时钟差以得到多个时钟差,再计算该多个时钟差的平均值以得到pw_delta。
ph_delta可以是多次测量得到的延迟测试装置与终端设备的多个时钟差的平均值,每次测量得到一个时钟差。例如,ph_delta=(delta1’+delta2’+…+deltam’)/m,其中,delta1’、delta2’、…、deltam’分别为m次测量的延迟测试装置与硬件测试装置的时钟差。m为大于1的整数。m与n相同或不同。delta1’可视为第1次测量得到的延迟测试装置与终端设备的时钟差。deltam’可视为第m次测量得到的延迟测试装置与终端设备的时钟差。以第m次测量延迟测试装置与终端设备的时钟差为例,deltam’=(T3+T4)/2-T’。T3表示延迟测试装置socket通信的发送时刻(即延迟测试装置向终端设备发送socket通信请求的时刻),T4表示延迟测试装置socket通信的接收时刻(即延迟测试装置接收到终端设备针对该socket通信请求发送的第二消息的时刻),T’表示终端设备接收到socket通信请求之后查询到的该终端设备的时刻。举例来说,延迟测试装置在T3时刻向终端设备发送socket通信请求;该终端设备在接收到该socket通信请求之后查询其当前时刻T’,并向延迟测试装置发送携带或指示T’的第二消息;该延迟测试装置在T4时刻接收到该第二消息。在该举例中,延迟测试装置可根据T3、T4以及根据第二消息获取的T’,计算得到其与终端设备的时钟差。图6为本申请提供的一种T3、T4以及T’的示意图。在一些实施例中,延迟测试装置可多次测量与硬终端设备之间的时钟差以得到多个时钟差,再计算该多个时钟差的平均值以得到ph_delta。
公式(1)的原理可理解为:先将硬件测试装置的第一时刻转换为延迟测试装置的时刻,在将该延迟测试装置的时刻转换为终端设备的第二时刻。也就是说,通过延迟测试装置与硬件测试装置的时间转换,延迟测试装置与终端设备的时间转化,最终将硬件测试装置的第一时刻转换为终端设备的第二时刻。
示例性的,延迟测试装置将硬件测试装置的第一时刻转换为终端设备的第二时刻满足如下公式:
walt_phone=walt_t+pw_delta+ph_delta (2);
其中,walt_phone表示第二时刻(即终端设备的时刻),walt_t表示第一时刻(即硬件测试装置的时刻),pw_delta表示延迟测试装置与硬件测试装置的时钟差,ph_delta表示延迟测试装置与终端设备的时钟差。pw_delta可以是一次测量得到的延迟测试装置与硬件测试装置的时钟差,也可以是多次测量得到的延迟测试装置与硬件测试装置的多个时钟差的平均值。ph_delta可以一次测量得到的延迟测试装置与终端设备的时钟差,也可以是多次测量得到的延迟测试装置与终端设备的多个时钟差的平均值。
403、终端设备记录与点击操作或滑动操作相关的多种事件及其该多种事件发生的时间,并向延迟测试装置发送目标信息。
终端设备记录的与点击操作或滑动操作相关的多种事件可包括:用户点击(对应于点击操作)或者滑动(对应于滑动操作)终端设备的触摸屏到该触摸屏显示的画面发生变化所涉及的各种事件。终端设备可通过事件记录工具记录与点击操作或滑动操作相关的多种事件及其该多种事件发生的时间。目标信息用于延迟测试装置获得与点击操作或滑动操作相关的多种事件发生的时间(例如开始时刻),从而获得用户点击或者滑动终端设备的触摸屏到该触摸屏显示的画面发生变化的整个流程中涉及的各环节(对应于与点击操作或滑动操作相关的多种事件)的延迟。终端设备向延迟测试装置发送目标信息可替换为:延迟测试装置从终端设备获取目标信息。延迟测试装置从终端设备获取目标信息可以是:延迟测试装置通过adbpull指令从终端设备上获取目标信息。adb pull指令用于从终端设备(例如手机)中拉取信息到延迟测试装置(例如电脑)上。
延迟测试装置可控制事件记录工具的开始和结束(或者说停止)。举例来说,事件记录工具为systrace进程,目标信息为systrace文本,延迟测试装置可控制终端设备上的systrace进程的开始和/或结束。在该举例中,延迟测试装置可在用户点击或者滑动终端设备的触摸屏之前,控制systrace进程的开始(或者说启动),即systrace进程在用户点击或者滑动终端设备的触摸屏之前被拉起。在该举例中,延迟测试装置还可在systrace进程运行的时长达到第一时长之后,控制systrace进程的结束(或者说停止)。第一时长可以是根据实际需求设置的时长,例如50ms、100ms、1s、5s等。例如,用户点击或者滑动终端设备的触摸屏的时刻与该触摸屏显示的画面发生变化的时刻的延迟通常小于80ms,第一时长可设置为100ms。本申请提供的延迟测试方案中,需保证终端设备开始记录与点击操作或滑动操作相关的多种事件及其该多种事件发生的时间的时刻,在该点击操作或该滑动操作开始之前,即第二时刻之前。也就是说,终端设备在用户手指触摸终端设备的触摸屏之前,就开始记录与点击操作或滑动操作相关的多种事件及其该多种事件发生的时间。
404、终端设备将截屏工具获取的多帧截图传输给延迟测试装置。
步骤404一种可能的实现方式如下:终端设备将截屏工具从终端设备的内存(或寄存器)中获取的该终端设备的触摸屏待显示的多帧图像(即多帧截图)传输给延迟测试装置。也就是说,截屏工具截屏获取的多帧截图并不是截屏终端设备的触摸屏显示的画面得到的。
步骤404与步骤403的先后顺序不作限定。例如,终端设备通过截屏工具开始截屏的时刻与通过事件记录工具开始记录与点击操作或滑动操作相关的多种事件的时刻相同。又例如,终端设备通过截屏工具开始截屏的时刻,在通过事件记录工具开始记录与点击操作或滑动操作相关的多种事件的时刻之后。又例如,终端设备通过截屏工具开始截屏的时刻,在通过事件记录工具开始记录与点击操作或滑动操作相关的多种事件的时刻之前。本申请提供的延迟测试方案中,需要保证截屏工具开始截屏的时刻在点击操作或滑动操作开始之前,即第二时刻之前。也就是说,截屏工具在用户手指触摸终端设备的触摸屏之前,就开始截屏终端设备显示的画面。例如,终端设备在用户手指触摸终端设备的触摸屏之前,启动minicap进程。
图7为本申请提供的截屏工具采集的多帧截图的示意图。图7中,截图1、截图2、截图3、…、截图K、…为截屏工具采集的多帧截图,第一时间戳为截图1的时间戳,第二时间戳为截图2的时间戳,第K时间戳为截图K的时间戳,以此类推。K为大于1的整数。图7中,每帧截图对应一个时间戳,任意两帧截图的时间戳不同。如图7所示,前(K-1)帧截图均显示第一图像,第K帧图像显示第二图像,第二图像与第一图像不同。也就是说,第K帧截图为截屏工具采集的多帧截图中第一帧变化的截图。
举例来说,截屏工具为终端设备运行的minicap进程。在该举例中,截屏工具运行于终端设备,即图4中的截屏工具运行于图4中的终端设备。minicap进程主要负责截图,可获取终端设备显示的每帧图像的截图,并将获得的各帧截图保存。在该举例中,终端设备可通过adb pull命令将截屏工具得到的各帧截图传输给延迟测试装置,每帧截图对应一个时间戳。在该举例中,延迟测试装置可在用户点击或者滑动终端设备的触摸屏之前,控制minicap进程的开始(或者说启动),即minicap进程在用户点击或者滑动终端设备的触摸屏之前被拉起。在该举例中,延迟测试装置还可在minicap进程运行的时长达到第二时长之后,控制minicap进程的结束。第二时长可以是根据实际需求设置的时长,例如50ms、100ms、1s、5s等。第二时长与第一时长相同或不同。例如,用户点击或者滑动终端设备的触摸屏的时刻与该触摸屏显示的画面发生变化的时刻的延迟通常小于80ms,第二时长可设置为100ms。
405、延迟测试装置根据截屏工具获取的多帧截图,确定第三时刻。
第三时刻表示截屏工具获取的多帧截图中第一帧变化的截图对应的时刻。例如,第三时刻为截屏工具获取的多帧截图中第一帧变化的截图对应的时间戳所对应的时刻。
步骤406一种可能的实现方式如下:延迟测试装置通过图像识别算法识别出多帧截图中第一帧变化的截图,确定该帧截图(对应于目标截图)对应的时间戳所对应的第三时刻。进一步地,延迟测试装置可根据该时间戳(或第三时刻),解析systrace文本得到终端设备的触摸屏显示的画面发生变化的时刻。终端设备的触摸屏显示的画面发生变化(响应于步骤401中用户手指触摸触摸屏的操作)的时刻可以是在该时间戳(或第三时刻)之后且距离该时间戳最近的屏幕刷新时刻。终端设备的触摸屏显示画面可以是按照固定的刷新频率从内存中读取触摸屏当前待显示的图像,并使用当前待显示的图像替换(或者说刷新)当前显示的图像。也就是说,终端设备在每个屏幕刷新时刻从内存中读取一帧待显示的图像,并使用当前待显示的图像替换(或者说刷新)当前显示的图像。systrace文本可记录有多个屏幕刷新时刻(即使用待显示的图像替换当前显示的图像的时刻)。应理解,若终端设备的触摸屏待显示的图像与当前显示的图像相同,使用待显示的图像替换当前显示的图像(即刷新显示的画面)不会使得触摸屏显示的画面发生变化;若终端设备的触摸屏待显示的图像与当前显示的图像不同,使用待显示的图像替换当前显示的图像会使得触摸屏显示的画面发生变化。因此,终端设备的触摸屏显示的画面发生变化(响应于步骤401中用户手指触摸触摸屏的操作)的时刻必然在第三时刻之后,并且为距离该第三时刻最近的屏幕刷新时刻。
延迟测试装置通过图像识别算法识别出多帧截图中第一帧变化的截图的方式不作限定。举例来说,延迟测试装置获得的多帧截图按照对应的时间戳的先后顺序依次为截图1、截图2、截图3、……截图N,截图1为用户点击或滑动终端设备的触摸屏之前,截屏工具从终端设备的内存中获取的该终端设备待显示的图像,若截图2至截图5与截图1的相似度均超过相似度阈值,截图6与截图1的相似度未超过该相似度阈值,则该截图6为该多帧截图中第一帧变化的截图。相似度阈值可根据实际需求自行配置,例如0.85、0.9、0.95等。两帧截图的相似度可以是两帧截图中坐标相同像素值不同的像素点的个数与一帧截图中的像素点总个数的比值。
406、延迟测试装置根据目标信息和第三时刻,获取与点击操作或滑动操作相关的多种事件的开始时刻。
举例来说,事件记录工具为systrace进程,目标信息为systrace文本,步骤404一种可能的实现方式如下:延迟测试装置根据第三时刻和systrace文本(对应于目标信息),获取与点击操作或滑动操作相关的多种事件的开始时刻。与点击操作或滑动操作相关的多种事件的开始时刻可包括:input处理的开始时刻、绘制处理的开始时刻、渲染处理的开始时刻、合成处理的开始时刻以及显示处理的开始时刻。例如,延迟测试装置对systrace文本进行切片,仅保留步骤402得到的第二时刻以后的事件。延迟测试装置通过对切片后的systrace文本解析,获取input处理的开始时刻,根据406得到的第二时刻计算绘制处理的开始时刻、渲染处理的开始时刻、合成处理的开始时刻以及显示处理的开始时刻。延迟测试装置可通过关键字识别、时间计算等方式从systrace文本中解析得到与点击操作或滑动操作相关的多种事件(或各种事件)的开始时刻,例如,input处理的开始时刻、绘制处理的开始时刻、渲染处理的开始时刻、合成处理的开始时刻以及显示处理的开始时刻。
以获取input处理的开始时刻为例:
通过文本匹配(对应于关键字识别)到如下关键字,(sched_switch和next_comm=InputReader)且时间满足要求(例如在步骤402获得的第二时刻之后且距离该时刻最近)的情况下,获取当前事件的时间(即input处理的开始时刻):
<idle>-0(-----)[005]d..2 1149.187787:sched_switch:prev_comm=swapper/5prev_pid=0prev_prio=120prev_state=R==>next_comm=InputReadernext_pid=2469next_prio=112
获取当前事件的时间(对应于时间计算)的示例如下:通过正则匹配找到的文本,匹配到其中的时间戳1149.187787即为input处理的开始时刻。
以获取显示处理的开始时刻为例:
通过文本匹配(对应于关键字识别)到如下关键字,(VSYNC-sf)且时间满足要求(例如在步骤405获得的第三时刻之后且距离该时刻最近)的情况下,获取当前事件的时间(即显示处理的开始时刻),匹配到其中的时间戳1149.786178即为显示处理的开始时刻:
(1084)[006]....1149.786178:tracing_mark_write:C|1084|VSYNC-sf|0
同样的,根据终端设备由点击操作或滑动操作触发的显示流程(例如CPU绘制,GPU渲染、SurfaceFlinger合成,LCD显示),从systrace文本中向前倒推绘制处理(对应于CPU绘制)的开始时刻、渲染处理(对应于GPU渲染)的开始时刻、合成处理(对应于SurfaceFlinger合成)的开始时刻。
为方便理解如何通过解析systrace文本,获取与点击操作或滑动操作相关的多种事件的开始时刻。下面结合示例从可视化的角度来描述input处理的开始时刻。举例来说,终端设备上处理任务的CPU共有8个,分别为CPU0、CPU1、CPU2、CPU3、CPU4、CPU5、CPU6、CPU7,InputReader任务运行在CPU4上,查找到的InputReader在CPU4上的任务的开始时刻,即为input处理的开始时刻(或者说input处理事件的开始时间)。图8为本申请提供的一种systrace文本的可视化示意图的示例。图8示出了CPU4处理InputReader任务的开始时刻、处理任务A的开始时刻、处理任务B的开始时刻等;图8还示出了CPU5处理任务C的开始时刻、处理任务InputDispatcher的开始时刻等。应理解,通过解析systrace文本可获取各种事件的开始时刻。
前面描述了解析systrace文本获取Input处理的开始时刻的示例。应理解,延迟测试装置可采用相同或类似的方式获取与点击操作或滑动操作相关的多种事件的开始时刻。
407、延迟测试装置根据第二时刻、第三时刻以及与点击操作或滑动操作相关的多种事件的开始时刻,输出用户点击或者滑动终端设备的触摸屏到该触摸屏显示的画面发生变化的整个流程中涉及的多个环节的延迟。
第二时刻可视为硬件驱动的开始时刻(例如手机触摸屏幕的时刻)。与点击操作或滑动操作相关的多种事件的开始时刻可包括:input处理的开始时刻(即硬件驱动的结束时刻)、绘制处理的开始时刻(即input处理的结束时刻)、渲染处理的开始时刻(绘制处理的结束时刻)、合成处理的开始时刻(渲染处理的结束时刻)以及显示处理的开始时刻(合成处理的结束时刻)。硬件驱动延迟可以是input处理的开始时刻与第二时刻的差值。input传输延迟可以是绘制处理的开始时刻与input处理的开始时刻的差值。绘制延迟可以是渲染处理的开始时刻与绘制处理的开始时刻的差值。渲染延迟可以是合成处理的开始时刻与渲染处理的开始时刻的差值。合成延迟可以是显示处理的开始时刻与合成处理的开始时刻的差值。显示延迟可以是终端设备的触摸屏显示的画面发生变化的时刻与显示处理的开始时刻的差值。如图2所示,时长1表示硬件驱动延迟,时长2表示input传输延迟,时长3表示绘制延迟,时长4表示渲染延迟,时长5表示合成延迟,时长6表示显示延迟。本申请中,用户点击或者滑动终端设备的触摸屏到该触摸屏显示的画面发生变化的整个流程中涉及的多个环节的划分方式不作限定。例如,绘制延迟和渲染延迟可视为同一环节的延迟,也可以视为两个不同环节的延迟。又例如,合成延迟和显示延迟可视为同一环节的延迟,也可以视为两个不同环节的延迟。
本申请实施例中,使用硬件测试装置测量终端设备的触摸屏被点击或滑动的时刻,精确度高。另外,延迟测试装置测试并输出用户点击或者滑动终端设备的触摸屏到该触摸屏显示的画面发生变化的整个流程中涉及的多个环节的延迟,以便快速定位出导致延迟较长的环节。
前面描述了延迟测试装置可实现的多种操作。例如,延迟测试装置与硬件测试装置的交互,与终端设备的交互,获取与点击操作或滑动操作相关的多种事件的开始时刻等。下面结合延迟测试装置的功能模块来描述其如何实现上述操作。
图9为本申请实施例提供的一种延迟测试装置的结构示意图。如图9所示,延迟测试装置包括:数据同步模块、进程控制模块、数据解析模块、结果展示模块。图9示出了各模块的主要功能。图9中的各模块可视为软件测试框架中的模块,即响应时延拆解测试工具中的模块。
数据同步模块,用于与终端设备、硬件测试装置实现socket通信以及数据同步。延迟测试装置通过数据同步模块可实现与硬件测试装置之间的时钟同步,以及与终端设备之间的时钟同步。例如,延迟测试装置通过数据同步模块向硬件测试装置发送socket通信请求以及接收该硬件测试装置针对该socket通信请求发送的第一时刻。又例如,延迟测试装置通过数据同步模块向终端设备发送socket通信请求以及接收该终端设备针对该socket通信请求发送的该终端设备的时刻。
进程控制模块,用于控制终端设备上与日志抓取或图像抓取相关的进程的开始和结束。例如,延迟测试装置通过进程控制模块控制终端设备上的minicap进程的启动和/或停止。又例如,延迟测试装置通过进程控制模块控制终端设备上的systrace进程的启动和/或停止。minicap进程为终端设备上与图像抓取相关的进程。systrace进程为终端设备上与日志抓取相关的进程。
数据解析模块,用于计算用户点击或者滑动终端设备的触摸屏到该触摸屏显示的画面发生变化的整个流程中涉及的多个环节的延迟(耗时)。例如,数据解析模块,用于从终端设备获取目标信息以及截屏工具的多帧截图。又例如,数据解析模块,用于根据目标信息(systrace文本),获取与点击操作或滑动操作相关的多种事件的开始时刻。又例如,数据解析模块,用于根据截屏工具的多帧截图,确定终端设备的屏幕刷新的第二时刻。也就是说,数据解析模块可对截屏工具的多帧截图进行图像识别以得到第一帧变化的截图,根据第一帧变化的截图对应的时间戳解析systrace文本得到终端设备的屏幕刷新的第二时刻。又例如,数据解析模块,用于将硬件测试装置的第一时刻转换为终端设备的第三时刻。
结果展示模块,用于通过图形化界面显示各环节的耗时(即延迟)。
需要说明的,图9所示的延迟测试装置仅仅是本申请实施例的一种实现方式。实际应用中,延迟测试装置还可以包括更多或更少的功能模块,这里不作限制。
下面结合硬件测试装置的功能模块介绍其如何实现在图4中的操作。
图10为本申请实施例提供的一种硬件测试装置的结构示意图。如图10所示,硬件测试装置包括:数据同步模块和激光测量电路。
激光测量电路,用于测量用户手指触摸终端设备的触摸屏的第一时刻。
数据同步模块,用于将第一时刻传输给延迟测试装置。
在一种可能的实现方式中,激光测量电路包括目标传感器(例如激光探测器)和电流检测电路。当激光照射到目标传感器的表面后,该目标传感器会生成电流。当激光未照射到目标传感器的表面时,该目标传感器不会生成电流。电流检测电路,用于检测目标传感器是否生成电流。可理解,若电流检测电路检测到目标传感器在当前时刻(对应于第一时刻)未生成电流,则通过数据同步模块将当前时刻传输给延迟测试装置。在该实现方式中,激光装置的激光头打在硬件测试装置的目标传感器上并保持激光与手机屏幕(即终端设备的触摸屏)在同一水平线上。当用户手指触摸屏幕时,激光被挡住,该目标传感器不会生成电流。因此,电流检测电路检测到目标传感器在当前时刻(对应于第一时刻)未生成电流的时刻即为用户手指触摸屏幕的时刻。在一些实施例中,电流检测电路还包括与目标传感器连接的LED灯。在这些实施例中,当激光未照射到目标传感器时,LED灯发生变化(点亮或关闭),数据同步模块将该LED灯发生变化的时刻(对应于第一时刻)传输给延迟测试装置。这些实施例中的硬件测试装置可参阅图1中位于手机右侧的硬件电路。
在一种可能的实现方式中,激光测量电路包括目标传感器(例如激光探测器)、电流检测电路以及处理器(例如微处理器)。处理器可通过电流检测电路检测目标传感器是否生成电流。可理解,若处理器通过电流检测电路检测到目标传感器在当前时刻(对应于第一时刻)未生成电流,则控制数据同步模块将当前时刻传输给延迟测试装置。在该实现方式中,激光装置的激光头打在硬件测试装置的目标传感器上并保持激光与手机屏幕(即终端设备的触摸屏)在同一水平线上。当用户手指触摸屏幕时,激光被挡住,该目标传感器不会生成电流。因此,处理器通过电流检测电路检测到目标传感器在当前时刻(对应于第一时刻)未生成电流的时刻即为用户手指触摸屏幕的时刻。在一些实施例中,电流检测电路还包括与目标传感器连接的LED灯。在这些实施例中,当激光未照射到目标传感器时,LED灯发生变化(点亮或关闭),处理器控制数据同步模块该LED灯发生变化的时刻(对应于第一时刻)传输给延迟测试装置。这些实施例中的硬件测试装置可参阅图1中手机右侧的硬件电路。
在另一种可能的实现方式中,激光测量电路包括激光装置、目标传感器(例如激光探测器)、电流检测电路以及处理器。激光装置的激光头打在目标传感器上并保持激光与手机屏幕(即终端设备的触摸屏)在同一水平线上。该实现方式中的硬件测试装置可参阅图1中的硬件电路,激光装置对应于手机左侧的硬件电路,目标传感器、电流检测电路以及处理器对应于手机右侧的硬件电路。
需要说明的,图11所示的硬件测试装置仅仅是本申请实施例的一种实现方式。实际应用中,硬件测试装置还可以包括更多或更少的功能模块,这里不作限制。
下面结合终端设备的功能模块介绍其如何实现在图4中的操作。
图11为本申请实施例提供的一种终端设备的结构示意图。如图11所示,终端设备包括:数据同步模块和时间记录模块。
时间记录模块,用于通过事件记录工具记录与点击操作或滑动操作相关的多种事件及其该多种事件发生的时间。例如,时间记录模块通过事件记录工具记录与点击操作或滑动操作相关的多种事件及其该多种事件发生的时间,并生成相应的systrace文本。
数据同步模块,用于与延迟测试装置实现socket通信以及数据同步。例如,终端设备通过数据同步模块与延迟测试装置实现socket通信,并通过数据同步模块接收来自该延迟测试装置的socket通信请求,以及向该延迟测试装置发送其在接收到socket通信请求之后查询到的其当前时刻(对应于第一时刻)。
数据传输模块,用于向延迟测试装置传输目标信息以及截图数据。终端设备可通过数据传输模块向延迟测试装置传输目标信息以及截屏工具得到的多帧截图。例如,终端设备在接收到来自延迟测试装置的adb pull指令之后,通过数据传输模块将截屏工具得到的多帧截图传输给该延迟测试装置。
在一种可能的实现方式中,终端设备还包括:截屏模块。截屏模块,用于通过截屏工具(例如minicap)截屏终端设备显示的画面。
图12为本申请实施例提供的另一种延迟测试装置的结构示意图。如图12所示,延迟测试装置包括:
收发单元1201,用于接收硬件测试装置测量得到的用户手指触摸终端设备的触摸屏的第一时刻;所述第一时刻为所述硬件测试装置的时间;
处理单元1202,用于将所述第一时刻转换为所述终端设备的硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的第二时刻;所述第二时刻为所述终端设备的时间;
输出单元1203,用于输出延迟信息;所述延迟信息包括硬件驱动延迟,所述硬件驱动延迟为所述第二时刻到输入处理的开始时刻的时长,所述输入处理由所述用户手指触摸所述触摸屏的操作触发。
处理单元1202对应于图9中的进程控制模块和数据解析模块。例如,处理单元1202的功能以及图9中的进程控制模块和数据解析模块均由一个或多个处理器实现。输出单元1203对应于图9中的结果展示模块。例如,输出单元1203的功能和图9中的结果展示模块的功能均由显示屏或显示器实现。
在一种可能的实现方式中,处理单元1202,具体用于根据时钟差信息,将所述第一时刻转换为所述硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的所述第二时刻;所述时钟差信息包括所述延迟测试装置与所述硬件测试装置之间的第一时钟差以及所述延迟测试装置与所述终端设备之间的第二时钟差。
在一种可能的实现方式中,处理单元1202,还用于根据来自所述终端设备的多帧截图和目标信息,确定所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻;所述多帧截图为所述触摸屏待显示的图像,所述目标信息包含与所述用户手指触摸所述触摸屏的操作相关的事件的时间;
处理单元1202,具体用于根据所述第二时刻和所述输入处理的开始时刻,确定所述硬件驱动延迟。
在一种可能的实现方式中,处理单元1202,具体用于获取所述多帧截图中的目标截图对应的目标时刻;所述多帧截图按时间戳先后顺序排列,所述目标截图与其前一帧截图的相似度低于相似度阈值,所述多帧截图中位于所述目标截图之前的任意两帧截图的相似度高于所述相似度阈值;将所述目标信息包含的多个显示处理的开始时刻中,在所述目标时刻之后且与所述目标时刻间隔最短的开始时刻,作为所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻。
在一种可能的实现方式中,收发单元1201,用于向硬件测试装置发送第一通信请求;接收来自所述硬件测试装置的第一反馈信息。
收发单元1201对应于图9中的数据同步模块。例如,收发单元1201和图9中的数据同步模块均为用于与终端设备、硬件测试装置实现通信的收发器或通信接口。
在一种可能的实现方式中,收发单元1201,还用于向终端设备发送第二通信请求;接收到来自所述终端设备的所述第二反馈信息。
在一种可能的实现方式中,收发单元1201,还用于接收来自所述终端设备的多帧截图和目标信息。
应理解,延迟测试装置中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。例如,以上各个模块可以为单独设立的处理元件,也可以集成在延迟测试装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于控制器的存储元件中,由处理器的某一个处理元件调用并执行以上各个模块的功能。此外各个模块可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图13为本申请实施例提供的一种终端设备的结构示意图。如图13所示,该终端设备130包括处理器1301、存储器1302、通信接口1303以及输入输出设备1304;该处理器1301、存储器1302和通信接口1303通过总线相互连接。图13中的终端设备可以为前述实施例中的延迟测试装置。
存储器1302包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmablereadonly memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CDROM),该存储器1302用于相关指令及数据。通信接口1303用于接收和发送数据。输入输出设备1304可包括键盘、鼠标、触摸屏等输入设备,以及显示器、屏幕等输出设备。
处理器1301可以是一个或多个中央处理器(central processing unit,CPU),在处理器1301是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。上述实施例中由延迟测试装置所执行的步骤可以基于该图13所示的终端设备的结构。具体的,输入输出设备1304可实现输出单元1203的功能;处理器1301可实现处理单元1202的功能;通信接口1303可实现收发单元1201的功能。或者说,输入输出设备1304可实现图9中的结果展示模块的功能;处理器1301可实现图9中的进程控制模块的功能以及数据解析模块的功能;通信接口1303可实现图9中的数据同步模块的功能。
在本申请的实施例中提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现前述实施例所提供的延迟测试方法。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述实施例所提供的延迟测试方法。
在上述实施例中,全部或部分功能可以通过软件、硬件、或者软件加硬件的组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如,固态硬盘(solidstate disk,SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。

Claims (22)

1.一种延迟测试方法,其特征在于,包括:
延迟测试装置接收硬件测试装置测量得到的用户手指触摸终端设备的触摸屏的第一时刻;所述第一时刻为所述硬件测试装置的时间;
所述延迟测试装置将所述第一时刻转换为所述终端设备的硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的第二时刻;所述第二时刻为所述终端设备的时间;
所述延迟测试装置输出延迟信息;所述延迟信息包括硬件驱动延迟,所述硬件驱动延迟为所述第二时刻到输入处理的开始时刻的时长,所述输入处理由所述用户手指触摸所述触摸屏的操作触发。
2.根据权利要求1所述的方法,其特征在于,所述延迟信息还包括以下一项或多项:输入传输延迟、绘制延迟、渲染延迟、合成延迟、显示延迟;所述输入传输延迟为输入处理的时长,所述绘制延迟为绘制处理的时长,所述渲染延迟为渲染处理的时长,所述合成延迟为合成处理的时长,所述显示延迟为显示处理的时长;所述输入处理、所述绘制处理、所述渲染处理、所述合成处理、所述显示处理均为所述终端设备响应所述用户手指触摸所述触摸屏的操作执行的操作。
3.根据权利要求1或2所述的方法,其特征在于,所述延迟测试装置将所述第一时刻转换为所述终端设备的硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的第二时刻包括:
所述延迟测试装置根据时钟差信息,将所述第一时刻转换为所述硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的所述第二时刻;所述时钟差信息包括所述延迟测试装置与所述硬件测试装置之间的第一时钟差以及所述延迟测试装置与所述终端设备之间的第二时钟差。
4.根据权利要求3所述的方法,其特征在于,所述时钟差信息还包括时钟漂移常量,所述时钟漂移常量表征所述延迟测试装置和所述终端设备之间的时钟漂移。
5.根据权利要求3所述的方法,其特征在于,所述第一时钟差由第四时刻、第五时刻以及第六时刻得到,所述第四时刻为所述延迟测试装置向所述硬件测试装置发送第一通信请求的时刻,所述第五时刻为所述延迟测试装置接收到来自所述硬件测试装置的第一反馈信息的时刻,所述第六时刻表示所述硬件测试装置接收到所述第一通信请求之后通过所述第一反馈信息反馈的所述硬件测试装置的时刻。
6.根据权利要求3所述的方法,其特征在于,所述第二时钟差由第七时刻、第八时刻以及第九时刻得到,所述第七时刻为所述延迟测试装置向所述终端设备发送第二通信请求的时刻,所述第八时刻为所述延迟测试装置接收到来自所述终端设备的第二反馈信息的时刻,所述第九时刻表示所述终端设备接收到所述第二通信请求之后通过所述第二反馈信息反馈的所述终端设备的时刻。
7.根据权利要求1至6任一项所述的方法,其特征在于,在所述延迟测试装置输出延迟信息之前,所述方法还包括:
根据来自所述终端设备的多帧截图和目标信息,确定所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻;所述多帧截图为所述触摸屏待显示的图像,所述目标信息包含与所述用户手指触摸所述触摸屏的操作相关的事件的时间;
根据所述显示处理的开始时刻和所述目标信息,确定所述输入处理的开始时刻;
根据所述第二时刻和所述输入处理的开始时刻,确定所述硬件驱动延迟。
8.根据权利要求7所述的方法,其特征在于,所述根据来自所述终端设备的多帧截图和目标信息,确定所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻包括:
获取所述多帧截图中的目标截图对应的目标时刻;所述多帧截图按时间戳先后顺序排列,所述目标截图与其前一帧截图的相似度低于相似度阈值,所述多帧截图中位于所述目标截图之前的任意两帧截图的相似度高于所述相似度阈值;
将所述目标信息包含的多个显示处理的开始时刻中,在所述目标时刻之后且与所述目标时刻间隔最短的开始时刻,作为所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻。
9.一种延迟测试方法,其特征在于,包括:
硬件测试装置的激光测量电路在检测到从终端设备的触摸屏上方通过的测量激光中断时,记录第一时刻;所述测量激光与所述触摸屏位于同一水平线;
所述硬件测试装置向延迟测试装置发送所述第一时刻,所述第一时刻用于所述延迟测试装置获取所述第一时刻到响应时刻的响应延迟,所述响应时刻为所述终端设备响应用户手指触摸所述触摸屏的时刻,所述用户手指触摸所述触摸屏时所述测量激光中断。
10.根据权利要求9所述的方法,其特征在于,所述第一时刻为所述硬件测试装置的时间,所述第一时刻用于被所述延迟测试装置转换为所述硬件驱动开始响应所述用户手指触摸所述触摸屏的时刻。
11.根据权利要求9或10所述的方法,其特征在于,所述激光测量电路包括目标传感器和电流检测电路;所述目标传感器用于接收所述测量激光,所述目标传感器在接收到激光时生成电流;
所述检测到从终端设备的触摸屏上方通过的测量激光中断包括:
所述电流检测电路检测到所述目标传感器在当前时刻未生成电流。
12.根据权利要求9至11任一项所述的方法,其特征在于,所述方法还包括:
所述硬件测试装置在接收到来自所述延迟测试装置的第一通信请求之后,获取所述硬件测试装置的第六时刻;
所述硬件测试装置向所述延迟测试装置发送第一反馈信息,所述第一反馈信息指示所述第六时刻;所述第六时刻用于所述延迟测试装置获得与所述硬件测试装置之间的时钟差。
13.一种延迟测试装置,其特征在于,包括:
收发单元,用于接收硬件测试装置测量得到的用户手指触摸终端设备的触摸屏的第一时刻;所述第一时刻为所述硬件测试装置的时间;
处理单元,用于将所述第一时刻转换为所述终端设备的硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的第二时刻;所述第二时刻为所述终端设备的时间;
输出单元,用于输出延迟信息;所述延迟信息包括硬件驱动延迟,所述硬件驱动延迟为所述第二时刻到输入处理的开始时刻的时长,所述输入处理由所述用户手指触摸所述触摸屏的操作触发。
14.根据权利要求13所述的延迟测试装置,其特征在于,所述延迟信息还包括以下一项或多项:输入传输延迟、绘制延迟、渲染延迟、合成延迟、显示延迟;所述输入传输延迟为输入处理的时长,所述绘制延迟为绘制处理的时长,所述渲染延迟为渲染处理的时长,所述合成延迟为合成处理的时长,所述显示延迟为显示处理的时长;所述输入处理、所述绘制处理、所述渲染处理、所述合成处理、所述显示处理均为所述终端设备响应所述用户手指触摸所述触摸屏的操作执行的操作。
15.根据权利要求13或14所述的延迟测试装置,其特征在于,
所述处理单元,具体用于根据时钟差信息,将所述第一时刻转换为所述硬件驱动开始响应所述用户手指触摸所述触摸屏的操作的所述第二时刻;所述时钟差信息包括所述延迟测试装置与所述硬件测试装置之间的第一时钟差以及所述延迟测试装置与所述终端设备之间的第二时钟差。
16.根据权利要求15所述的延迟测试装置,其特征在于,所述时钟差信息还包括时钟漂移常量,所述时钟漂移常量表征所述延迟测试装置和所述终端设备之间的时钟漂移。
17.根据权利要求15所述的延迟测试装置,其特征在于,所述第一时钟差由第四时刻、第五时刻以及第六时刻得到,所述第四时刻为所述延迟测试装置向所述硬件测试装置发送第一通信请求的时刻,所述第五时刻为所述延迟测试装置接收到来自所述硬件测试装置的第一反馈信息的时刻,所述第六时刻表示所述硬件测试装置接收到所述第一通信请求之后通过所述第一反馈信息反馈的所述硬件测试装置的时刻。
18.根据权利要求15所述的延迟测试装置,其特征在于,所述第二时钟差由第七时刻、第八时刻以及第九时刻得到,所述第七时刻为所述延迟测试装置向所述终端设备发送第二通信请求的时刻,所述第八时刻为所述延迟测试装置接收到来自所述终端设备的第二反馈信息的时刻,所述第九时刻表示所述终端设备接收到所述第二通信请求之后通过所述第二反馈信息反馈的所述终端设备的时刻。
19.根据权利要求15至18任一项所述的延迟测试装置,其特征在于,
所述处理单元,还用于根据来自所述终端设备的多帧截图和目标信息,确定所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻;所述多帧截图为所述触摸屏待显示的图像,所述目标信息包含与所述用户手指触摸所述触摸屏的操作相关的事件的时间;
所述处理单元,具体用于根据所述第二时刻和所述输入处理的开始时刻,确定所述硬件驱动延迟。
20.根据权利要求19所述的延迟测试装置,其特征在于,
所述处理单元,具体用于获取所述多帧截图中的目标截图对应的目标时刻;所述多帧截图按时间戳先后顺序排列,所述目标截图与其前一帧截图的相似度低于相似度阈值,所述多帧截图中位于所述目标截图之前的任意两帧截图的相似度高于所述相似度阈值;
将所述目标信息包含的多个显示处理的开始时刻中,在所述目标时刻之后且与所述目标时刻间隔最短的开始时刻,作为所述用户手指触摸所述触摸屏的操作触发的显示处理的开始时刻。
21.一种延迟测试***,其特征在于,包括延迟测试装置、硬件测试装置以及终端设备,所述延迟测试装置用于执行权利要求1至8任一项所述的方法,所述硬件测试装置用于执行权利要求9至12任一项所述的方法,所述终端设备用于执行权利要求1至8任一项所述方法中的终端设备实现的操作。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,使所述处理器执行权利要求1至12任意一项所述的方法。
CN202110651219.8A 2021-06-10 2021-06-10 延迟测试方法和相关装置 Active CN113505029B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110651219.8A CN113505029B (zh) 2021-06-10 2021-06-10 延迟测试方法和相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110651219.8A CN113505029B (zh) 2021-06-10 2021-06-10 延迟测试方法和相关装置

Publications (2)

Publication Number Publication Date
CN113505029A true CN113505029A (zh) 2021-10-15
CN113505029B CN113505029B (zh) 2022-03-15

Family

ID=78010145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110651219.8A Active CN113505029B (zh) 2021-06-10 2021-06-10 延迟测试方法和相关装置

Country Status (1)

Country Link
CN (1) CN113505029B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647336A (zh) * 2022-03-15 2022-06-21 Oppo广东移动通信有限公司 一种点击延时测量方法、装置、存储介质及电子设备
CN115277499A (zh) * 2022-07-20 2022-11-01 科东(广州)软件科技有限公司 Mac设备的延迟参数确定方法、装置、硬件平台及介质
CN115442274A (zh) * 2022-08-31 2022-12-06 重庆长安汽车股份有限公司 一种汽车数据上传云端延迟时间的测试方法、装置、设备及介质
CN115834958A (zh) * 2022-12-19 2023-03-21 广州市保伦电子有限公司 一种触控屏幕书写延时测试方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104571683A (zh) * 2013-10-21 2015-04-29 乐金显示有限公司 触摸感测***及其驱动方法
US20150185931A1 (en) * 2013-12-27 2015-07-02 Samsung Display Co., Ltd. Device and method for detecting touch delay time
CN106353613A (zh) * 2016-08-22 2017-01-25 青岛海信电器股份有限公司 一种交互式红外触摸一体机响应时延的测试方法和装置
CN111367434A (zh) * 2020-03-06 2020-07-03 Oppo广东移动通信有限公司 触控延迟的检测方法、装置、电子设备及存储介质
CN111405218A (zh) * 2020-03-26 2020-07-10 深圳市微测检测有限公司 触摸屏时延检测方法、***、装置、设备和存储介质
CN111857431A (zh) * 2020-07-24 2020-10-30 青岛海信商用显示股份有限公司 信息显示方法、触控设备及存储介质
US20200348791A1 (en) * 2019-05-03 2020-11-05 Samsung Electro-Mechanics Co., Ltd. Touch sensing apparatus and controller ic thereof
CN112462973A (zh) * 2020-11-30 2021-03-09 厦门天马微电子有限公司 触控显示面板的驱动方法、驱动电路及触控显示装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104571683A (zh) * 2013-10-21 2015-04-29 乐金显示有限公司 触摸感测***及其驱动方法
US20150185931A1 (en) * 2013-12-27 2015-07-02 Samsung Display Co., Ltd. Device and method for detecting touch delay time
CN106353613A (zh) * 2016-08-22 2017-01-25 青岛海信电器股份有限公司 一种交互式红外触摸一体机响应时延的测试方法和装置
US20200348791A1 (en) * 2019-05-03 2020-11-05 Samsung Electro-Mechanics Co., Ltd. Touch sensing apparatus and controller ic thereof
CN111367434A (zh) * 2020-03-06 2020-07-03 Oppo广东移动通信有限公司 触控延迟的检测方法、装置、电子设备及存储介质
CN111405218A (zh) * 2020-03-26 2020-07-10 深圳市微测检测有限公司 触摸屏时延检测方法、***、装置、设备和存储介质
CN111857431A (zh) * 2020-07-24 2020-10-30 青岛海信商用显示股份有限公司 信息显示方法、触控设备及存储介质
CN112462973A (zh) * 2020-11-30 2021-03-09 厦门天马微电子有限公司 触控显示面板的驱动方法、驱动电路及触控显示装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114647336A (zh) * 2022-03-15 2022-06-21 Oppo广东移动通信有限公司 一种点击延时测量方法、装置、存储介质及电子设备
CN115277499A (zh) * 2022-07-20 2022-11-01 科东(广州)软件科技有限公司 Mac设备的延迟参数确定方法、装置、硬件平台及介质
CN115277499B (zh) * 2022-07-20 2023-07-11 科东(广州)软件科技有限公司 Mac设备的延迟参数确定方法、装置、硬件平台及介质
CN115442274A (zh) * 2022-08-31 2022-12-06 重庆长安汽车股份有限公司 一种汽车数据上传云端延迟时间的测试方法、装置、设备及介质
CN115442274B (zh) * 2022-08-31 2023-05-12 重庆长安汽车股份有限公司 一种汽车数据上传云端延迟时间的测试方法、装置、设备及介质
CN115834958A (zh) * 2022-12-19 2023-03-21 广州市保伦电子有限公司 一种触控屏幕书写延时测试方法及装置
CN115834958B (zh) * 2022-12-19 2023-10-20 广东保伦电子股份有限公司 一种触控屏幕书写延时测试方法及装置

Also Published As

Publication number Publication date
CN113505029B (zh) 2022-03-15

Similar Documents

Publication Publication Date Title
CN113505029B (zh) 延迟测试方法和相关装置
US10268350B2 (en) Automatically capturing user interactions and evaluating user interfaces in software programs using field testing
US9535817B2 (en) Application development environment for portable electronic devices
US9674263B2 (en) Measurement of remote display responsiveness to application display changes
US6775826B1 (en) System and method for replaying workload data in a data storage environment
US7239980B2 (en) Method and apparatus for adaptive tracing with different processor frequencies
US10127129B2 (en) Non-invasive time-based profiling tool
US10657036B2 (en) Determining visual testing coverages
US9170912B1 (en) System and methods for power and energy modeling in computing devices using system call tracing
JPH0816877B2 (ja) データ処理システム用資源データの実時間捕獲及び減縮方法及びシステム
US20170208144A1 (en) Client-side activity monitoring
US20100238126A1 (en) Pressure-sensitive context menus
CN111858318B (zh) 一种响应时间的测试方法、装置、设备和计算机存储介质
US20170251072A1 (en) System and method for annotating client-server transactions
CN110990842A (zh) 一种小概率事件的复现方法、装置、存储介质及电子设备
WO2018205392A1 (zh) 控制响应区域显示控制方法、电子装置及存储介质
Zyrianov et al. Automated recording and semantics-aware replaying of high-speed eye tracking and interaction data to support cognitive studies of software engineering tasks
US20160147363A1 (en) System and method of measuring continuous touch controller latency
CN115834958B (zh) 一种触控屏幕书写延时测试方法及装置
US20240184414A1 (en) Display Control Method and Apparatus for Pointer in Window, Device, and Storage Medium
CN100371907C (zh) 用于处理器的追踪调试方法及***
CN111506488B (zh) 一种应用页面响应测试方法及装置
US10509691B2 (en) Tracking the mental acuity of an electronic device user
CN110569184A (zh) 一种测试方法及终端设备
US20210241023A1 (en) Method for evaluating environmental noise of device, apparatus, medium and electronic device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220614

Address after: 100095 floors 2-14, building 3, yard 5, honeysuckle Road, Haidian District, Beijing

Patentee after: Beijing Honor Device Co.,Ltd.

Address before: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee before: Honor Device Co.,Ltd.

TR01 Transfer of patent right