CN103930885A - 测量网页渲染时间 - Google Patents

测量网页渲染时间 Download PDF

Info

Publication number
CN103930885A
CN103930885A CN201280056555.7A CN201280056555A CN103930885A CN 103930885 A CN103930885 A CN 103930885A CN 201280056555 A CN201280056555 A CN 201280056555A CN 103930885 A CN103930885 A CN 103930885A
Authority
CN
China
Prior art keywords
webpage
playing
video data
time
equipment
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
CN201280056555.7A
Other languages
English (en)
Other versions
CN103930885B (zh
Inventor
M.什穆艾利
O.罗森鲍姆
G.伯尚斯基
Y.佩莱德
M.D.费尔兹
C.埃尔根
M.D.德克
A.R.埃尔南德斯
M.P.科特塞纳斯
J.J.韦伯
周一鸣
K.C.庄
K.L.福德
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN103930885A publication Critical patent/CN103930885A/zh
Application granted granted Critical
Publication of CN103930885B publication Critical patent/CN103930885B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供用于测量能够独立于浏览器的网页的渲染时间的方案。在至少一些实施例中,在渲染网页时,网页的视频数据被捕获并被分析,以确定何时很可能已完全渲染了网页或其部分。在至少一些实施例中,能够对捕获的视频数据执行图像处理,以便从观察到的随着时间的推移的像素变化中确定何时很可能已渲染了网页。

Description

测量网页渲染时间
背景技术
由终端用户感知的网页加载时间已被证明是用户参与度的主要驱动因素。这转而已被证实是用户忠诚度以及来自广告的网站收入的期望指示符。然而,测量用户感知的网页加载时间已证实是复杂的任务。虽然确实存在用于测量网页加载时间的技术,但是这样的技术倾向于关注网络活动诸如网络流量或利用浏览器插件,而浏览器插件能够添加延迟并使得网页加载降级。可是,这些技术只提供加载时间的粗略近似并且不能测量在屏幕上渲染(render)的实际内容,而实际内容根据定义是用户在页面加载期间在屏幕上看到的内容。
发明内容
提供这个概述部分来以简化的形式介绍下面在详细描述部分中进一步描述的概念的选择。这个概述部分并不打算用于识别所请求保护的主题的关键特征或基本特征,也不打算被用作辅助手段来确定所请求保护的主题的范围。
各个实施例提供用于测量能够独立于浏览器的网页的渲染时间的方案。在至少一些实施例中,在网页被渲染时,网页的视频数据被捕获并被分析,以确定何时很可能已完全渲染了网页。在至少一些实施例中,能够对捕获的视频数据执行图像处理,以便从观察到的随着时间的推移的像素变化中确定何时很可能已渲染了网页。
在至少一些实施例中,通过所描述的分析技术能够确定与整个页面相关联的渲染时间。交替地或附加地,通过所描述的分析技术能够确定与特定页面的子区域相关联的渲染时间。在某些情况下,不感兴趣的区域能够被屏蔽或被忽略。
附图说明
参考附图来叙述详细的描述。在附图中,参考数字之中最左边的(一个或多个)数字识别该参考数字首次出现在其中的附图。在说明书和附图中在不同的情况下相同的参考数字的使用可以指示相似或相同的项。
图1是根据一个或多个实施例的示例实现方式中的环境的示意图。
图2是更详细地显示图1的示例实现方式中的系统的示意图。
图3说明根据一个或多个实施例的网页渲染。
图4说明根据一个或多个实施例的感兴趣区域。
图5-7说明根据一个或多个实施例的随着时间的推移“改变的像素”的图表。
图8是描述根据一个或多个实施例的方法中的步骤的流程图。
图9是描述根据一个或多个实施例的方法中的步骤的流程图。
图10说明能够用于实现在这里描述的各个实施例的示例计算设备。
具体实施方式
综述
各个实施例提供用于测量能够独立于浏览器的网页的渲染时间的方案。在至少一些实施例中,在渲染网页时,网页的视频数据被捕获并被分析,以确定何时很可能已完全渲染了网页。在至少一些实施例中,能够对捕获的视频数据执行图像处理,以便从观察到的随着时间的推移的像素变化中确定何时很可能已渲染了网页。
在至少一些实施例中,通过所描述的分析技术能够确定与整个页面相关联的渲染时间。交替地或附加地,通过所描述的分析技术能够确定与特定页面的子区域相关联的渲染时间。在某些情况下,不感兴趣的区域能够被屏蔽或被忽略。
各个实施例能够允许比较和分析在不同的网络浏览器之间的渲染时间。另外,在不同的网站之间的渲染时间能够采用用户将对其进行比较的相同方式来分析和比较。在这种情况下,能够制定量化的数据诸如基于时间的渲染量度,以便只要关系到网页加载时间就量化用户的视觉体验。
在下面的讨论中,首先描述可操作来采用在这里描述的技术的示例环境。随后描述可以在示例环境中以及在其他环境中采用的各个实施例的示例说明。相应地,示例环境不限于执行所描述的实施例,并且所描述的实施例不限于在示例环境中的实现。
示例操作环境
图1是可操作来采用在这个文档中描述的动画技术的示例实现方式中的环境100的示意图。所说明的环境100包括可以采用各种各样的方式来配置的计算设备102的示例。例如,计算设备102可以被配置成传统的计算机(例如桌上型个人计算机,膝上型计算机等等)、移动站、娱乐设备、通信地耦合至电视的机顶盒、无线电话、上网本、游戏机、手持设备等等,如结合图2进一步描述的。因而,计算设备102的范围可以从具有大量存储器和处理器资源的全资源设备(例如个人计算机,游戏机)到具有有限的存储器和/或处理资源的低资源设备(例如传统的机顶盒,掌上游戏机)。计算设备102也包括导致计算设备102执行如下所述的一个或多个操作的软件。
除了其他的组件之外,计算设备102还包括网络浏览器104、姿态(gesture)模块106、视频捕获组件106和图像分析组件107。
网络浏览器104代表允许经由显示设备108在计算设备102上检索和渲染网页的功能。能够采用任何合适类型的网络浏览器,其示例可从这个文档的受让人以及其他人那里获得。
姿态模块105代表辨别能够利用一根或多根手指执行的姿态并导致与这些姿态相对应的操作被执行的功能。这些姿态可以利用模块105以各种各样的不同方式来辨别。例如,姿态模块105可以被配置成辨别触摸输入,诸如与使用触摸屏功能的计算设备102的显示设备108邻近的用户的手的手指。模块105能够用于辨别单手指姿态与边框(bezel)姿态、多手指/同手姿态与边框姿态和/或多手指/不同手姿态与边框姿态。
计算设备102也可以被配置成检测和区分(例如通过用户的手的一根或多根手指提供的)触摸输入与(例如通过手写笔116提供的)手写笔输入。该区分可以采用各种各样的方式诸如通过检测利用用户的手的手指接触的显示设备108的量相对于利用手写笔116接触的显示设备108的量来执行。
因而,姿态模块105可以通过辨别和利用手写笔输入与触摸输入以及不同类型的触摸输入之间的区分来支持各种各样的不同的姿态技术。
视频捕获组件106代表允许与网页相关联的视频数据在利用网络浏览器104渲染网页时被捕获的功能。能够捕获与整个显示屏相关联的视频数据。交替地或附加地,能够捕获和分析与构成不到一个完整网页的网页一部分相关联的视频数据。在所说明和所描述的实施例中,当视频捕获组件106捕获与网页的渲染相关联的屏幕数据时,这样的屏幕数据能够被存入数字视频文件中,以便进一步处理。另外,在至少一些实施例中,视频捕获组件106被配置成允许以某种方式来标记视频数据,以便于图像分析,其示例在下面提供。
图像分析组件107代表允许分析利用视频捕获组件106捕获的视频数据并且对于网页的至少一部分计算基于时间的量度的功能。在一个或多个实施例中,图像分析组件107被配置成读取视频文件并分析视频文件的视觉特性来计算基于时间的渲染量度。在至少一些实施例中,分析在一帧一帧的基础上进行,如下面将变得明显的。另外,在至少一些实施例中,图像分析组件107被配置成在逐个像素的基础上对利用图像分析组件107捕获的视频数据进行分析。
将意识到并明白:虽然视频捕获组件106和图像分析组件107被显示为包括计算设备102的一部分,但是这样的组件能够被实现为与计算设备102无关的独立组件。
共同地,视频捕获组件106和图像分析组件107允许以独立于浏览器的方式来测量与利用网络浏览器所渲染的网页相关联的渲染时间,即基于时间的渲染量度。在利用网络浏览器104渲染网页时,利用视频捕获组件106捕获网页的视频数据。随后能够利用图像分析组件107来分析视频数据,以确定何时很可能已完全渲染了网页。在至少一些实施例中,能够对捕获的视频数据执行图像处理,以便从观察到的随着时间的推移的像素变化中确定何时很可能已渲染了网页。
在至少一些实施例中,通过所描述的分析技术能够确定与整个页面相关联的渲染时间。交替地或附加地,通过所描述的分析技术能够确定与特定页面的子区域相关联的渲染时间。在某些情况下,不感兴趣的区域能够被屏蔽或被忽略。
图2说明示例系统200,其将网络浏览器104、姿态模块105、视频捕获组件106和图像分析组件107显示为在其中通过中央计算设备互连多个设备的环境中进行实现。中央计算设备对于多个设备而言可以是本地的或者可以远离多个设备进行定位。在一个实施例中,中央计算设备是“云”服务器场(farm),其包括通过网络或因特网或其他手段连接到多个设备的一个或多个服务器计算机。
在一个实施例中,这种互连架构允许跨越多个设备交付(deliver)功能,以便给多个设备的用户提供共同的且无缝的体验。这多个设备中的每一个设备可以具有不同的物理需求和能力,并且中央计算设备使用平台来允许给该设备交付既针对该设备定制并且对于所有设备而言又是共同的体验。在一个实施例中,创建目标设备的“类”,并且针对设备的通用类来定制体验。设备的类可以根据设备的物理特征或使用或其他共同特性来定义。例如,如先前所述,可以采用各种各样的不同方式来配置计算设备102,诸如用于移动站202、计算机204和电视206使用。这些配置之中的每一种配置具有通常对应的屏幕尺寸并因而计算设备102可以被配置成这个示例系统200中的这些设备类之一。例如,计算设备102可以采取移动站202设备类,其包括移动电话、音乐播放器、游戏设备等等。计算设备102也可以采取计算机204设备类,其包括个人计算机、膝上型计算机、上网本等等。电视206配置包括牵涉在休闲环境中的显示器的设备的配置,例如电视、机顶盒、游戏机等等。因而,在这里描述的技术可以利用计算设备102的这些不同的配置来支持并且不限于在下面的章节中描述的具体示例。
云208被说明为包括用于网络服务212的平台210。平台210抽象化云208的硬件(例如服务器)和软件资源的底层功能,并因而可以充当“云操作系统”。例如,平台210可以抽象化资源以便将计算设备102与其他计算设备进行连接。平台210也可以用来抽象化资源的规模(scaling),以便给遇到的对于借助于平台210实现的网络服务212的需求提供相应的规模水平。也设想各种各样的其他示例,诸如服务器场中的服务器的负载平衡、防止恶意方(例如垃圾邮件,病毒和其他的恶意软件)等等。
因而,云208被包括作为涉及经由因特网或其他网络可用于计算设备102的软件和硬件资源的策略的一部分。例如,图像分析组件107可以部分地在计算设备102上以及经由支持网络服务212的平台210来实现。
利用姿态模块所支持的姿态技术可以使用移动(站)配置202中的触摸屏功能、计算机204配置的跟踪板功能来检测,作为不牵涉与具体输入设备接触的自然用户界面(NUI)的支持的部分利用照相机来检测,等等。进一步,检测和辨别输入以识别特定姿态的操作的执行可以诸如利用计算设备102和/或利用云208的平台210所支持的网络服务212而被分布在整个系统200中。
通常,在这里描述的功能之中的任何功能能够使用软件、固件、硬件(例如固定逻辑电路)、手动处理或这些实现方式的组合来实现。如在这里使用的术语“模块”、“功能”和“逻辑”通常代表软件、固件、硬件或其组合。在软件实现的情况下,模块、功能或逻辑代表当在处理器(例如一个或多个CPU)上运行或由该处理器运行时执行指定任务的程序代码。程序代码能够存储在一个或多个计算机可读存储设备中。在下面描述的姿态技术的特征是独立于平台的,这意味着:这些技术可以在具有各种各样的处理器的各种各样的商用计算平台上实现。
在随后的讨论中,各个章节描述各个示例实施例。题为“示例实施例”的章节描述根据一个或多个实施例的视频捕获阶段和图像分析阶段的各个方面。接下来,题为“示例方法”的章节描述根据一个或多个实施例的示例方法。最后,题为“示例设备”的章节描述能够用于实现一个或多个实施例的示例设备的各方面。
在描述了其中能够测量网页渲染时间的示例操作环境之后,现在考虑根据一个或多个实施例的示例视频捕获和图像分析的讨论。
示例实施例
在一个或多个实施例中,网页渲染时间能够使用其后跟随着图像分析阶段的视频捕获阶段来确定。在所说明和所描述的实施例中,视频捕获阶段能够利用视频捕获组件诸如视频捕获组件106来执行。图像分析阶段能够利用图像分析组件诸如图像分析组件107来执行。
视频捕获阶段
至于视频捕获阶段,考虑下文。在一个或多个实施例中,视频捕获阶段的启动能够发生在至网页的导航之前或响应于至网页的导航。例如,在至少一些实施例中,能够手动启动视频捕获,其后跟随着至网页的手动或自动导航。在这种情况下,人类评估者可以发动(launch)视频捕获组件并随后启动至网页的导航。在其他实施例中,自动测试系统可以与至网页的自动导航相结合来启动视频捕获。
在一个或多个实施例中,在导航已被启动并且视频捕获已开始时,能够采用某种方式来标记视频数据,以划定导航活动的开始。视频数据的标记能够采用任何合适的方式来发生。例如,在至少一些实施例中,能够在显示设备或屏幕上产生诸如视觉标识符之类的合适标记,以便用信号通知:导航已开始。能够利用任何合适的标记。仅作为一个示例,考虑图3。在那里,计算设备102的显示设备108包括位于左下角的标记300。这个标记与描述至网页的导航的视频数据一起被捕获。交替地或附加地,能够使用时间戳或与视频数据一起包括的某一其他合适类型的元数据来标记视频数据。标记或标识符可以是可视的或不可视的。
在已渲染了网页之后(利用在视觉上沿着朝向底部图的图3中的箭头的进展所图解指示的),能够终止视频捕获。视频捕获的终止能够采用任何合适的方式来发生。例如,在至少一些实施例中,视频捕获的终止能够发生在预定时间窗口例如10秒之后。交替地,视频捕获的终止能够使用从网络流量中导出的线索来发生。例如,诸如通过考虑何时已下载了所有的文件并添加在其之后终止视频捕获的时间量,除了预定义的时间缓冲之外,视频捕获组件还能够考虑接收到的最后字节。这些以及其他的技术能够用于终止视频捕获,以保证完整的渲染已发生或者很可能已发生。在至少一些实施例中,这些终止技术能够“过冲(overshoot)”网页渲染的完成,以保证捕获到足够的视频数据。
一旦已捕获了视频数据,如上所述,视频数据的图像分析能够发生,如下所述。
图像分析阶段
至于图像分析阶段,考虑下文。在至少一些实施例中,一旦已捕获了视频数据,能够识别感兴趣区域,以便进一步分析。这能够采用任何合适的方式来执行。例如,在至少一些实施例中,与视频数据相关联的视频能够被加载,并且能够识别起始帧。任何合适的方法能够用于识别起始帧。例如,在至少一些实施例中,能够通过定位诸如上述的视觉指示符首次出现在其上的帧来识别起始帧。交替地或附加地,能够定位与特定时间戳相关联的帧。
接下来,相关联的视频能够被转发至表示完成渲染状态的帧。能够利用任何合适的技术来识别这个帧。例如,表示完成渲染状态的帧可能是在起始帧之后特定的预定义时间出现的帧。交替地或附加地,这个帧可能与特定事件诸如接收到的最后字节的出现相结合而出现,等等。
一旦已选择了构成完成渲染状态的帧的集合,则能够标记感兴趣区域,以供后续分析。在至少一些实施例中,这能够包括手动处理或利用手动处理来执行,例如,通过示例而非限制,使用输入设备直接在视频上标记区域。交替地或附加地,自动化的方案能够用于识别一个或多个感兴趣区域。例如,能够利用图像识别来识别这些区域。交替地,诸如在网站的相关联的Document Object Model(文档对象模型)中发现的元数据能够识别不同区域的提示或标签。每一个感兴趣区域随后能够被命名并被保存在配置文件中,以便能够对所记录的视频数据执行图像分析。作为示例,考虑图4。
在那里,已识别了两个单独的感兴趣区域。第一感兴趣区域400包括整个可见屏幕,因而封装所有的可见内容。交替地,第二感兴趣区域402包括封装可见内容的子部分的子区域。在这个示例中,感兴趣区域402可能包括广告或多媒体视频。
在指定了一个或多个感兴趣区域之后,图像处理现在能够进行,以测量与特定网页以及已指定的一个或多个感兴趣区域相关联的渲染时间。
最初,加载与视频数据相关联的视频,并且图像分析组件能够寻找该视频的起始帧。如上所述,先前识别或标记了起始帧。这个起始帧现在能够被指定为用于与后续帧进行比较的基线图像。一旦起始帧被指定为基线图像,则能够将后续帧与该起始帧进行比较,以计算与渲染网页相关联的基于时间的渲染量度。任何合适的算法能够用于比较当前帧与起始帧。通过示例而非限制,这样的算法能够包括采用直方图、差异百分率、非白像素的数量除以面积、光学字符识别(OCR)技术等等的算法。能够采用这样的算法在逐个像素的基础上进行比较或比较区域的像素的总结(summarization)。
对于所分析的每个帧,能够记录与该帧相关联的时间戳及其相关联计算的差值。所计算的差值是基于用于比较这些帧的分析算法来计算的值。一旦已分析了所有的帧并且已记录了其时间戳以及相关联的差值,则能够处理该数据来提取页面或页面部分的渲染时间。
特别地,上述的处理允许制定描述随着时间的推移而改变的与渲染网页或其部分相关联的像素的数量的数据。有效地,任何特定的渲染网页(或其部分)将具有能够根据随着时间的推移的像素变化来定义的图案(pattern)。这个图案能够并将取决于被渲染的内容的性质而改变。例如,具有静态内容的网页将具有与包括动画的网页不同的图案。类似地,具有一个动画的网页将很可能具有与具有大量动画的网页不同的图案。同样,被指定为感兴趣区域的网页的各部分将取决于在特定部分内渲染的内容而具有不同的图案。
然而,任何特定图案将具有指示完成渲染状态的图案区域。通过识别这个特定图案区域,能够确定与完成渲染状态相关联的时间,从而提供用于完全渲染网页或网页部分的准确的时间量度。作为示例,考虑图5。
在那里,与说明相关联网页的像素在渲染期间如何已随着时间的推移而改变的图案500相结合来显示随着时间的推移“改变的像素”的图表。注意:“总渲染的阈值”已被设置在特定的像素数量,例如90%的像素。
在这个特定示例中,与图案500相关联的网页包括不断改变的组成部分。例如,这样的组成部分可以包括具有移动音频/视觉内容的广告。图案500中的每个梯级(step)表示像素相对于时间的变化。在这个示例中,页面正在逐步渲染,其中连续地渲染个别元素。图案500中的第一梯级(在最左边)构成在内容渲染处理开始引起相关联像素的变化时的第一渲染时间。随着图案的进展,它跨越总渲染的阈值。在这个阈值之上,页面由于不断改变的音频/视频内容而继续随着时间的推移而改变。如由于跨越总渲染的阈值,如果在页面已稳定之后记录足够的图案500,则能够识别图案区域并且能够识别该图案区域开始的时间。这个图案区域开始时间随后能够被选为网页渲染很可能完成的时间。例如,在502显示与视频或广告相对应的图案区域。该图案的起点利用箭头来识别,而该箭头转而定义所指示的“渲染完成时间”。作为另一示例,考虑图6。
在那里,对于表示在渲染期间具有颜色的突然的大变化的页面的图案600,显示随着时间的推移“改变的像素”的图表。例如,页面的背景颜色可能突然改变,这指示完全渲染的页面。这利用该图中跨越总渲染的阈值的大的第二梯级来表示。在这个特定示例中,在颜色的大变化之后,与图案600相关联的网页包括不断改变的组成部分。例如,这样的组成部分可以包括具有移动音频/视觉内容的广告。这定义其开始时间能够被识别的图案区域602。像以前一样,这个图案区域开始时间随后能够被选为网页渲染很可能完成的时间。图案区域602的起点利用箭头来识别,而该箭头转而定义所指示的“渲染完成时间”。作为进一步示例,考虑图7。
在那里,对于表示具有包括文本的内容的页面的图案700,显示随着时间的推移“改变的像素”的图表。在这个示例中,该页面的非文本内容已采用导致该图案最初跨越总渲染的阈值的方式进行渲染了。然而,在这个示例中,文本尚未被渲染。因而,转到图案区域702,在阈值的交叉点上,该文本尚未被渲染。利用箭头识别的该图案中的下一梯级构成文本绘制(draw)事件。在这一点上,图案区域702的起点利用箭头(对应于文本绘制事件)来识别,而该箭头转而定义所指示的“渲染完成时间”。这个示例说明:总渲染的阈值的初始交叉点(crossing)不一定指示渲染完成时间。相反,通过在实际上正在渲染的内容的上下文中分析各个图案区域,能够确定很可能的渲染完成时间。
在考虑其中根据一个或多个实施例能够计算与网页或网页内的感兴趣区域相关联的渲染时间的各个示例之后,现在考虑根据一个或多个实施例的示例方法的讨论。
示例方法
图8是描述根据一个或多个实施例的方法中的步骤的流程图。该方法能够结合任何合适的硬件、软件、固件或其组合来执行。在至少一些实施例中,该方法能够利用在某种类型的计算机可读存储介质上体现的软件来执行。能够执行将要描述的功能的软件的一个示例包括诸如上面所述的视频捕获组件和图像分析组件。
步骤800捕获与在显示设备上渲染网页相关联的视频数据。这个步骤能够以任何合适的方式来执行。例如,在至少一些实施例中,视频数据被捕获,以及与视频数据相关联的标识符被提供并识别何时至特定网页的导航似乎开始。上面提供合适标识符的示例。例如,在至少一些实施例中,标识符能够存在于(reside)视觉标识符的形式中。交替地或附加地,标识符能够存在于非视觉标识符诸如(通过示例而非限制)时间戳的形式中。
步骤802分析足以计算与渲染网页的至少一部分相关联的基于时间的渲染量度的视频数据。这个步骤能够采用任何合适的方式来执行。例如,在至少一些实施例中,分析能够在一帧一帧的基础上进行。在某些情况下,逐帧分析能够包括指定视频数据的起始帧并使用起始帧作为用于后续帧的差异比较的基线图像。差异比较能够在屏幕基础上进行,其中屏幕或显示设备上的所有可见内容被分析。因而,在这些情况下,基于时间的渲染量度能够与识别何时已完全渲染了网页的尝试相关联。交替地或附加地,能够对构成不到整个网页的网页一部分进行差异比较。因而,在这些情况下,基于时间的渲染量度能够与识别何时完全渲染构成不到整个网页的网页一部分的尝试相关联。在上面提供能够如何完成这个的示例。在一个或多个实施例中,除了基于时间的渲染量度之外的其他信息也能够用于尝试识别网页或其部分被加载或部分被加载的网络。例如,系统资源利用率能够与基于时间的渲染量度一起被分析并被使用,以尝试识别何时加载网页。通过示例而非限制,系统资源利用率能够包括相关联的显示设备或图形处理单元(GPU)的更新频率、CPU活动等等。交替地或附加地,包括HTML、CSS和JavaScript的和特定应用的行为与代码相关联的知识能够用于尝试识别何时加载网页。例如,应用的代码可以响应于页面被完全加载而以某种方式例如通过进行某些调用或实现某些例程来工作(behave)。
图9是描述根据一个或多个实施例的另一方法中的步骤的流程图。该方法能够结合任何合适的硬件、软件、固件或其组合来执行。在至少一些实施例中,该方法能够利用在某种类型的计算机可读存储介质上体现的软件来执行。能够执行将要描述的功能的软件的一个示例包括诸如上面所述的视频捕获组件和图像分析组件。
步骤900与至网页的导航相关联在显示设备上启动视频数据捕获。这个步骤能够采用任何合适的方式来执行,其示例在上面提供。例如,能够响应于用户点击至特定网页的链接来执行这个步骤。步骤902识别何时相关联的导航似乎开始。这个步骤能够采用任何合适的方式来执行。例如,如上所述,这个步骤能够使用显示设备的屏幕上的视觉标识符来执行。视觉标识符识别何时导航似乎开始。该视觉标识符能够被放置在屏幕上,以响应检测到链接上的点击来启动导航。交替地,在发送请求以请求网页时,该视觉标识符能够被放置在屏幕上。步骤904终止对于提供与导航相关联的多个帧的视频数据是有效的视频数据捕获。这个步骤能够采用任何合适的方式来执行,其示例在上面提供。例如,在至少一些实施例中,终止能够发生在预定义的时间上。交替地,终止能够基于与接收到的网页内容诸如(通过示例而非限制)最后的接收的数据量诸如最后接收的字节相关联的信息而发生。步骤906分析多个帧的视觉特性。这个步骤能够采用任何合适的方式来执行。例如,分析能够在一帧一帧的基础上进行。特别地,在至少一些实施例中,起始帧能够被指定并被用作基线图像,用于后续帧的差异比较。如同通过分析视觉上出现在屏幕上的所有内容,能够在屏幕基础上进行差异比较。交替地或附加地,能够对构成不到整个网页的相关联网页的一部分进行差异比较。
在至少一些实施例中,这些帧的视觉特性的分析能够包括进行这些帧内的像素变化的基于图案的分析。基于视觉特性的分析,步骤908计算与网页的至少一部分的渲染状态相关联的基于时间的渲染量度。在一些实施例中,渲染状态是与完全渲染的网页相关联的状态。在其他的实施例中,渲染状态是与网页的子区域的渲染相关联的状态。在另外其他的实施例中,渲染状态能够与部分渲染或逐步渲染的区域相关联。根据其相关联的基于时间的渲染量度来分析逐步渲染的区域能够帮助确定如何排序页面组成部分以便下载来增强用户的体验。
在描述了示例实施例之后,现在考虑能够用于实现上述实施例的示例设备的讨论。
示例设备
图10说明能够被实现为如参考图1和2所描述的任何类型的便携式和/或计算机设备来实现在这里描述的实施例的示例设备1000的各个组成部分。设备1000包括允许设备数据1004(例如接收的数据,正在接收的数据,预定用于广播的数据,数据的数据分组等等)的有线和/或无线通信的通信设备1002。设备数据1004或其他的设备内容能够包括设备的配置设置、存储在设备上的媒体内容和/或与设备的用户相关联的信息。存储在设备1000上的媒体内容能够包括任何类型的音频、视频和/或图像数据。设备1000包括一个或多个数据输入1006,其中经由这些数据输入能够接收任何类型的数据、媒体内容和/或输入,诸如用户可选的输入、消息、音乐、电视媒体内容、所记录的视频内容以及从任何内容和/或数据源接收的任何其他类型的音频、视频和/或图像数据。
设备1000也包括通信接口1008,其能够被实现为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器之中的一个或多个以及被实现为任何其他类型的通信接口。通信接口1008在设备1000与通信网络之间提供连接和/或通信链路,其中通过连接和/或通信链路,其他的电子、计算和通信设备与设备1000传送数据。
设备1000包括处理各种计算机可执行或可读指令来控制设备1000的操作以及实现上述的实施例的一个或多个处理器1010(例如微处理器、控制器等等中的任何一个)。交替地或附加地,设备1000能够利用结合通常在1012上识别的处理与控制电路来实现的硬件、固件或固定逻辑电路之中的任何一个或其组合来实现。虽然未示出,但是设备1000能够包括耦合设备内的各个组件的系统总线或数据传输系统。系统总线能够包括不同总线结构中的任何一种或组合,诸如存储器总线或存储器控制器、外设总线、通用串行总线和/或处理器或本地总线,其利用各种各样的总线架构中的任何一种。
设备1000也包括计算机可读媒体1014,诸如一个或多个存储器组件,其示例包括随机存取存储器(RAM)、非易失性存储器(例如只读存储器(ROM)、闪存、EPROM、EEPROM等等中的任何一个或多个)和盘存储设备。盘存储设备可以被实现为任何类型的磁或光存储设备,诸如硬盘驱动器、可记录和/或可重写紧致盘(CD)、任何类型的数字多功能盘(DVD)等等。此外,设备1000也能够包括大容量存储媒体设备1016。
计算机可读媒体1014提供数据存储机制来存储设备数据1004以及各种设备应用1018与涉及设备1000的操作方面的任何其他类型的信息和/或数据。例如,操作系统1020能够被保持为带有计算机可读媒体1014并在处理器1010上执行的计算机应用。设备应用1018能够包括设备管理器(例如控制应用,软件应用,信号处理与控制模块,特定设备的本机代码,用于特定设备的硬件抽象层等等)以及其他应用,其能够包括网络浏览器、图像处理应用、诸如即时消息传送应用之类的通信应用、字处理应用以及各种各样的其他不同的应用。设备应用1018也包括任何的系统组件或模块来实现在这里描述的技术的实施例。在这个示例中,设备应用1018包括被显示为软件模块和/或计算机应用的接口应用1022和姿态捕获驱动器1024。姿态捕获驱动器1024代表用于提供与被配置来捕获姿态的设备诸如触摸屏、跟踪板、照相机等等接口的软件。交替地或附加地,接口应用1022和姿态捕获驱动器1024能够被实现为硬件、软件、固件或其任何组合。此外,计算机可读媒体1014能够包括如上所述运行的网络浏览器1025a、视频捕获组件1025b和图像分析组件1025c。
设备1000也包括给音频系统1028提供音频数据和/或给显示系统1030提供视频数据的音频和/或视频输入-输出系统1026。音频系统1028和/或显示系统1030能够包括处理、显示和/或以其他方式再现音频、视频和图像数据的任何设备。经由RF(射频)链路、S视频链路、复合视频链路、分量视频链路、DVI(数字视频接口)、模拟音频连接或其他类似的通信链路,能够从设备1000传送视频信号和音频信号至音频设备和/或至显示设备。在实施例中,音频系统1028和/或显示系统1030被实现为设备1000的外部组件。交替地,音频系统1028和/或显示系统1030被实现为示例设备1000的集成组件。
结论
各个实施例提供用于测量能够独立于浏览器的网页的渲染时间的方案。在至少一些实施例中,在渲染网页时,捕获和分析网页的视频数据,以确定何时很可能已完全渲染了网页。在至少一些实施例中,能够对捕获的视频数据执行图像处理,以便从观察到的随着时间的推移的像素变化中确定何时很可能已渲染了网页。
在至少一些实施例中,与整个页面相关联的渲染时间能够通过所描述的分析技术来确定。交替地或附加地,与特定页面的子区域相关联的渲染时间能够通过所描述的分析技术来确定。在某些情况下,不感兴趣的区域能够被屏蔽或被忽略。
虽然以特定于结构特征和/或方法动作的语言描述了这些实施例,但是将明白:在所附的权利要求书中定义的实施例不一定限于所描述的具体特征或动作。相反,这些具体特征和动作作为实现所请求保护的实施例的示例形式被披露。

Claims (10)

1.一种方法,包括:
捕获与在显示设备上渲染网页相关联的视频数据;以及
分析足以计算与渲染网页的至少一部分相关联的基于时间的渲染量度的视频数据。
2.权利要求1的方法,进一步包括:分析系统资源利用率,以及使用所分析的系统资源利用率和基于时间的渲染量度来尝试识别何时渲染网页的所述至少一部分。
3.权利要求1的方法,进一步包括:分析显示设备和GPU的更新频率,以及使用所分析的更新频率和基于时间的渲染量度来尝试识别何时渲染网页的所述至少一部分。
4.权利要求1的方法,其中基于时间的渲染量度与识别何时部分或完全渲染网页的尝试相关联。
5.权利要求1的方法,其中所述捕获视频数据包括提供与视频数据相关联的识别何时至所述网页的导航似乎开始的标识符,所述标识符包括视觉标识符。
6.权利要求1的方法,其中所述分析包括:通过指定视频数据的起始帧并将起始帧用作用于后续帧的差异比较的基线图像,在一帧一帧的基础上分析所述视频数据,在与显示设备相关联的屏幕的基础上进行所述差异比较。
7.体现计算机可读指令的一个或多个计算机可读存储媒体,其中所述计算机可读指令当被执行时实现一种方法,包括:
与至网页的导航相关联在显示设备上启动视频数据捕获;
识别何时导航似乎开始;
终止对于提供与导航相关联的多个帧的视频数据是有效的所述视频数据捕获;
分析多个帧的视觉特性;以及
基于所述分析,计算与网页的至少一部分的渲染状态相关联的基于时间的渲染量度。
8.权利要求7的一个或多个计算机可读存储媒体,其中渲染状态包括与完全渲染的网页相关联的状态。
9.权利要求7的一个或多个计算机可读存储媒体,其中所述识别包括在显示设备的屏幕上使用视觉标识符。
10.权利要求7的一个或多个计算机可读存储媒体,其中所述分析视觉特性包括:通过指定视频数据的起始帧并将起始帧用作用于后续帧的差异比较的基线图像,在一帧一帧的基础上分析视觉特性,在屏幕的基础上进行所述差异比较。
CN201280056555.7A 2011-11-16 2012-11-16 测量网页渲染时间 Active CN103930885B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/298219 2011-11-16
US13/298,219 US8644623B2 (en) 2011-11-16 2011-11-16 Measuring web page rendering time
PCT/US2012/065464 WO2013074893A2 (en) 2011-11-16 2012-11-16 Measuring web page rendering time

Publications (2)

Publication Number Publication Date
CN103930885A true CN103930885A (zh) 2014-07-16
CN103930885B CN103930885B (zh) 2018-05-25

Family

ID=48280721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280056555.7A Active CN103930885B (zh) 2011-11-16 2012-11-16 测量网页渲染时间

Country Status (6)

Country Link
US (1) US8644623B2 (zh)
EP (1) EP2780820B1 (zh)
JP (1) JP6214547B2 (zh)
KR (1) KR102047568B1 (zh)
CN (1) CN103930885B (zh)
WO (1) WO2013074893A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165167A (zh) * 2018-09-07 2019-01-08 苏宁智能终端有限公司 一种响应时间的测试方法及装置
CN109271600A (zh) * 2018-08-16 2019-01-25 微梦创科网络科技(中国)有限公司 一种性能数据的监测方法、系统和装置
CN109656645A (zh) * 2017-10-11 2019-04-19 阿里巴巴集团控股有限公司 展现时间确定方法和页面渲染完成时间的确定方法及装置
CN110209978A (zh) * 2019-01-28 2019-09-06 腾讯科技(深圳)有限公司 一种数据处理方法和相关装置
CN112346935A (zh) * 2020-11-12 2021-02-09 腾讯科技(北京)有限公司 渲染耗时的获取、显示方法、性能监控方法、装置及设备

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10048854B2 (en) 2011-01-31 2018-08-14 Oracle International Corporation Drag and drop interaction between components of a web application
US8572505B2 (en) * 2011-01-31 2013-10-29 Oracle International Corporation Automatically testing a web application that has independent display trees
US8626909B2 (en) * 2012-05-22 2014-01-07 Microsoft Corporation Page phase time
FR2997522B1 (fr) * 2012-10-26 2015-12-25 Infovista Sa Procede permettant a un systeme de surveillance du reseau d'evaluer de facon non intrusive le ressenti utilisateur lors du chargement d'une page web
US10068508B2 (en) * 2013-08-30 2018-09-04 Google Llc Measuring user interface performance consistency
CN104090842A (zh) * 2014-07-15 2014-10-08 深圳市金立通信设备有限公司 一种应用程序运行的检测方法
CN104102582A (zh) * 2014-07-15 2014-10-15 深圳市金立通信设备有限公司 一种应用程序运行的检测装置及终端
WO2016039717A1 (en) * 2014-09-08 2016-03-17 Hewlett Packard Enterprise Development Lp User interface components load time visualization
US10033656B2 (en) * 2015-05-21 2018-07-24 Sap Portals Israel Ltd Critical rendering path optimization
CN107451193B (zh) * 2017-06-29 2019-06-11 北京三快在线科技有限公司 一种客户端页面加载时间的获取方法及装置,电子设备
KR102000342B1 (ko) * 2017-08-31 2019-07-15 충남대학교산학협력단 사용자 단말, 화면 표시 모니터링 방법, 및 컴퓨터 판독가능 기록 매체
US10387012B2 (en) * 2018-01-23 2019-08-20 International Business Machines Corporation Display of images with action zones
US20190347315A1 (en) * 2018-05-08 2019-11-14 International Business Machines Corporation Methods and systems for rendering web pages with restricted features
CN108900776B (zh) * 2018-08-22 2020-11-27 北京百度网讯科技有限公司 用于确定响应时间的方法和装置
CN111796824A (zh) * 2020-06-29 2020-10-20 平安普惠企业管理有限公司 页面加载方法、装置、服务器及介质
KR102328060B1 (ko) * 2020-10-13 2021-11-17 주식회사 한글과컴퓨터 구조화된 문서에 대한 로드 시간을 예측하는 전자 장치 및 그 동작 방법
CN113780163A (zh) * 2021-09-09 2021-12-10 上海浦东发展银行股份有限公司 一种页面加载时间的检测方法、装置、电子设备及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587878B1 (en) * 1999-05-12 2003-07-01 International Business Machines Corporation System, method, and program for measuring performance in a network system
US20040221034A1 (en) * 2002-12-18 2004-11-04 Kausik Balas Natarajan Centralized measurement of web performance
US20100008241A1 (en) * 2006-10-19 2010-01-14 Telefonaktiebolaget Lm Ericsson (Publ) Method of Determining Video Quality
US20100125660A1 (en) * 2007-11-19 2010-05-20 Fujitsu Limited Recording apparatus, method, and computer readable storage medium storing program thereof
US20100223322A1 (en) * 2009-02-27 2010-09-02 Sun Microsystems, Inc. Server based framework for improving ajax performance
US20100325615A1 (en) * 2009-06-23 2010-12-23 Myspace Inc. Method and system for capturing web-page information through web-browser plugin
US20110137733A1 (en) * 2009-12-08 2011-06-09 Mpire Corporation Methods for capturing and reporting metrics regarding ad placement
US20110150433A1 (en) * 2009-12-22 2011-06-23 Albert Alexandrov Systems and methods for video-aware screen capture and compression

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US20080147786A1 (en) * 2000-02-03 2008-06-19 Gad Liwerant Method and system for sharing video over a network
US6567103B1 (en) * 2000-08-02 2003-05-20 Verity, Inc. Graphical search results system and method
US7519702B1 (en) 2000-08-10 2009-04-14 International Business Machines Corporation Method and apparatus for measuring web site performance
US20020169868A1 (en) 2001-04-20 2002-11-14 Lopke Michael S. Interactive remote monitoring of client page render times on a per user basis
GB2404546B (en) * 2003-07-25 2005-12-14 Purple Interactive Ltd A method of organising and displaying material content on a display to a viewer
US7475067B2 (en) 2004-07-09 2009-01-06 Aol Llc Web page performance scoring
US8812648B2 (en) 2005-11-21 2014-08-19 Ebay Inc. Techniques for measuring above-the-fold page rendering
US20070226058A1 (en) * 2006-03-21 2007-09-27 Myware, Inc. Time based electronic advertisement
JP2009163370A (ja) 2007-12-28 2009-07-23 Noritsu Koki Co Ltd キャプチャーソフトウエアプログラム及びキャプチャー装置
US8726146B2 (en) * 2008-04-11 2014-05-13 Advertising.Com Llc Systems and methods for video content association
US20100005403A1 (en) * 2008-07-02 2010-01-07 Rozmaryn Gadiel Z Monitoring viewable times of webpage elements on single webpages
US20110029899A1 (en) 2009-08-03 2011-02-03 FasterWeb, Ltd. Systems and Methods for Acceleration and Optimization of Web Pages Access by Changing the Order of Resource Loading
US20110119370A1 (en) 2009-11-17 2011-05-19 Microsoft Corporation Measuring network performance for cloud services
JP2011154636A (ja) 2010-01-28 2011-08-11 Canon Inc レンダリングシステム、データの最適化方法、及びプログラム
JP5418350B2 (ja) 2010-03-24 2014-02-19 富士通モバイルコミュニケーションズ株式会社 情報処理装置
US20120197711A1 (en) * 2011-01-31 2012-08-02 Yan Zhou Ranking Vendors by Combining Quantitative and Qualitative Characteristics of Third-Party Advertising
US8560683B2 (en) * 2011-06-10 2013-10-15 Google Inc. Video and site analytics
US8610724B2 (en) * 2011-07-29 2013-12-17 Qualcomm Innovation Center, Inc. Systems and methods for webpage adaptive rendering
US9348364B2 (en) * 2011-09-09 2016-05-24 Facebook, Inc. Content scrolling and transitioning using touchpad input

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587878B1 (en) * 1999-05-12 2003-07-01 International Business Machines Corporation System, method, and program for measuring performance in a network system
US20040221034A1 (en) * 2002-12-18 2004-11-04 Kausik Balas Natarajan Centralized measurement of web performance
US20100008241A1 (en) * 2006-10-19 2010-01-14 Telefonaktiebolaget Lm Ericsson (Publ) Method of Determining Video Quality
US20100125660A1 (en) * 2007-11-19 2010-05-20 Fujitsu Limited Recording apparatus, method, and computer readable storage medium storing program thereof
US20100223322A1 (en) * 2009-02-27 2010-09-02 Sun Microsystems, Inc. Server based framework for improving ajax performance
US20100325615A1 (en) * 2009-06-23 2010-12-23 Myspace Inc. Method and system for capturing web-page information through web-browser plugin
US20110137733A1 (en) * 2009-12-08 2011-06-09 Mpire Corporation Methods for capturing and reporting metrics regarding ad placement
US20110150433A1 (en) * 2009-12-22 2011-06-23 Albert Alexandrov Systems and methods for video-aware screen capture and compression

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656645A (zh) * 2017-10-11 2019-04-19 阿里巴巴集团控股有限公司 展现时间确定方法和页面渲染完成时间的确定方法及装置
CN109271600A (zh) * 2018-08-16 2019-01-25 微梦创科网络科技(中国)有限公司 一种性能数据的监测方法、系统和装置
CN109165167A (zh) * 2018-09-07 2019-01-08 苏宁智能终端有限公司 一种响应时间的测试方法及装置
CN110209978A (zh) * 2019-01-28 2019-09-06 腾讯科技(深圳)有限公司 一种数据处理方法和相关装置
CN110209978B (zh) * 2019-01-28 2023-05-16 腾讯科技(深圳)有限公司 一种数据处理方法和相关装置
CN112346935A (zh) * 2020-11-12 2021-02-09 腾讯科技(北京)有限公司 渲染耗时的获取、显示方法、性能监控方法、装置及设备

Also Published As

Publication number Publication date
EP2780820A4 (en) 2015-07-22
WO2013074893A3 (en) 2013-07-11
JP2015503152A (ja) 2015-01-29
EP2780820B1 (en) 2019-01-02
US20130121599A1 (en) 2013-05-16
WO2013074893A2 (en) 2013-05-23
CN103930885B (zh) 2018-05-25
EP2780820A2 (en) 2014-09-24
JP6214547B2 (ja) 2017-10-18
US8644623B2 (en) 2014-02-04
KR102047568B1 (ko) 2019-11-21
KR20140091555A (ko) 2014-07-21

Similar Documents

Publication Publication Date Title
CN103930885A (zh) 测量网页渲染时间
US9832253B2 (en) Content pre-render and pre-fetch techniques
US7873725B2 (en) System and method for directing attention to web site content
CN107995535A (zh) 一种展示视频的方法、装置、设备和计算机存储介质
US9665965B2 (en) Video-associated objects
US11924485B2 (en) Method and system of displaying a video
EP2825983A1 (en) Systems and methods for delivery techniques of contextualized services on mobile devices
US9329851B2 (en) Browser-based discovery and application switching
US20130063446A1 (en) Scenario Based Animation Library
WO2013103916A1 (en) Input pointer delay and zoom logic
US20160027060A1 (en) Distribution device, terminal device, distribution method, and non-transitory computer readable storage medium
US11727428B2 (en) Automated testing of multiple on-line coupons
US11223663B1 (en) Providing personalized chat communications within portable document format documents
US20130201107A1 (en) Simulating Input Types
US9679297B2 (en) Method and apparatus for isolating analytics logic from content creation in a rich internet application
MX2014008310A (es) Retraso de indicador de entrada.
US8983861B2 (en) Bridge pages for mobile advertising
US9734513B1 (en) System and method for advertising applications to users without requiring the applications to be installed
CN104025008A (zh) 使能性能级联操作
CN106033297A (zh) 列表浏览的交互方法和装置
CN113377196B (zh) 数据推荐方法、装置、电子设备及可读存储介质
JP6396394B2 (ja) 表示プログラム、端末装置、表示方法及び配信装置
CN106331790A (zh) 信息显示方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150703

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150703

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant