CN111966557B - 监测浏览器帧率的方法及装置 - Google Patents

监测浏览器帧率的方法及装置 Download PDF

Info

Publication number
CN111966557B
CN111966557B CN201910420716.XA CN201910420716A CN111966557B CN 111966557 B CN111966557 B CN 111966557B CN 201910420716 A CN201910420716 A CN 201910420716A CN 111966557 B CN111966557 B CN 111966557B
Authority
CN
China
Prior art keywords
browser
preset
frame rate
interface
current frame
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
CN201910420716.XA
Other languages
English (en)
Other versions
CN111966557A (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 CHJ Automotive Information Technology Co Ltd
Original Assignee
Beijing CHJ Automotive Information Technology 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 CHJ Automotive Information Technology Co Ltd filed Critical Beijing CHJ Automotive Information Technology Co Ltd
Priority to CN201910420716.XA priority Critical patent/CN111966557B/zh
Publication of CN111966557A publication Critical patent/CN111966557A/zh
Application granted granted Critical
Publication of CN111966557B publication Critical patent/CN111966557B/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/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种监测浏览器帧率的方法及装置,涉及浏览器技术领域,其目的在于实时监测不具有帧率监测功能的浏览器对应的当前帧率。本发明的方法包括:判断浏览器是否能够调用第一预设接口;若能调用,则通过调用所述第一预设接口获取所述浏览器对应的当前帧率;若不能调用,则调用预设函数,其中,所述预设函数用于在预设时长内调用第二预设接口;统计所述第二预设接口在所述预设时长内被调用的次数,并根据所述预设时长和所述次数计算所述浏览器对应的当前帧率。本发明适用于实时监测浏览器对应的当前帧率的过程中。

Description

监测浏览器帧率的方法及装置
技术领域
本发明涉及浏览器技术领域,特别是涉及一种监测浏览器帧率的方法及装置。
背景技术
近些年来,随着科学技术的不断发展,互联网技术越来越成熟,浏览器的普及率也越来越高,通过浏览器浏览信息已经成为人们日常生活中不可或缺的一部分。其中,浏览器的性能极大地影响着用户浏览信息的体验,而浏览器的流畅度便是衡量浏览器性能的重要指标之一,对于浏览器而言,浏览器的帧率越大,显示效果就会越流畅。
目前,对于具有帧率监测功能的浏览器而言,浏览器可以通过自带的帧率监测功能监测自身的当前帧率;但是,对于不具有帧率监测功能的浏览器而言,浏览器并不能监测到自身的当前帧率。因此,对于不具有帧率监测功能的浏览器而言,如何实时监测浏览器的当前帧率是目前亟需解决的问题。
发明内容
有鉴于此,本发明提供一种监测浏览器帧率的方法及装置,主要目的在于实时监测不具有帧率监测功能的浏览器对应的当前帧率。
为了达到上述目的,本发明主要提供如下技术方案:
第一方面,本发明提供了一种监测浏览器帧率的方法,该方法包括:
判断浏览器是否能够调用第一预设接口;
若能调用,则通过调用所述第一预设接口获取所述浏览器对应的当前帧率;
若不能调用,则调用预设函数,其中,所述预设函数用于在预设时长内调用第二预设接口;
统计所述第二预设接口在所述预设时长内被调用的次数,并根据所述预设时长和所述次数计算所述浏览器对应的当前帧率。
可选的,所述方法还包括:
判断所述浏览器对应的当前帧率是否小于预设帧率阈值;
若是,则将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中;
按照预设周期在所述浏览器的本地存储空间中获取已缓存的相关数据,并将所述已缓存的相关数据发送至服务器。
可选的,所述将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中,包括:
通过调用第三预设接口,将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中。
可选的,所述根据所述预设时长和所述次数计算所述浏览器对应的当前帧率,包括:
计算所述次数与所述预设时长的比值;
将所述比值确定为所述浏览器对应的当前帧率。
可选的,所述第三预设接口为服务工作者接口。
可选的,所述第一预设接口为网页性能计时接口。
可选的,所述第二预设接口为请求动画帧接口。
第二方面,本发明还提供一种监测浏览器帧率的装置,该装置包括:
第一判断单元,用于判断浏览器是否能够调用第一预设接口;
第一获取单元,用于当所述第一判断单元判断所述浏览器能够调用所述第一预设接口时,通过调用所述第一预设接口获取所述浏览器对应的当前帧率;
调用单元,用于当所述第一判断单元判断所述浏览器不能调用所述第一预设接口时,调用预设函数,其中,所述预设函数用于在预设时长内调用第二预设接口;
统计单元,用于统计所述第二预设接口在所述预设时长内被调用的次数;
计算单元,用于根据所述预设时长和所述统计单元统计的所述次数计算所述浏览器对应的当前帧率。
可选的,所述装置还包括:
第二判断单元,用于判断所述浏览器对应的当前帧率是否小于预设帧率阈值;
缓存单元,用于当所述第二判断单元判断所述浏览器对应的当前帧率小于预设帧率阈值时,将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中;
第二获取单元,用于按照预设周期在所述浏览器的本地存储空间中获取已缓存的相关数据;
发送单元,用于将所述第二获取单元获取的所述已缓存的相关数据发送至服务器。
可选的,所述缓存单元包括:
缓存模块,用于通过调用第三预设接口,将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中。
可选的,所述计算单元包括:
计算模块,用于计算所述次数与所述预设时长的比值;
确定模块,用于将所述计算模块计算的所述比值确定为所述浏览器对应的当前帧率。
可选的,所述第三预设接口为服务工作者接口。
可选的,所述第一预设接口为网页性能计时接口。
可选的,所述第二预设接口为请求动画帧接口。
第三方面,本发明的实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行第一方面所述的监测浏览器帧率的方法。
第四方面,本发明的实施例提供了一种监测浏览器帧率的装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行第一方面所述的监测浏览器帧率的方法。
借由上述技术方案,本发明提供的技术方案至少具有下列优点:
本发明提供一种监测浏览器帧率的方法及装置,首先判断浏览器是否能够调用第一预设接口,当判定浏览器能够调用第一预设接口时,通过控制浏览器调用第一预设接口,来获取浏览器对应的当前帧率;当判定浏览器不能调用第一预设接口时,通过控制浏览器调用预设函数,来统计第二预设接口在预设时长内被调用的次数,从而根据第二预设接口被调用的次数和预设时长来计算浏览器对应的当前帧率。由于,对于目前大多数的浏览器而言,都是支持调用第一预设接口(即网页性能计时接口)的,因此,可以采用控制浏览器调用第一预设接口的方式,来获取这类浏览器对应的当前帧率;而对于部分版本过于老旧(不支持调用第一预设接口)的浏览器而言,可以采用控制浏览器调用预设函数,来统计第二预设接口(即请求动画帧接口)在预设时长内被调用的次数,从而根据第二预设接口被调用的次数和预设时长来计算浏览器对应的当前帧率,因此,本发明能够实时监测不具有帧率监测功能的浏览器对应的当前帧率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种监测浏览器帧率的方法流程图;
图2示出了本发明实施例提供的另一种监测浏览器帧率的方法流程图;
图3示出了本发明实施例提供的一种监测浏览器帧率的装置的组成框图;
图4示出了本发明实施例提供的另一种监测浏览器帧率的装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供一种监测浏览器帧率的方法,如图1所示,该方法包括:
101、判断浏览器是否能够调用第一预设接口。
其中,浏览器可以但不限于为:浏览器APP(Application,应用程序)、APP中内嵌的浏览器等等,浏览器APP可以但不限于为:IE浏览器、360浏览器、QQ浏览器等等;其中,第一预设接口具体可以为:网页性能计时接口(Web Performance Timing API)。
在本发明实施例中,为了实时监测浏览器对应的当前帧率,首先需要判断浏览器是否能够调用第一预设接口,以便当判定浏览器能够调用第一预设接口时,可以通过控制浏览器调用第一预设接口,来获取浏览器对应的当前帧率;当判定浏览器不能调用第一预设接口时,可以通过控制浏览器调用预设函数,来统计第二预设接口在预设时长内被调用的次数,从而根据第二预设接口被调用的次数和预设时长来计算浏览器对应的当前帧率。
具体的,在本步骤中,可以通过控制浏览器执行一段预置代码来判断浏览器是否能够调用第一预设接口,但不限于此。
102a、若浏览器能够调用第一预设接口,则通过调用第一预设接口获取浏览器对应的当前帧率。
在本发明实施例中,对于支持调用第一预设接口的浏览器而言,在浏览器调用第一预设接口的过程中,通过第一预设接口便能获取得到浏览器对应的当前帧率,因此,当判定浏览器能够调用第一预设接口时,可以通过控制浏览器调用第一预设接口,来获取浏览器对应的当前帧率。
具体的,在本步骤中,当第一预设接口具体为网页性能计时接口(WebPerformance Timing API)时,先判断浏览器是否能够调用网页性能计时接口,当判定浏览器能够调用网页性能计时接口时,便可通过控制浏览器调用网页性能计时接口,来获取浏览器对应的当前帧率,但不限于此。
对于本发明实施例,与步骤102a并列的步骤102b、若浏览器不能调用第一预设接口,则调用预设函数。
其中,预设函数用于在预设时长内调用第二预设接口,预设时长可以但不限于为:1S、3S、5S等等,第二预设接口具体可以为:请求动画帧接口(requestAnimationFrameAPI)。
在本发明实施例中,对于目前大多数的浏览器而言,都是支持调用第一预设接口(即网页性能计时接口)的,但是对于部分版本过于老旧的浏览器(如IE6、IE7等等)而言,其并不支持调用第一预设接口,从而不能通过控制浏览器调用第一预设接口的方式,来获取浏览器对应的当前帧率,因此,当判定浏览器不能调用第一预设接口时,需要通过控制浏览器调用预设函数,来使浏览器在预设时长内不间断调用第二预设接口(即请求动画帧接口),以便后续根据第二预设接口在预设时长内被调用的次数和预设时长,来计算浏览器对应的当前帧率。
103b、统计第二预设接口在预设时长内被调用的次数,并根据预设时长和次数计算浏览器对应的当前帧率。
在本发明实施例中,在控制浏览器调用预设函数后,浏览器便会在预设时长内不断调用第二预设接口,此时,需要统计第二预设接口在预设时长内被浏览器调用的次数,以便根据第二预设接口在预设时长内被浏览器调用的次数和预设时长,来计算浏览器对应的当前帧率。
本发明实施例提供一种监测浏览器帧率的方法,首先判断浏览器是否能够调用第一预设接口,当判定浏览器能够调用第一预设接口时,通过控制浏览器调用第一预设接口,来获取浏览器对应的当前帧率;当判定浏览器不能调用第一预设接口时,通过控制浏览器调用预设函数,来统计第二预设接口在预设时长内被调用的次数,从而根据第二预设接口被调用的次数和预设时长来计算浏览器对应的当前帧率。由于,对于目前大多数的浏览器而言,都是支持调用第一预设接口(即网页性能计时接口)的,因此,可以采用控制浏览器调用第一预设接口的方式,来获取这类浏览器对应的当前帧率;而对于部分版本过于老旧(不支持调用第一预设接口)的浏览器而言,可以采用控制浏览器调用预设函数,来统计第二预设接口(即请求动画帧接口)在预设时长内被调用的次数,从而根据第二预设接口被调用的次数和预设时长来计算浏览器对应的当前帧率,因此,本发明实施例能够实时监测不具有帧率监测功能的浏览器对应的当前帧率。
以下为了更加详细地说明,本发明实施例提供了另一种监测浏览器帧率的方法,特别是将浏览器对应的相关数据缓存至浏览器的本地存储空间中的具体方法以及根据预设时长和第二预设接口在预设时长内被调用的次数计算浏览器对应的当前帧率的具体方法,具体如图2所示,该方法包括:
201、判断浏览器是否能够调用第一预设接口。
其中,关于步骤201、判断浏览器是否能够调用第一预设接口,可以参考图1对应部分的描述,本发明实施例此处将不再赘述。
202a、若浏览器能够调用第一预设接口,则通过调用第一预设接口获取浏览器对应的当前帧率。
其中,关于步骤202a、若浏览器能够调用第一预设接口,则通过调用第一预设接口获取浏览器对应的当前帧率,可以参考图1对应部分的描述,本发明实施例此处将不再赘述。
对于本发明实施例,与步骤202a并列的步骤202b、若浏览器不能调用第一预设接口,则调用预设函数。
其中,关于步骤202b、若浏览器不能调用第一预设接口,则调用预设函数,可以参考图1对应部分的描述,本发明实施例此处将不再赘述。
203b、统计第二预设接口在预设时长内被调用的次数。
其中,关于步骤203b、统计第二预设接口在预设时长内被调用的次数,可以参考图1对应部分的描述,本发明实施例此处将不再赘述。
204b、根据预设时长和次数计算浏览器对应的当前帧率。
在本发明实施例中,在统计出第二预设接口在预设时长内被浏览器调用的次数后,便可根据第二预设接口在预设时长内被浏览器调用的次数和预设时长,来计算浏览器对应的当前帧率。以下将对如何根据预设时长和次数计算浏览器对应的当前帧率进行详细说明。
(1)计算第二预设接口在预设时长内被浏览器调用的次数与预设时长的比值。
在本发明实施例中,在统计出第二预设接口在预设时长内被浏览器调用的次数后,需要计算第二预设接口在预设时长内被浏览器调用的次数与预设时长的比值,即使用第二预设接口在预设时长内被浏览器调用的次数除以预设时长,从而计算出两者的比值。
(2)将第二预设接口在预设时长内被浏览器调用的次数与预设时长的比值确定为浏览器对应的当前帧率。
在本发明实施例中,在计算出第二预设接口在预设时长内被浏览器调用的次数与预设时长的比值后,便可将第二预设接口在预设时长内被浏览器调用的次数与预设时长的比值确定为浏览器对应的当前帧率。例如,预设时长为3S,第二预设接口:请求动画帧接口(requestAnimationFrame API)在3S内被浏览器调用的次数为120次,则浏览器对应的当前帧率=120/3=40FPS。
对于本发明实施例,步骤202a和204b之后的步骤205、判断浏览器对应的当前帧率是否小于预设帧率阈值。
其中,预设帧率阈值可以但不限于为:30FPS、35FPS、40FPS等等。
在本发明实施例中,为了便于工作人员对浏览器进行流畅度优化,需要在浏览器出现卡顿现象(即浏览器对应的当前帧率过低)时,记录当前时刻浏览器对应的相关数据,因此,在监测到浏览器对应的当前帧率后,需要判断浏览器对应的当前帧率是否小于预设帧率阈值,从而判定浏览器是否出现卡顿现象。
206、若浏览器对应的当前帧率小于预设帧率阈值,则将浏览器对应的相关数据缓存至浏览器的本地存储空间中。
其中,浏览器对应的相关数据可以但不限于为:用户行为数据、当前网络状态等等。
在本发明实施例中,当判定浏览器对应的当前帧率小于预设帧率阈值(即判定浏览器出现卡顿现象)时,记录当前时刻浏览器对应的相关数据,即将浏览器对应的相关数据缓存至浏览器的本地存储空间中,以便后续按照预设周期将浏览器本地存储空间中存储的相关数据发送至服务器,从而为工作人员对浏览器进行流畅度优化提供数据支持。
具体的,在本步骤中,可以通过控制浏览器调用第三预设接口,即服务工作者接口(Service Worker API),将浏览器对应的相关数据缓存至浏览器的本地存储空间中。由于,浏览器在出现卡顿现象时,极大可能会导致自身崩溃,而Service Worker具有独立的工作线程,使得即使浏览器发生崩溃,也不会导致Service Worker发生崩溃,因此,通过控制浏览器调用服务工作者接口(Service Worker API),将浏览器对应的相关数据缓存至浏览器的本地存储空间中,可以更加有效的保存浏览器对应的相关数据。
207、按照预设周期在浏览器的本地存储空间中获取已缓存的相关数据,并将已缓存的相关数据发送至服务器。
其中,预设周期可以但不限于为:1小时、6小时、12小时、24小时等等。
在本发明实施例中,在将浏览器出现卡顿现象(即浏览器对应的当前帧率小于预设帧率阈值)时,浏览器对应的相关数据缓存至浏览器的本地存储空间后,便可按照预设周期在浏览器的本地存储空间中获取已缓存的相关数据,并控制浏览器将已缓存的相关数据发送至服务器,从而为工作人员对浏览器进行流畅度优化提供数据支持。
为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的监测浏览器帧率的方法。
为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种监测浏览器帧率的装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述所述的监测浏览器帧率的方法。
进一步的,作为对上述图1及图2所示方法的实现,本发明另一实施例还提供了一种监测浏览器帧率的装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置应用于实时监测不具有帧率监测功能的浏览器对应的当前帧率,具体如图3所示,该装置包括:
第一判断单元31,用于判断浏览器是否能够调用第一预设接口;
第一获取单元32,用于当第一判断单元31判断所述浏览器能够调用所述第一预设接口时,通过调用所述第一预设接口获取所述浏览器对应的当前帧率;
调用单元33,用于当第一判断单元31判断所述浏览器不能调用所述第一预设接口时,调用预设函数,其中,所述预设函数用于在预设时长内调用第二预设接口;
统计单元34,用于统计所述第二预设接口在所述预设时长内被调用的次数;
计算单元35,用于根据所述预设时长和统计单元34统计的所述次数计算所述浏览器对应的当前帧率。
进一步的,如图4所示,该装置还包括:
第二判断单元36,用于判断所述浏览器对应的当前帧率是否小于预设帧率阈值;
缓存单元37,用于当第二判断单元36判断所述浏览器对应的当前帧率小于预设帧率阈值时,将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中;
第二获取单元38,用于按照预设周期在所述浏览器的本地存储空间中获取已缓存的相关数据;
发送单元39,用于将第二获取单元38获取的所述已缓存的相关数据发送至服务器。
进一步的,如图4所示,缓存单元37包括:
缓存模块371,用于通过调用第三预设接口,将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中。
进一步的,如图4所示,计算单元35包括:
计算模块351,用于计算所述次数与所述预设时长的比值;
确定模块352,用于将计算模块351计算的所述比值确定为所述浏览器对应的当前帧率。
进一步的,如图4所示,所述第三预设接口为服务工作者接口(Service WorkerAPI)。
进一步的,如图4所示,所述第一预设接口为网页性能计时接口(Web PerformanceTiming API)。
进一步的,如图4所示,所述第二预设接口为请求动画帧接口(requestAnimationFrame API)。
本发明提供一种监测浏览器帧率的方法及装置,首先判断浏览器是否能够调用第一预设接口,当判定浏览器能够调用第一预设接口时,通过控制浏览器调用第一预设接口,来获取浏览器对应的当前帧率;当判定浏览器不能调用第一预设接口时,通过控制浏览器调用预设函数,来统计第二预设接口在预设时长内被调用的次数,从而根据第二预设接口被调用的次数和预设时长来计算浏览器对应的当前帧率。由于,对于目前大多数的浏览器而言,都是支持调用第一预设接口(即网页性能计时接口)的,因此,可以采用控制浏览器调用第一预设接口的方式,来获取这类浏览器对应的当前帧率;而对于部分版本过于老旧(不支持调用第一预设接口)的浏览器而言,可以采用控制浏览器调用预设函数,来统计第二预设接口(即请求动画帧接口)在预设时长内被调用的次数,从而根据第二预设接口被调用的次数和预设时长来计算浏览器对应的当前帧率,因此,本发明实施例能够实时监测不具有帧率监测功能的浏览器对应的当前帧率;此外,本发明实施例还能够在监测到浏览器对应的当前帧率后,判断浏览器对应的当前帧率是否小于预设帧率阈值(判断浏览器是否出现卡顿现象),当判定浏览器对应的当前帧率小于预设帧率阈值时,将浏览器对应的相关数据缓存至浏览器的本地存储空间中,并按照预设周期将浏览器本地存储空间中存储的相关数据发送至服务器,从而可以为工作人员对浏览器进行流畅度优化提供数据支持。
所述监测浏览器帧率的装置包括处理器和存储器,上述第一判断单元、第一获取单元、调用单元、统计单元和计算单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实时监测不具有帧率监测功能的浏览器对应的当前帧率。
本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的监测浏览器帧率的方法。
存储介质可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例还提供了一种监测浏览器帧率的装置,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行上述所述的监测浏览器帧率的方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
判断浏览器是否能够调用第一预设接口;
若能调用,则通过调用所述第一预设接口获取所述浏览器对应的当前帧率;
若不能调用,则调用预设函数,其中,所述预设函数用于在预设时长内调用第二预设接口;
统计所述第二预设接口在所述预设时长内被调用的次数,并根据所述预设时长和所述次数计算所述浏览器对应的当前帧率。
进一步的,所述方法还包括:
判断所述浏览器对应的当前帧率是否小于预设帧率阈值;
若是,则将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中;
按照预设周期在所述浏览器的本地存储空间中获取已缓存的相关数据,并将所述已缓存的相关数据发送至服务器。
进一步的,所述将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中,包括:
通过调用第三预设接口,将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中。
进一步的,所述根据所述预设时长和所述次数计算所述浏览器对应的当前帧率,包括:
计算所述次数与所述预设时长的比值;
将所述比值确定为所述浏览器对应的当前帧率。
进一步的,所述第三预设接口为服务工作者接口(Service Worker API)。
进一步的,所述第一预设接口为网页性能计时接口(Web Performance TimingAPI)。
进一步的,所述第二预设接口为请求动画帧接口(requestAnimationFrame API)。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:判断浏览器是否能够调用第一预设接口;若能调用,则通过调用所述第一预设接口获取所述浏览器对应的当前帧率;若不能调用,则调用预设函数,其中,所述预设函数用于在预设时长内调用第二预设接口;统计所述第二预设接口在所述预设时长内被调用的次数,并根据所述预设时长和所述次数计算所述浏览器对应的当前帧率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种监测浏览器帧率的方法,其特征在于,包括:
判断浏览器是否能够调用第一预设接口,其中,所述第一预设接口为网页性能计时接口;
若能调用,则通过调用所述第一预设接口获取所述浏览器对应的当前帧率;
若不能调用,则调用预设函数,其中,所述预设函数用于在预设时长内调用第二预设接口,所述第二预设接口为请求动画帧接口;
统计所述第二预设接口在所述预设时长内被调用的次数,并根据所述预设时长和所述次数计算所述浏览器对应的当前帧率;
所述根据所述预设时长和所述次数计算所述浏览器对应的当前帧率,包括:
计算所述次数与所述预设时长的比值;
将所述比值确定为所述浏览器对应的当前帧率。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
判断所述浏览器对应的当前帧率是否小于预设帧率阈值;
若是,则将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中;
按照预设周期在所述浏览器的本地存储空间中获取已缓存的相关数据,并将所述已缓存的相关数据发送至服务器。
3.根据权利要求2所述的方法,其特征在于,所述将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中,包括:
通过调用第三预设接口,将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中。
4.根据权利要求3所述的方法,其特征在于,所述第三预设接口为服务工作者接口。
5.一种监测浏览器帧率的装置,其特征在于,包括:
第一判断单元,用于判断浏览器是否能够调用第一预设接口,其中,所述第一预设接口为网页性能计时接口;
第一获取单元,用于当所述第一判断单元判断所述浏览器能够调用所述第一预设接口时,通过调用所述第一预设接口获取所述浏览器对应的当前帧率;
调用单元,用于当所述第一判断单元判断所述浏览器不能调用所述第一预设接口时,调用预设函数,其中,所述预设函数用于在预设时长内调用第二预设接口,所述第二预设接口为请求动画帧接口;
统计单元,用于统计所述第二预设接口在所述预设时长内被调用的次数;
计算单元,用于根据所述预设时长和所述统计单元统计的所述次数计算所述浏览器对应的当前帧率;
所述计算单元包括:
计算模块,用于计算所述次数与所述预设时长的比值;
确定模块,用于将所述计算模块计算的所述比值确定为所述浏览器对应的当前帧率。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二判断单元,用于判断所述浏览器对应的当前帧率是否小于预设帧率阈值;
缓存单元,用于当所述第二判断单元判断所述浏览器对应的当前帧率小于预设帧率阈值时,将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中;
第二获取单元,用于按照预设周期在所述浏览器的本地存储空间中获取已缓存的相关数据;
发送单元,用于将所述第二获取单元获取的所述已缓存的相关数据发送至服务器。
7.根据权利要求6所述的装置,其特征在于,所述缓存单元包括:
缓存模块,用于通过调用第三预设接口,将所述浏览器对应的相关数据缓存至所述浏览器的本地存储空间中。
8.根据权利要求7所述的装置,其特征在于,所述第三预设接口为服务工作者接口。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4中任一项所述的监测浏览器帧率的方法。
10.一种监测浏览器帧率的装置,其特征在于,所述装置包括存储介质;及一个或者多个处理器,所述存储介质与所述处理器耦合,所述处理器被配置为执行所述存储介质中存储的程序指令;所述程序指令运行时执行权利要求1至4中任一项所述的监测浏览器帧率的方法。
CN201910420716.XA 2019-05-20 2019-05-20 监测浏览器帧率的方法及装置 Active CN111966557B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910420716.XA CN111966557B (zh) 2019-05-20 2019-05-20 监测浏览器帧率的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910420716.XA CN111966557B (zh) 2019-05-20 2019-05-20 监测浏览器帧率的方法及装置

Publications (2)

Publication Number Publication Date
CN111966557A CN111966557A (zh) 2020-11-20
CN111966557B true CN111966557B (zh) 2023-07-14

Family

ID=73357724

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910420716.XA Active CN111966557B (zh) 2019-05-20 2019-05-20 监测浏览器帧率的方法及装置

Country Status (1)

Country Link
CN (1) CN111966557B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347487B (zh) * 2021-06-17 2022-09-27 微微科技有限公司 一种自动兼容设备低电量的浏览器序列图视频化方法及终端

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102209140A (zh) * 2010-07-15 2011-10-05 优视科技有限公司 移动通讯设备终端的flash文件的浏览器播放方法及装置
CN106657680A (zh) * 2017-03-10 2017-05-10 广东欧珀移动通信有限公司 一种移动终端帧率的控制方法、装置及移动终端
US9652816B1 (en) * 2014-09-29 2017-05-16 Apple Inc. Reduced frame refresh rate
CN108205487A (zh) * 2016-12-20 2018-06-26 广州市动景计算机科技有限公司 一种监控浏览器性能的方法、装置及用户终端
CN108721898A (zh) * 2018-06-01 2018-11-02 深圳市腾讯网络信息技术有限公司 帧率的确定方法和装置、存储介质、电子装置
CN109032911A (zh) * 2018-07-24 2018-12-18 网易(杭州)网络有限公司 用于移动设备的帧率检测方法、装置及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102209140A (zh) * 2010-07-15 2011-10-05 优视科技有限公司 移动通讯设备终端的flash文件的浏览器播放方法及装置
US9652816B1 (en) * 2014-09-29 2017-05-16 Apple Inc. Reduced frame refresh rate
CN108205487A (zh) * 2016-12-20 2018-06-26 广州市动景计算机科技有限公司 一种监控浏览器性能的方法、装置及用户终端
CN106657680A (zh) * 2017-03-10 2017-05-10 广东欧珀移动通信有限公司 一种移动终端帧率的控制方法、装置及移动终端
CN108721898A (zh) * 2018-06-01 2018-11-02 深圳市腾讯网络信息技术有限公司 帧率的确定方法和装置、存储介质、电子装置
CN109032911A (zh) * 2018-07-24 2018-12-18 网易(杭州)网络有限公司 用于移动设备的帧率检测方法、装置及电子设备

Also Published As

Publication number Publication date
CN111966557A (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
US10404822B2 (en) Predictive rollup and caching for application performance data
US9979862B1 (en) Buffering method for video playing, storage medium and device
CN108089856B (zh) 一种页面元素的监听方法及装置
US10904112B2 (en) Automatic capture of detailed analysis information based on remote server analysis
US20170111814A1 (en) Methods and Systems for Performance Monitoring for Mobile Applications
US20120323838A1 (en) Dynamic heuristic web page caching based on the user's recent page visits
US20110041131A1 (en) Migrating tasks across processors
EP2199915B1 (en) Monitoring memory consumption
US9311598B1 (en) Automatic capture of detailed analysis information for web application outliers with very low overhead
CN108874672B (zh) 应用程序异常定位方法、装置、设备及存储介质
JPWO2005017736A1 (ja) ディスクアレイ装置におけるボトルネックを検出するシステムおよびプログラム
US9152220B2 (en) Incremental preparation of videos for delivery
CN110968279B (zh) 一种消息的降级方法及相关装置
JP5998764B2 (ja) 情報処理装置、ログ出力方法およびログ出力プログラム
WO2019094257A1 (en) Web page performance improvement system
CN111966557B (zh) 监测浏览器帧率的方法及装置
US8930631B2 (en) Efficient management of computer memory using memory page associations and memory
CN111125575A (zh) 网页数据处理方法和装置
CN108063746B (zh) 数据的处理方法、客户端、服务器及系统
CN106937173B (zh) 视频播放方法及装置
CN110069194B (zh) 页面卡顿确定方法、装置、电子设备及可读存储介质
US9298681B2 (en) Dynamic webpage change animation
EP3316134A1 (en) Webpage refresh based on memory consumption
CN103209212B (zh) 基于RIA的Web网管客户端中的数据缓存方法及系统
CN112559050A (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