CN108733544B - 每秒传输画面帧数的获取方法、系统及计算机设备 - Google Patents

每秒传输画面帧数的获取方法、系统及计算机设备 Download PDF

Info

Publication number
CN108733544B
CN108733544B CN201710270269.5A CN201710270269A CN108733544B CN 108733544 B CN108733544 B CN 108733544B CN 201710270269 A CN201710270269 A CN 201710270269A CN 108733544 B CN108733544 B CN 108733544B
Authority
CN
China
Prior art keywords
frame
picture
frame number
preset
time
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.)
Active
Application number
CN201710270269.5A
Other languages
English (en)
Other versions
CN108733544A (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 Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201710270269.5A priority Critical patent/CN108733544B/zh
Publication of CN108733544A publication Critical patent/CN108733544A/zh
Application granted granted Critical
Publication of CN108733544B publication Critical patent/CN108733544B/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/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring

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)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开实施例提出了一种每秒传输画面帧数的获取方法、获取系统、计算机设备及计算机可读存储介质,应用于图像处理技术领域,获取方法包括:测定预设帧数画面中的每帧画面的实际渲染时间;根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率;根据预设帧数画面的帧补偿率,计算每秒传输画面帧数。本公开实施例能够保证获取时间为一秒,同时能够得到每一秒内的准确的画面帧数,使得用户清晰地了解到画面流畅程度,避免了在实际进行APP测试过程中出现APP页面掉帧导致APP响应较慢,进而导致的APP后续问题排查困难的问题,并且本公开实施例适用的安卓系统版本较广泛。

Description

每秒传输画面帧数的获取方法、系统及计算机设备
技术领域
本公开实施例涉及图像处理技术领域,具体而言,涉及一种每秒传输画面帧数的获取方法、系统、计算机设备及计算机可读存储介质。
背景技术
画面每秒传输帧数(Frames Per Second,FPS)是指画面每秒传输帧数,一般来讲就是指动画或视频的画面数,对应的就是应用(APP)的图形用户界面(UI)的刷新频率,在一个UI动画的播放过程中,FPS越大界面表现越流畅,FPS越低界面表现越卡顿。因此,测量FPS经常用于评价一个应用的流畅度,以此来判定应用是否能带来更好的用户体验。相关技术中的观测应用的FPS的方法主要依赖于测定固定的帧的状态来获得,在准确性和适用性上都较差。
发明内容
本公开实施例旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本公开实施例的一个目的在于提出了一种每秒传输画面帧数的获取方法。
本公开实施例的另一个目的在于提出了一种每秒传输画面帧数的获取系统。
本公开实施例的再一个目的在于提出了一种计算机设备。
本公开实施例的又一个目的在于提出了一种计算机可读存储介质。
有鉴于此,根据本公开实施例的一个目的,提出了一种每秒传输画面帧数的获取方法,包括:获取预设帧数画面中的每帧画面的实际渲染时间;根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率;根据预设帧数画面的帧补偿率,计算每秒传输画面帧数。
本公开实施例提供的每秒传输画面帧数的获取方法,获取画面中每一帧画面的实际渲染时间,其中实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间,根据每一帧画面的实际渲染时间得到预设帧数的画面的实际渲染时间,由预设帧数的画面的实际渲染时间计算得到预设帧数画面的帧补偿率,再通过帧补偿率计算得到每秒传输画面帧数FPS的值。相比于现有技术中获取2秒内的画面帧数,本公开实施例能够保证获取时间为一秒,同时能够得到每一秒内的准确的画面帧数,使得用户清晰地了解到画面流畅程度,避免了在实际进行APP测试过程中出现APP页面掉帧导致APP响应较慢,进而导致的APP后续问题排查困难的问题,并且本公开实施例适用的安卓系统版本较广泛。
根据本公开实施例的上述每秒传输画面帧数的获取方法,还可以具有以下技术特征:
在上述技术方案中,优选地,根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率的步骤,包括:根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间;根据预设帧数画面的实际渲染时间,通过第一公式计算预设帧数画面的帧补偿率;第一公式为
Figure BDA0001277171910000021
其中,FL为预设帧数画面的帧补偿率,ST为预设帧数画面的标准渲染时间,RT为预设帧数画面的实际渲染时间。
在该技术方案中,具体的预设帧数画面的帧补偿率的计算步骤为:通过每帧画面的实际渲染时间计算得到预设帧数画面的实际渲染时间,预设帧数画面的帧补偿率为预设帧数画面的标准渲染时间与预设帧数画面的实际渲染时间的比值的百分比,也即为预设帧数画面的渲染效率,通过计算得到预设帧数画面的帧补偿率进而能够获取到更加精准的每秒传输画面帧数FPS的值。其中,预设帧数画面的标准渲染时间必然小于等于预设帧数画面的实际渲染时间,并且在二者相等时相当于完全不存在掉帧。
在上述任一技术方案中,优选地,根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间,具体包括:根据每帧画面的实际渲染时间,通过第二公式计算预设帧数画面的实际渲染时间;其中,每帧画面的实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间;以及第二公式为
Figure BDA0001277171910000031
其中,T1为每帧画面的创建时间,T2为每帧画面的渲染执行时间,T3为每帧画面的数据发送时间,N为预设帧数。
在该技术方案中,每帧画面的实际渲染时间即完整显示一帧画面的时间,是此帧画面的创建时间、此帧画面的渲染时间、此帧画面的数据发送时间的和,其中,画面的创建时间表示在Java中创建显示列表部分中OnDraw()方法占用的时间,画面的渲染时间表示渲染引擎执行显示列表所花的时间,画面的数据发送时间表示把一帧数据发送到屏幕上排版显示实际花费的时间。再将预设帧数画面的每帧画面的实际渲染时间相加得到预设帧数画面的实际渲染时间,即为预设帧数画面完成所有渲染过程所用的真实时间。通过获取预设帧数画面的实际渲染时间能够计算得到画面的渲染效率,进而获取每秒传输画面帧数FPS的准确值,为对安卓系统APP的画面流畅度的提高提供依据。
在上述任一技术方案中,优选地,预设帧数画面的标准渲染时间ST的计算公式为ST=N×T,其中,N为预设帧数,T为每帧画面的标准渲染时间。
在该技术方案中,预设帧数画面的标准渲染时间即为预设帧数画面完成所有渲染过程所用的理论时间,通过预设帧数与每帧画面的标准渲染时间的乘积得到,每帧画面的标准渲染时间为每帧画面的最大渲染时间,例如,对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每帧画面的标准渲染时间为1/60,即为16.67ms,所以预设帧数画面的标准渲染时间为N乘以16.67。通过获取预设帧数画面的标准渲染时间能够计算得到画面的渲染效率,进而获取每秒传输画面帧数FPS的准确值,使得用户明确地了解画面流畅程度。
在上述任一技术方案中,优选地,根据预设帧数画面的帧补偿率,计算每秒传输画面帧数,具体包括:根据预设帧数画面的帧补偿率,通过第三公式计算每秒传输画面帧数;第三公式为FPS=FL×M,其中,FPS为每秒传输画面帧数,M为每秒标准传输画面帧数。
在该技术方案中,根据预设帧数画面的帧补偿率与每秒标准传输画面帧数的乘积得到每秒传输画面帧数,其中,每秒标准传输画面帧数为保证画面的流畅度和清晰度的每秒传输画面帧数,例如对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每秒标准传输画面帧数为60帧,即实际传输画面帧数和实际渲染画面时间的乘积与标准渲染画面帧数和标准渲染画面时间的乘积是相同的(都为1秒),能够保证计算每秒传输画面帧数的准确性。
根据本公开实施例的另一个目的,提出了一种每秒传输画面帧数的获取系统,包括:画面获取单元,用于时间获取单元,用于测定预设帧数画面中的每帧画面的实际渲染时间;计算单元,用于根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率;以及根据预设帧数画面的帧补偿率,计算每秒传输画面帧数。
本公开实施例提供的每秒传输画面帧数的获取系统,时间获取单元获取这些画面中每一帧画面的实际渲染时间,其中实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间,计算单元根据每一帧画面的实际渲染时间得到预设帧数的画面的实际渲染时间,由预设帧数的画面的实际渲染时间计算得到预设帧数画面的帧补偿率,再通过帧补偿率计算得到每秒传输画面帧数FPS的值。相比于现有技术中获取2秒内的画面帧数,本公开实施例能够保证获取时间为一秒,同时能够得到每一秒内的准确的画面帧数,使得用户清晰地了解到画面流畅程度,避免了在实际进行APP测试过程中出现APP页面掉帧导致APP响应较慢,进而导致的APP后续问题排查困难的问题,并且本公开实施例适用的安卓系统版本较广泛。
根据本公开实施例的上述每秒传输画面帧数的获取系统,还可以具有以下技术特征:
在上述技术方案中,优选地,计算单元,具体用于:根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间;根据预设帧数画面的实际渲染时间,通过第一公式计算预设帧数画面的帧补偿率;第一公式为
Figure BDA0001277171910000041
其中,FL为预设帧数画面的帧补偿率,ST为预设帧数画面的标准渲染时间,RT为所述预设帧数画面的实际渲染时间。
在该技术方案中,计算单元通过每帧画面的实际渲染时间计算得到预设帧数画面的实际渲染时间,预设帧数画面的帧补偿率为预设帧数画面的标准渲染时间与预设帧数画面的实际渲染时间的比值的百分比,也即为预设帧数画面的渲染效率,通过计算得到预设帧数画面的帧补偿率进而能够获取到更加精准的每秒传输画面帧数FPS的值。其中,预设帧数画面的标准渲染时间必然小于等于预设帧数画面的实际渲染时间,并且在二者相等时相当于完全不存在掉帧。
在上述任一技术方案中,优选地,计算单元,具体用于:根据每帧画面的实际渲染时间,通过第二公式计算预设帧数画面的实际渲染时间;其中,每帧画面的实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间;以及第二公式为
Figure BDA0001277171910000051
其中,T1为每帧画面的创建时间,T2为每帧画面的渲染执行时间,T3为每帧画面的数据发送时间,N为预设帧数。
在该技术方案中,每帧画面的实际渲染时间即完整显示一帧画面的时间,是此帧画面的创建时间、此帧画面的渲染时间、此帧画面的数据发送时间的和,其中,画面的创建时间表示在Java中创建显示列表部分中OnDraw()方法占用的时间,画面的渲染时间表示渲染引擎执行显示列表所花的时间,画面的数据发送时间表示把一帧数据发送到屏幕上排版显示实际花费的时间。再将预设帧数画面的每帧画面的实际渲染时间相加得到预设帧数画面的实际渲染时间,即为预设帧数画面完成所有渲染过程所用的真实时间。通过获取预设帧数画面的实际渲染时间能够计算得到画面的渲染效率,进而获取每秒传输画面帧数FPS的准确值,为对安卓系统APP的画面流畅度的提高提供依据。
在上述任一技术方案中,优选地,预设帧数画面的标准渲染时间ST的计算公式为ST=N×T,其中,N为预设帧数,T为每帧画面的标准渲染时间。
在该技术方案中,预设帧数画面的标准渲染时间即为预设帧数画面完成所有渲染过程所用的理论时间,计算单元通过预设帧数与每帧画面的标准渲染时间的乘积得到预设帧数画面的标准渲染时间,每帧画面的标准渲染时间为每帧画面的最大渲染时间,例如,对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每帧画面的标准渲染时间为1/60,即为16.67ms,所以预设帧数画面的标准渲染时间为N乘以16.67。通过获取预设帧数画面的标准渲染时间能够计算得到画面的渲染效率,进而获取每秒传输画面帧数FPS的准确值,使得用户明确地了解画面流畅程度。
在上述任一技术方案中,优选地,计算单元,还用于:根据预设帧数画面的帧补偿率,通过第三公式计算每秒传输画面帧数;第三公式为FPS=FL×M,其中,FPS为每秒传输画面帧数,M为每秒标准传输画面帧数。
在该技术方案中,计算单元根据预设帧数画面的帧补偿率与每秒标准传输画面帧数的乘积得到每秒传输画面帧数,其中,每秒标准传输画面帧数为保证画面的流畅度和清晰度的每秒传输画面帧数,例如对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每秒标准传输画面帧数为60帧,即实际传输画面帧数和实际渲染画面时间的乘积与标准渲染画面帧数和标准渲染画面时间的乘积是相同的(都为1秒),能够保证计算每秒传输画面帧数的准确性。
根据本公开实施例的再一个目的,提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:测定预设帧数画面中的每帧画面的实际渲染时间;根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率;根据预设帧数画面的帧补偿率,计算每秒传输画面帧数。
本公开实施例提供的计算机设备,通过处理器执行存储在存储器中的计算机程序,获取画面中每一帧画面的实际渲染时间,根据每一帧画面的实际渲染时间得到预设帧数的画面的实际渲染时间,由预设帧数的画面的实际渲染时间计算得到预设帧数画面的帧补偿率,再通过帧补偿率计算得到每秒传输画面帧数FPS的值。能够保证获取时间为一秒,同时能够得到每一秒内的准确的画面帧数,使得用户清晰地了解到画面流畅程度,避免了在实际进行APP测试过程中出现APP页面掉帧导致APP响应较慢,进而导致的APP后续问题排查困难的问题,并且本公开实施例适用的安卓系统版本较广泛。
根据本公开实施例的上述计算机设备,还可以具有以下技术特征:
在上述技术方案中,优选地,根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率的步骤,包括:根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间;根据预设帧数画面的实际渲染时间,通过第一公式计算预设帧数画面的帧补偿率;第一公式为
Figure BDA0001277171910000071
其中,FL为预设帧数画面的帧补偿率,ST为预设帧数画面的标准渲染时间,RT为预设帧数画面的实际渲染时间;根据预设帧数画面的帧补偿率,计算每秒传输画面帧数,具体包括:根据预设帧数画面的帧补偿率,通过第三公式计算每秒传输画面帧数;第三公式为FPS=FL×M,其中,FPS为每秒传输画面帧数,M为每秒标准传输画面帧数。
在该技术方案中,通过每帧画面的实际渲染时间计算得到预设帧数画面的实际渲染时间,预设帧数画面的帧补偿率为预设帧数画面的标准渲染时间与预设帧数画面的实际渲染时间的比值的百分比,根据预设帧数画面的帧补偿率与每秒标准传输画面帧数的乘积得到每秒传输画面帧数,其中,每秒标准传输画面帧数为保证画面的流畅度和清晰度的每秒传输画面帧数,例如对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每秒标准传输画面帧数为60帧,即实际传输画面帧数和实际渲染画面时间的乘积与标准渲染画面帧数和标准渲染画面时间的乘积是相同的(都为1秒),通过计算得到预设帧数画面的帧补偿率进而能够获取到更加精准的每秒传输画面帧数FPS的值。能够保证计算每秒传输画面帧数的准确性。其中,预设帧数画面的标准渲染时间必然小于等于预设帧数画面的实际渲染时间,并且在二者相等时相当于完全不存在掉帧。
在上述任一技术方案中,优选地,根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间,具体包括:根据每帧画面的实际渲染时间,通过第二公式计算预设帧数画面的实际渲染时间;其中,每帧画面的实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间;以及第二公式为
Figure BDA0001277171910000072
其中,T1为每帧画面的创建时间,T2为每帧画面的渲染执行时间,T3为每帧画面的数据发送时间,N为预设帧数;预设帧数画面的标准渲染时间ST的计算公式为ST=N×T,其中,N为预设帧数,T为每帧画面的标准渲染时间。
在该技术方案中,每帧画面的实际渲染时间即完整显示一帧画面的时间,是此帧画面的创建时间、此帧画面的渲染时间、此帧画面的数据发送时间的和,再将预设帧数画面的每帧画面的实际渲染时间相加得到预设帧数画面的实际渲染时间,即为预设帧数画面完成所有渲染过程所用的真实时间。其中,画面的创建时间表示在Java中创建显示列表部分中OnDraw()方法占用的时间,画面的渲染时间表示渲染引擎执行显示列表所花的时间,画面的数据发送时间表示把一帧数据发送到屏幕上排版显示实际花费的时间。预设帧数画面的标准渲染时间即为预设帧数画面完成所有渲染过程所用的理论时间,通过预设帧数与每帧画面的标准渲染时间的乘积得到,每帧画面的标准渲染时间为每帧画面的最大渲染时间,例如,对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每帧画面的标准渲染时间为1/60,即为16.67ms,所以预设帧数画面的标准渲染时间为N乘以16.67。通过获取预设帧数画面的实际渲染时间和预设帧数画面的标准渲染时间能够计算得到画面的渲染效率,进而获取每秒传输画面帧数FPS的准确值,为对安卓系统APP的画面流畅度的提高提供依据。
根据本公开实施例的又一个目的,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:测定预设帧数画面中的每帧画面的实际渲染时间;根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率;根据预设帧数画面的帧补偿率,计算每秒传输画面帧数。
本公开实施例提供的计算机可读存储介质,计算机程序被处理器执行时能够实现:获取画面中每一帧画面的实际渲染时间,根据每一帧画面的实际渲染时间得到预设帧数的画面的实际渲染时间,由预设帧数的画面的实际渲染时间计算得到预设帧数画面的帧补偿率,再通过帧补偿率计算得到每秒传输画面帧数FPS的值。能够保证获取时间为一秒,同时能够得到每一秒内的准确的画面帧数,使得用户清晰地了解到画面流畅程度,避免了在实际进行APP测试过程中出现APP页面掉帧导致APP响应较慢,进而导致的APP后续问题排查困难的问题,并且本公开实施例适用的安卓系统版本较广泛。
根据本公开实施例的上述计算机可读存储介质,还可以具有以下技术特征:
在上述任一技术方案中,优选地,根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率的步骤,包括:根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间;根据预设帧数画面的实际渲染时间,通过第一公式计算预设帧数画面的帧补偿率;第一公式为
Figure BDA0001277171910000091
其中,FL为预设帧数画面的帧补偿率,ST为预设帧数画面的标准渲染时间,RT为预设帧数画面的实际渲染时间;根据预设帧数画面的帧补偿率,计算每秒传输画面帧数,具体包括:根据预设帧数画面的帧补偿率,通过第三公式计算每秒传输画面帧数;第三公式为FPS=FL×M,其中,FPS为每秒传输画面帧数,M为每秒标准传输画面帧数。
在该技术方案中,通过每帧画面的实际渲染时间计算得到预设帧数画面的实际渲染时间,预设帧数画面的帧补偿率为预设帧数画面的标准渲染时间与预设帧数画面的实际渲染时间的比值的百分比,根据预设帧数画面的帧补偿率与每秒标准传输画面帧数的乘积得到每秒传输画面帧数,其中,每秒标准传输画面帧数为保证画面的流畅度和清晰度的每秒传输画面帧数,例如对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每秒标准传输画面帧数为60帧,即实际传输画面帧数和实际渲染画面时间的乘积与标准渲染画面帧数和标准渲染画面时间的乘积是相同的(都为1秒),通过计算得到预设帧数画面的帧补偿率进而能够获取到更加精准的每秒传输画面帧数FPS的值。能够保证计算每秒传输画面帧数的准确性。其中,预设帧数画面的标准渲染时间必然小于等于预设帧数画面的实际渲染时间,并且在二者相等时相当于完全不存在掉帧。
在上述任一技术方案中,优选地,根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间,具体包括:根据每帧画面的实际渲染时间,通过第二公式计算预设帧数画面的实际渲染时间;其中,每帧画面的实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间;以及第二公式为
Figure BDA0001277171910000101
其中,T1为每帧画面的创建时间,T2为每帧画面的渲染执行时间,T3为每帧画面的数据发送时间,N为预设帧数;预设帧数画面的标准渲染时间ST的计算公式为ST=N×T,其中,N为预设帧数,T为每帧画面的标准渲染时间。
在该技术方案中,每帧画面的实际渲染时间即完整显示一帧画面的时间,是此帧画面的创建时间、此帧画面的渲染时间、此帧画面的数据发送时间的和,再将预设帧数画面的每帧画面的实际渲染时间相加得到预设帧数画面的实际渲染时间,即为预设帧数画面完成所有渲染过程所用的真实时间。其中,画面的创建时间表示在Java中创建显示列表部分中OnDraw()方法占用的时间,画面的渲染时间表示渲染引擎执行显示列表所花的时间,画面的数据发送时间表示把一帧数据发送到屏幕上排版显示实际花费的时间。预设帧数画面的标准渲染时间即为预设帧数画面完成所有渲染过程所用的理论时间,通过预设帧数与每帧画面的标准渲染时间的乘积得到,每帧画面的标准渲染时间为每帧画面的最大渲染时间,例如,对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每帧画面的标准渲染时间为1/60,即为16.67ms,所以预设帧数画面的标准渲染时间为N乘以16.67。通过获取预设帧数画面的实际渲染时间和预设帧数画面的标准渲染时间能够计算得到画面的渲染效率,进而获取每秒传输画面帧数FPS的准确值,为对安卓系统APP的画面流畅度的提高提供依据。
本公开实施例的附加方面和优点将在下面的描述部分中变得明显,或通过本公开实施例的实践了解到。
附图说明
本公开实施例的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本公开实施例的一个实施例的每秒传输画面帧数的获取方法的流程示意图;
图2示出了本公开实施例的另一个实施例的每秒传输画面帧数的获取方法的流程示意图;
图3示出了本公开实施例的再一个实施例的每秒传输画面帧数的获取方法的流程示意图;
图4示出了本公开实施例的又一个实施例的每秒传输画面帧数的获取方法的流程示意图;
图5示出了本公开实施例的一个实施例的每秒传输画面帧数的获取系统的示意框图;
图6示出了本公开实施例的一个实施例的计算机设备的示意框图;
图7示出了本公开实施例的一个具体实施例的打印画面数据的截屏的示意图。
具体实施方式
为了能够更清楚地理解本公开实施例的上述目的、特征和优点,下面结合附图和具体实施方式对本公开实施例进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开实施例,但是,本公开实施例还可以采用其他不同于在此描述的其他方式来实施,因此,本公开实施例的保护范围并不限于下面公开的具体实施例的限制。
本公开实施例第一方面的实施例,提出一种每秒传输画面帧数的获取方法,图1示出了本公开实施例的一个实施例的每秒传输画面帧数的获取方法的流程示意图。其中,该方法包括:
步骤102,测定预设帧数画面中的每帧画面的实际渲染时间;
步骤104,根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率;
步骤106,根据预设帧数画面的帧补偿率,计算每秒传输画面帧数。
本公开实施例提供的每秒传输画面帧数的获取方法,测定画面中每一帧画面的实际渲染时间,其中实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间,根据每一帧画面的渲染时间得到预设帧数的画面的实际渲染时间,由预设帧数的画面的实际渲染时间计算得到预设帧数画面的帧补偿率,再通过帧补偿率计算得到每秒传输画面帧数FPS的值。相比于现有技术中获取2秒内的画面帧数,本公开实施例能够保证获取时间为一秒,同时能够得到每一秒内的准确的画面帧数,使得用户清晰地了解到画面流畅程度,避免了在实际进行APP测试过程中出现APP页面掉帧导致APP响应较慢,进而导致的APP后续问题排查困难的问题,并且本公开实施例适用的安卓系统版本较广泛。
图2示出了本公开实施例的另一个实施例的每秒传输画面帧数的获取方法的流程示意图。其中,该方法包括:
步骤202,获取预设帧数画面中的每帧画面的实际渲染时间;
步骤204,根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间;
步骤206,根据预设帧数画面的实际渲染时间,通过第一公式计算预设帧数画面的帧补偿率;
步骤208,根据预设帧数画面的帧补偿率,计算每秒传输画面帧数;
第一公式为
Figure BDA0001277171910000121
其中,FL为预设帧数画面的帧补偿率,ST为预设帧数画面的标准渲染时间,RT为预设帧数画面的实际渲染时间。
在该实施例中,测定画面中每一帧画面的实际渲染时间,通过每帧画面的实际渲染时间计算得到预设帧数画面的实际渲染时间,预设帧数画面的帧补偿率为预设帧数画面的标准渲染时间与预设帧数画面的实际渲染时间的比值的百分比,也即为预设帧数画面的渲染效率,通过计算得到预设帧数画面的帧补偿率进而能够获取到更加精准的每秒传输画面帧数FPS的值。其中,预设帧数画面的标准渲染时间必然小于等于预设帧数画面的实际渲染时间,并且在二者相等时相当于完全不存在掉帧。
图3示出了本公开实施例的再一个实施例的每秒传输画面帧数的获取方法的流程示意图。其中,该方法包括:
步骤302,获取预设帧数画面中的每帧画面的实际渲染时间;
步骤304,根据每帧画面的实际渲染时间,通过第二公式计算预设帧数画面的实际渲染时间;
步骤306,根据预设帧数画面的实际渲染时间,通过第一公式计算预设帧数画面的帧补偿率;
步骤308,根据预设帧数画面的帧补偿率,计算每秒传输画面帧数;
其中,每帧画面的实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间;以及第二公式为
Figure BDA0001277171910000131
其中,T1为每帧画面的创建时间,T2为每帧画面的渲染执行时间,T3为每帧画面的数据发送时间,N为预设帧数;第一公式为
Figure BDA0001277171910000132
其中,FL为预设帧数画面的帧补偿率,ST为预设帧数画面的标准渲染时间,RT为预设帧数画面的实际渲染时间。
在该实施例中,测定画面中每一帧画面的实际渲染时间,每帧画面的实际渲染时间即完整显示一帧画面的时间,是此帧画面的创建时间、此帧画面的渲染时间、此帧画面的数据发送时间的和,其中,画面的创建时间表示在Java中创建显示列表部分中OnDraw()方法占用的时间,画面的渲染时间表示渲染引擎执行显示列表所花的时间,画面的数据发送时间表示把一帧数据发送到屏幕上排版显示实际花费的时间。再将预设帧数画面的每帧画面的实际渲染时间相加得到预设帧数画面的实际渲染时间,即为预设帧数画面完成所有渲染过程所用的真实时间。通过获取预设帧数画面的实际渲染时间能够计算得到画面的渲染效率,进而获取每秒传输画面帧数FPS的准确值,为对安卓系统APP的画面流畅度的提高提供依据。
在本公开实施例的一个实施例中,优选地,预设帧数画面的标准渲染时间ST的计算公式为ST=N×T,其中,N为预设帧数,T为每帧画面的标准渲染时间。
在该实施例中,预设帧数画面的标准渲染时间即为预设帧数画面完成所有渲染过程所用的理论时间,通过预设帧数与每帧画面的标准渲染时间的乘积得到,每帧画面的标准渲染时间为每帧画面的最大渲染时间,例如,对于安卓系统应用程序的画面显示,要求在秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每帧画面的标准渲染时间为1/60,即为16.67ms,所以预设帧数画面的标准渲染时间为N乘以16.67。通过获取预设帧数画面的标准渲染时间能够计算得到画面的渲染效率,进而获取每秒传输画面帧数FPS的准确值,使得用户明确地了解画面流畅程度。
图4示出了本公开实施例的又一个实施例的每秒传输画面帧数的获取方法的流程示意图。其中,该方法包括:
步骤402,获取预设帧数画面中的每帧画面的实际渲染时间;
步骤404,根据每帧画面的实际渲染时间,通过第二公式计算预设帧数画面的实际渲染时间;
步骤406,根据预设帧数画面的实际渲染时间,通过第一公式计算预设帧数画面的帧补偿率;
步骤408,根据预设帧数画面的帧补偿率,通过第三公式计算每秒传输画面帧数;
其中,每帧画面的实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间;以及第二公式为
Figure BDA0001277171910000141
其中,T1为每帧画面的创建时间,T2为每帧画面的渲染执行时间,T3为每帧画面的数据发送时间,N为预设帧数;第一公式为
Figure BDA0001277171910000142
其中,FL为预设帧数画面的帧补偿率,ST为预设帧数画面的标准渲染时间,RT为预设帧数画面的实际渲染时间;第三公式为FPS=FL×M,其中,FPS为每秒传输画面帧数,M为每秒标准传输画面帧数。
在该实施例中,测定画面中每一帧画面的实际渲染时间,根据每一帧画面的实际渲染时间得到预设帧数的画面的实际渲染时间,由预设帧数的画面的实际渲染时间计算得到预设帧数画面的帧补偿率,根据预设帧数画面的帧补偿率与每秒标准传输画面帧数的乘积得到每秒传输画面帧数,其中,每秒标准传输画面帧数为保证画面的流畅度和清晰度的每秒传输画面帧数,例如对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每秒标准传输画面帧数为60帧,即实际传输画面帧数和实际渲染画面时间的乘积与标准渲染画面帧数和标准渲染画面时间的乘积是相同的(都为1秒),能够保证计算每秒传输画面帧数的准确性。
本公开实施例第二方面的实施例,提出一种每秒传输画面帧数的获取系统,图5示出了本公开实施例的一个实施例的每秒传输画面帧数的获取系统500的示意框图。其中,该系统包括:
时间获取单元502,用于测定预设帧数画面中的每帧画面的实际渲染时间;
计算单元504,用于根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率;以及根据预设帧数画面的帧补偿率,计算每秒传输画面帧数。
本公开实施例提供的每秒传输画面帧数的获取系统500,时间获取单元502测定画面中每一帧画面的实际渲染时间,其中实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间,计算单元504根据每一帧画面的渲染时间得到预设帧数的画面的实际渲染时间,由预设帧数的画面的实际渲染时间计算得到预设帧数画面的帧补偿率,再通过帧补偿率计算得到每秒传输画面帧数FPS的值。相比于现有技术中获取2秒内的画面帧数,本公开实施例能够保证获取时间为一秒,同时能够得到每一秒内的准确的画面帧数,使得用户清晰地了解到画面流畅程度,避免了在实际进行APP测试过程中出现APP页面掉帧导致APP响应较慢,进而导致的APP后续问题排查困难的问题,并且本公开实施例适用的安卓系统版本较广泛。
在本公开实施例的一个实施例中,优选地,计算单元504,具体用于:根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间;根据预设帧数画面的实际渲染时间,通过第一公式计算预设帧数画面的帧补偿率;第一公式为
Figure BDA0001277171910000151
其中,FL为预设帧数画面的帧补偿率,ST为预设帧数画面的标准渲染时间,RT为所述预设帧数画面的实际渲染时间。
在该实施例中,计算单元504通过每帧画面的实际渲染时间计算得到预设帧数画面的实际渲染时间,预设帧数画面的帧补偿率为预设帧数画面的标准渲染时间与预设帧数画面的实际渲染时间的比值的百分比,也即为预设帧数画面的渲染效率,通过计算得到预设帧数画面的帧补偿率进而能够获取到更加精准的每秒传输画面帧数FPS的值。其中,预设帧数画面的标准渲染时间必然小于等于预设帧数画面的实际渲染时间,并且在二者相等时相当于完全不存在掉帧。
在本公开实施例的一个实施例中,优选地,计算单元504,具体用于:根据每帧画面的实际渲染时间,通过第二公式计算预设帧数画面的实际渲染时间;其中,每帧画面的实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间;以及第二公式为
Figure BDA0001277171910000161
其中,T1为每帧画面的创建时间,T2为每帧画面的渲染执行时间,T3为每帧画面的数据发送时间,N为预设帧数。
在该实施例中,每帧画面的实际渲染时间即完整显示一帧画面的时间,是此帧画面的创建时间、此帧画面的渲染时间、此帧画面的数据发送时间的和,其中,画面的创建时间表示在Java中创建显示列表部分中OnDraw()方法占用的时间,画面的渲染时间表示渲染引擎执行显示列表所花的时间,画面的数据发送时间表示把一帧数据发送到屏幕上排版显示实际花费的时间。再将预设帧数画面的每帧画面的实际渲染时间相加得到预设帧数画面的实际渲染时间,即为预设帧数画面完成所有渲染过程所用的真实时间。通过获取预设帧数画面的实际渲染时间能够计算得到画面的渲染效率,进而获取每秒传输画面帧数FPS的准确值,为对安卓系统APP的画面流畅度的提高提供依据。
在本公开实施例的一个实施例中,优选地,预设帧数画面的标准渲染时间ST的计算公式为ST=N×T,其中,N为预设帧数,T为每帧画面的标准渲染时间。
在该实施例中,预设帧数画面的标准渲染时间即为预设帧数画面完成所有渲染过程所用的理论时间,计算单元504通过预设帧数与每帧画面的标准渲染时间的乘积得到预设帧数画面的标准渲染时间,每帧画面的标准渲染时间为每帧画面的最大渲染时间,例如,对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每帧画面的标准渲染时间为1/60,即为16.67ms,所以预设帧数画面的标准渲染时间为N乘以16.67。通过获取预设帧数画面的标准渲染时间能够计算得到画面的渲染效率,进而获取每秒传输画面帧数FPS的准确值,使得用户明确地了解画面流畅程度。
在本公开实施例的一个实施例中,优选地,计算单元504,还用于:根据预设帧数画面的帧补偿率,通过第三公式计算每秒传输画面帧数;第三公式为FPS=FL×M,其中,FPS为每秒传输画面帧数,M为每秒标准传输画面帧数。
在该实施例中,计算单元504根据预设帧数画面的帧补偿率与每秒标准传输画面帧数的乘积得到每秒传输画面帧数,其中,每秒标准传输画面帧数为保证画面的流畅度和清晰度的每秒传输画面帧数,例如对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每秒标准传输画面帧数为60帧,即实际传输画面帧数和实际渲染画面时间的乘积与标准渲染画面帧数和标准渲染画面时间的乘积是相同的(都为1秒),能够保证计算每秒传输画面帧数的准确性。
本公开实施例第三方面的实施例,提出一种计算机设备,图6示出了本公开实施例的一个实施例的计算机设备600的示意框图。其中,该设备包括:
存储器602、处理器604及存储在存储器602上并可在处理器604上运行的计算机程序,处理器604执行计算机程序时实现以下步骤:测定预设帧数画面中的每帧画面的实际渲染时间;根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率;根据预设帧数画面的帧补偿率,计算每秒传输画面帧数。
本公开实施例提供的计算机设备600,通过处理器604执行存储在存储器602中的计算机程序,测定画面中每一帧画面的实际渲染时间,根据每一帧画面的实际渲染时间得到预设帧数的画面的实际渲染时间,由预设帧数的画面的实际渲染时间计算得到预设帧数画面的帧补偿率,再通过帧补偿率计算得到每秒传输画面帧数FPS的值。能够保证获取时间为一秒,同时能够得到每一秒内的准确的画面帧数,使得用户清晰地了解到画面流畅程度,避免了在实际进行APP测试过程中出现APP页面掉帧导致APP响应较慢,进而导致的APP后续问题排查困难的问题,并且本公开实施例适用的安卓系统版本较广泛。
在本公开实施例的一个实施例中,优选地,根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率的步骤,包括:根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间;根据预设帧数画面的实际渲染时间,通过第一公式计算预设帧数画面的帧补偿率;第一公式为
Figure BDA0001277171910000181
其中,FL为预设帧数画面的帧补偿率,ST为预设帧数画面的标准渲染时间,RT为预设帧数画面的实际渲染时间;根据预设帧数画面的帧补偿率,计算每秒传输画面帧数,具体包括:根据预设帧数画面的帧补偿率,通过第三公式计算每秒传输画面帧数;第三公式为FPS=FL×M,其中,FPS为每秒传输画面帧数,M为每秒标准传输画面帧数。
在该实施例中,通过每帧画面的实际渲染时间计算得到预设帧数画面的实际渲染时间,预设帧数画面的帧补偿率为预设帧数画面的标准渲染时间与预设帧数画面的实际渲染时间的比值的百分比,根据预设帧数画面的帧补偿率与每秒标准传输画面帧数的乘积得到每秒传输画面帧数,其中,每秒标准传输画面帧数为保证画面的流畅度和清晰度的每秒传输画面帧数,例如对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每秒标准传输画面帧数为60帧,即实际传输画面帧数和实际渲染画面时间的乘积与标准渲染画面帧数和标准渲染画面时间的乘积是相同的(都为1秒),通过计算得到预设帧数画面的帧补偿率进而能够获取到更加精准的每秒传输画面帧数FPS的值。能够保证计算每秒传输画面帧数的准确性。其中,预设帧数画面的标准渲染时间必然小于等于预设帧数画面的实际渲染时间,并且在二者相等时相当于完全不存在掉帧。
在本公开实施例的一个实施例中,优选地,根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间,具体包括:根据每帧画面的实际渲染时间,通过第二公式计算预设帧数画面的实际渲染时间;其中,每帧画面的实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间;以及第二公式为
Figure BDA0001277171910000182
其中,T1为每帧画面的创建时间,T2为每帧画面的渲染执行时间,T3为每帧画面的数据发送时间,N为预设帧数;预设帧数画面的标准渲染时间ST的计算公式为ST=N×T,其中,N为预设帧数,T为每帧画面的标准渲染时间。
在该实施例中,每帧画面的实际渲染时间即完整显示一帧画面的时间,是此帧画面的创建时间、此帧画面的渲染时间、此帧画面的数据发送时间的和,再将预设帧数画面的每帧画面的实际渲染时间相加得到预设帧数画面的实际渲染时间,即为预设帧数画面完成所有渲染过程所用的真实时间。其中,画面的创建时间表示在Java中创建显示列表部分中OnDraw()方法占用的时间,画面的渲染时间表示渲染引擎执行显示列表所花的时间,画面的数据发送时间表示把一帧数据发送到屏幕上排版显示实际花费的时间。预设帧数画面的标准渲染时间即为预设帧数画面完成所有渲染过程所用的理论时间,通过预设帧数与每帧画面的标准渲染时间的乘积得到,每帧画面的标准渲染时间为每帧画面的最大渲染时间,例如,对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每帧画面的标准渲染时间为1/60,即为16.67ms,所以预设帧数画面的标准渲染时间为N乘以16.67。通过获取预设帧数画面的实际渲染时间和预设帧数画面的标准渲染时间能够计算得到画面的渲染效率,进而获取每秒传输画面帧数FPS的准确值,为对安卓系统APP的画面流畅度的提高提供依据。
本公开实施例第四方面的实施例,提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:测定预设帧数画面中的每帧画面的实际渲染时间;根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率;根据预设帧数画面的帧补偿率,计算每秒传输画面帧数。
本公开实施例提供的计算机可读存储介质,计算机程序被处理器执行时能够实现:测定画面中每一帧画面的实际渲染时间,根据每一帧画面的实际渲染时间得到预设帧数的画面的实际渲染时间,由预设帧数的画面的实际渲染时间计算得到预设帧数画面的帧补偿率,再通过帧补偿率计算得到每秒传输画面帧数FPS的值。能够保证获取时间为一秒,同时能够得到每一秒内的准确的画面帧数,使得用户清晰地了解到画面流畅程度,避免了在实际进行APP测试过程中出现APP页面掉帧导致APP响应较慢,进而导致的APP后续问题排查困难的问题,并且本公开实施例适用的安卓系统版本较广泛。
在本公开实施例的一个实施例中,优选地,根据每帧画面的实际渲染时间,计算预设帧数画面的帧补偿率的步骤,包括:根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间;根据预设帧数画面的实际渲染时间,通过第一公式计算预设帧数画面的帧补偿率;第一公式为
Figure BDA0001277171910000201
其中,FL为预设帧数画面的帧补偿率,ST为预设帧数画面的标准渲染时间,RT为预设帧数画面的实际渲染时间;根据预设帧数画面的帧补偿率,计算每秒传输画面帧数,具体包括:根据预设帧数画面的帧补偿率,通过第三公式计算每秒传输画面帧数;第三公式为FPS=FL×M,其中,FPS为每秒传输画面帧数,M为每秒标准传输画面帧数。
在该实施例中,通过每帧画面的实际渲染时间计算得到预设帧数画面的实际渲染时间,预设帧数画面的帧补偿率为预设帧数画面的标准渲染时间与预设帧数画面的实际渲染时间的比值的百分比,根据预设帧数画面的帧补偿率与每秒标准传输画面帧数的乘积得到每秒传输画面帧数,其中,每秒标准传输画面帧数为保证画面的流畅度和清晰度的每秒传输画面帧数,例如对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每秒标准传输画面帧数为60帧,即实际传输画面帧数和实际渲染画面时间的乘积与标准渲染画面帧数和标准渲染画面时间的乘积是相同的(都为1秒),通过计算得到预设帧数画面的帧补偿率进而能够获取到更加精准的每秒传输画面帧数FPS的值。能够保证计算每秒传输画面帧数的准确性。其中,预设帧数画面的标准渲染时间必然小于等于预设帧数画面的实际渲染时间,并且在二者相等时相当于完全不存在掉帧。
在本公开实施例的一个实施例中,优选地,根据每帧画面的实际渲染时间,计算预设帧数画面的实际渲染时间,具体包括:根据每帧画面的实际渲染时间,通过第二公式计算预设帧数画面的实际渲染时间;其中,每帧画面的实际渲染时间包括每帧画面的创建时间、每帧画面的渲染执行时间、每帧画面的数据发送时间;以及第二公式为
Figure BDA0001277171910000202
其中,T1为每帧画面的创建时间,T2为每帧画面的渲染执行时间,T3为每帧画面的数据发送时间,N为预设帧数;预设帧数画面的标准渲染时间ST的计算公式为ST=N×T,其中,N为预设帧数,T为每帧画面的标准渲染时间。
在该实施例中,每帧画面的实际渲染时间即完整显示一帧画面的时间,是此帧画面的创建时间、此帧画面的渲染时间、此帧画面的数据发送时间的和,再将预设帧数画面的每帧画面的实际渲染时间相加得到预设帧数画面的实际渲染时间,即为预设帧数画面完成所有渲染过程所用的真实时间。其中,画面的创建时间表示在Java中创建显示列表部分中OnDraw()方法占用的时间,画面的渲染时间表示渲染引擎执行显示列表所花的时间,画面的数据发送时间表示把一帧数据发送到屏幕上排版显示实际花费的时间。预设帧数画面的标准渲染时间即为预设帧数画面完成所有渲染过程所用的理论时间,通过预设帧数与每帧画面的标准渲染时间的乘积得到,每帧画面的标准渲染时间为每帧画面的最大渲染时间,例如,对于安卓系统应用程序的画面显示,要求在1秒传输60帧画面的标准的情况下才能够保证画面的流畅度和清晰度,所以每帧画面的标准渲染时间为1/60,即为16.67ms,所以预设帧数画面的标准渲染时间为N乘以16.67。通过获取预设帧数画面的实际渲染时间和预设帧数画面的标准渲染时间能够计算得到画面的渲染效率,进而获取每秒传输画面帧数FPS的准确值,为对安卓系统APP的画面流畅度的提高提供依据。
在本公开实施例的具体实施例中,基于安卓应用的每秒传输画面帧数的获取方法的步骤包括:
步骤一,调用adb shell dumpsys gfxinfo<PACKAGE_NAME>命令后会打印出如图7所示的截屏的内容,其中Draw为画面的创建时间、Process为画面的渲染时间、Execute为画面的数据发送时间,通过读取解析打印的数据获取每秒内打印的各个帧的具体实际消耗时间(即每帧画面的实际渲染时间),打印出的数据行数代表帧数。
步骤二,读取数据之后为了更加可靠的计算出真实的FPS,需要定义3个新的变量standTime、realTime、frameLeak,standTime为一定数量帧完成所有渲染过程所用的标准时间,计算方式为帧数乘以16.67ms;realTime为一定数量帧完成所有渲染过程所用的真实时间,为一定数量帧中每一帧的具体实际消耗时间相加的和;frameLeak为帧补偿率,是标准时间和实际时间之间的比值。如图7所示数据,具体计算为:
standTime=4×16.67=66.68;
realTime=(10.91+26.05+2.92)+(13.88+12.35+0.28)+(1.78+5.53+0.54)+(0.15+3.68+0.73)=78.8。
其中,standTime必然小于等于realTime(二者相等时相当于完全不存在掉帧),根据standTime和realTime计算出帧补偿率frameLeak=standTime/realTime=66.68/78.8×100%=84.61%。
步骤三,通过上述计算获取到任意帧数画面的帧补偿率(渲染效率),FPS值的单位周期为1s,那么只要将上述的计算时间间隔控制在1s(也就是使标准的渲染帧数为60帧)就可以实现准确的FPS值的计算,FPS计算公式为:FPS=frameLeak×60。
因此,通过本公开实施例能够计算出真实每秒能够刷新的帧数,也就是FPS值。此外,由于帧补偿率本身的特点,当某一秒内没有图像刷新,或者只刷新很少的帧数(1帧),那么FPS数值就是60,FPS数值是可以同用户的实际直观感受相匹配的。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本公开实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本公开实施例的优选实施例而已,并不用于限制本公开实施例,对于本领域的技术人员来说,本公开实施例可以有各种更改和变化。凡在本公开实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开实施例的保护范围之内。

Claims (12)

1.一种每秒传输画面帧数的获取方法,其特征在于,包括:
获取预设帧数画面中的每帧画面的实际渲染时间;
根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的帧补偿率;
根据所述预设帧数画面的帧补偿率,计算所述每秒传输画面帧数;
其中,所述预设帧数画面的帧补偿率用于表征所述预设帧数画面的渲染效率;
其中,所述根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的帧补偿率的步骤,包括:
根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的实际渲染时间;
根据所述预设帧数画面的实际渲染时间,通过第一公式计算所述预设帧数画面的帧补偿率;
所述第一公式为
Figure FDA0003078833930000011
其中,FL为所述预设帧数画面的帧补偿率,ST为所述预设帧数画面的标准渲染时间,RT为所述预设帧数画面的实际渲染时间。
2.根据权利要求1所述的每秒传输画面帧数的获取方法,其特征在于,所述根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的实际渲染时间,具体包括:
根据所述每帧画面的实际渲染时间,通过第二公式计算所述预设帧数画面的实际渲染时间;
其中,所述每帧画面的实际渲染时间包括所述每帧画面的创建时间、所述每帧画面的渲染执行时间、所述每帧画面的数据发送时间;以及
所述第二公式为
Figure FDA0003078833930000012
其中,T1为所述每帧画面的创建时间,T2为所述每帧画面的渲染执行时间,T3为所述每帧画面的数据发送时间,N为所述预设帧数。
3.根据权利要求1所述的每秒传输画面帧数的获取方法,其特征在于,所述预设帧数画面的标准渲染时间ST的计算公式为
ST=N×T,
其中,N为所述预设帧数,T为所述每帧画面的标准渲染时间。
4.根据权利要求1所述的每秒传输画面帧数的获取方法,其特征在于,所述根据所述预设帧数画面的帧补偿率,计算所述每秒传输画面帧数,具体包括:
根据所述预设帧数画面的帧补偿率,通过第三公式计算所述每秒传输画面帧数;
所述第三公式为
FPS=FL×M,
其中,FPS为所述每秒传输画面帧数,M为每秒标准传输画面帧数。
5.一种每秒传输画面帧数的获取系统,其特征在于,包括:
时间获取单元,用于获取预设帧数画面中的每帧画面的实际渲染时间;
计算单元,用于根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的帧补偿率;以及
根据所述预设帧数画面的帧补偿率,计算所述每秒传输画面帧数;
其中,所述预设帧数画面的帧补偿率用于表征所述预设帧数画面的渲染效率;
其中,所述计算单元,具体用于:
根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的实际渲染时间;
根据所述预设帧数画面的实际渲染时间,通过第一公式计算所述预设帧数画面的帧补偿率;
所述第一公式为
Figure FDA0003078833930000021
其中,FL为所述预设帧数画面的帧补偿率,ST为所述预设帧数画面的标准渲染时间,RT为所述预设帧数画面的实际渲染时间。
6.根据权利要求5所述的每秒传输画面帧数的获取系统,其特征在于,所述计算单元,具体用于:
根据所述每帧画面的实际渲染时间,通过第二公式计算所述预设帧数画面的实际渲染时间;
其中,所述每帧画面的实际渲染时间包括所述每帧画面的创建时间、所述每帧画面的渲染执行时间、所述每帧画面的数据发送时间;以及
所述第二公式为
Figure FDA0003078833930000031
其中,T1为所述每帧画面的创建时间,T2为所述每帧画面的渲染执行时间,T3为所述每帧画面的数据发送时间,N为所述预设帧数。
7.根据权利要求5所述的每秒传输画面帧数的获取系统,其特征在于,所述预设帧数画面的标准渲染时间ST的计算公式为
ST=N×T,
其中,N为所述预设帧数,T为所述每帧画面的标准渲染时间。
8.根据权利要求5所述的每秒传输画面帧数的获取系统,其特征在于,所述计算单元,还用于:
根据所述预设帧数画面的帧补偿率,通过第三公式计算所述每秒传输画面帧数;
所述第三公式为
FPS=FL×M,
其中,FPS为所述每秒传输画面帧数,M为每秒标准传输画面帧数。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
获取预设帧数画面中的每帧画面的实际渲染时间;
根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的帧补偿率;
根据所述预设帧数画面的帧补偿率,计算每秒传输画面帧数;
其中,所述预设帧数画面的帧补偿率用于表征所述预设帧数画面的渲染效率;
其中,所述根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的帧补偿率的步骤,包括:
根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的实际渲染时间;
根据所述预设帧数画面的实际渲染时间,通过第一公式计算所述预设帧数画面的帧补偿率;
所述第一公式为
Figure FDA0003078833930000041
其中,FL为所述预设帧数画面的帧补偿率,ST为所述预设帧数画面的标准渲染时间,RT为所述预设帧数画面的实际渲染时间;
所述根据所述预设帧数画面的帧补偿率,计算所述每秒传输画面帧数,具体包括:
根据所述预设帧数画面的帧补偿率,通过第三公式计算所述每秒传输画面帧数;
所述第三公式为
FPS=FL×M,
其中,FPS为所述每秒传输画面帧数,M为每秒标准传输画面帧数。
10.根据权利要求9所述的计算机设备,其特征在于,所述根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的实际渲染时间,具体包括:
根据所述每帧画面的实际渲染时间,通过第二公式计算所述预设帧数画面的实际渲染时间;
其中,所述每帧画面的实际渲染时间包括所述每帧画面的创建时间、所述每帧画面的渲染执行时间、所述每帧画面的数据发送时间;以及
所述第二公式为
Figure FDA0003078833930000051
其中,T1为所述每帧画面的创建时间,T2为所述每帧画面的渲染执行时间,T3为所述每帧画面的数据发送时间,N为所述预设帧数;
所述预设帧数画面的标准渲染时间ST的计算公式为
ST=N×T,
其中,N为所述预设帧数,T为所述每帧画面的标准渲染时间。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
获取预设帧数画面中的每帧画面的实际渲染时间;
根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的帧补偿率;
根据所述预设帧数画面的帧补偿率,计算每秒传输画面帧数;
其中,所述预设帧数画面的帧补偿率用于表征所述预设帧数画面的渲染效率;
其中,所述根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的帧补偿率的步骤,包括:
根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的实际渲染时间;
根据所述预设帧数画面的实际渲染时间,通过第一公式计算所述预设帧数画面的帧补偿率;
所述第一公式为
Figure FDA0003078833930000052
其中,FL为所述预设帧数画面的帧补偿率,ST为所述预设帧数画面的标准渲染时间,RT为所述预设帧数画面的实际渲染时间;
所述根据所述预设帧数画面的帧补偿率,计算所述每秒传输画面帧数,具体包括:
根据所述预设帧数画面的帧补偿率,通过第三公式计算所述每秒传输画面帧数;
所述第三公式为
FPS=FL×M,
其中,FPS为所述每秒传输画面帧数,M为每秒标准传输画面帧数。
12.根据权利要求11所述的计算机可读存储介质,其特征在于,
所述根据所述每帧画面的实际渲染时间,计算所述预设帧数画面的实际渲染时间,具体包括:
根据所述每帧画面的实际渲染时间,通过第二公式计算所述预设帧数画面的实际渲染时间;
其中,所述每帧画面的实际渲染时间包括所述每帧画面的创建时间、所述每帧画面的渲染执行时间、所述每帧画面的数据发送时间;以及
所述第二公式为
Figure FDA0003078833930000061
其中,T1为所述每帧画面的创建时间,T2为所述每帧画面的渲染执行时间,T3为所述每帧画面的数据发送时间,N为所述预设帧数;
所述预设帧数画面的标准渲染时间ST的计算公式为
ST=N×T,
其中,N为所述预设帧数,T为所述每帧画面的标准渲染时间。
CN201710270269.5A 2017-04-24 2017-04-24 每秒传输画面帧数的获取方法、系统及计算机设备 Active CN108733544B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710270269.5A CN108733544B (zh) 2017-04-24 2017-04-24 每秒传输画面帧数的获取方法、系统及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710270269.5A CN108733544B (zh) 2017-04-24 2017-04-24 每秒传输画面帧数的获取方法、系统及计算机设备

Publications (2)

Publication Number Publication Date
CN108733544A CN108733544A (zh) 2018-11-02
CN108733544B true CN108733544B (zh) 2021-11-02

Family

ID=63933760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710270269.5A Active CN108733544B (zh) 2017-04-24 2017-04-24 每秒传输画面帧数的获取方法、系统及计算机设备

Country Status (1)

Country Link
CN (1) CN108733544B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764986B (zh) * 2019-10-12 2023-05-23 北京奇艺世纪科技有限公司 页面流畅度检测方法及装置
CN111611115B (zh) * 2020-05-12 2023-10-13 北京达佳互联信息技术有限公司 帧速率的检测方法和装置
CN114510406A (zh) * 2022-02-08 2022-05-17 北京字节跳动网络技术有限公司 检测帧率的方法及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103366391A (zh) * 2013-06-26 2013-10-23 广州市动景计算机科技有限公司 动态图像的画面渲染方法及画面渲染装置
CN103473011A (zh) * 2013-09-03 2013-12-25 小米科技有限责任公司 一种移动终端性能检测方法、装置及移动终端
CN105094272A (zh) * 2014-05-14 2015-11-25 中兴通讯股份有限公司 一种终端的硬件刷新率的调节方法及装置
CN105869199A (zh) * 2015-02-09 2016-08-17 三星电子株式会社 用于处理动画的装置和方法
CN106339300A (zh) * 2016-08-12 2017-01-18 武汉斗鱼网络科技有限公司 一种第三方游戏的fps获取方法及获取系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103366391A (zh) * 2013-06-26 2013-10-23 广州市动景计算机科技有限公司 动态图像的画面渲染方法及画面渲染装置
CN103473011A (zh) * 2013-09-03 2013-12-25 小米科技有限责任公司 一种移动终端性能检测方法、装置及移动终端
CN105094272A (zh) * 2014-05-14 2015-11-25 中兴通讯股份有限公司 一种终端的硬件刷新率的调节方法及装置
CN105869199A (zh) * 2015-02-09 2016-08-17 三星电子株式会社 用于处理动画的装置和方法
CN106339300A (zh) * 2016-08-12 2017-01-18 武汉斗鱼网络科技有限公司 一种第三方游戏的fps获取方法及获取系统

Also Published As

Publication number Publication date
CN108733544A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
CN108733544B (zh) 每秒传输画面帧数的获取方法、系统及计算机设备
US10607412B2 (en) Mixed reality presentation system
JP4905552B2 (ja) 画質調整能力測定方法、装置およびプログラム、並びに画質調整方法、装置およびプログラム
JP2012025064A5 (zh)
US20140111524A1 (en) Method and terminal for displaying an animation
CN112511816A (zh) 一种视频延时测试系统、方法、装置、设备和存储介质
JP2010016804A5 (zh)
JP2014186487A (ja) 複合現実提示システム、仮想現実提示システム、表示装置、情報処理装置、制御方法、プログラム
JP2013024908A5 (zh)
WO2022239793A1 (ja) 被験者分析装置
CN111013131B (zh) 延迟数据获取方法、电子设备及存储介质
JP2014003510A5 (ja) 送信装置、映像表示装置、送信方法、映像表示方法、及びプログラム
JP2020531998A5 (zh)
CN110766575B (zh) 一种作业批改与作业批改显示方法、装置及介质
JP2011176455A5 (zh)
CN113050800B (zh) 一种电子设备及处理方法
US20210142050A1 (en) Motion analysis device, motion analysis method and recording medium
JP2019103008A (ja) プログラム、情報処理装置、および情報処理方法
CN116150515A (zh) 分辨率dpi的自适应渲染方法、系统、存储介质及计算机设备
JP4763661B2 (ja) 画質評価方法、プログラム及び装置
JP2017044840A5 (zh)
JP2021077300A5 (zh)
JP2021056963A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2021076923A5 (zh)
CN110836705A (zh) 一种液位视频分析方法及装置

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