CN103069458B - 用于满足最小帧速率要求的图形呈现方法 - Google Patents
用于满足最小帧速率要求的图形呈现方法 Download PDFInfo
- Publication number
- CN103069458B CN103069458B CN201180039724.1A CN201180039724A CN103069458B CN 103069458 B CN103069458 B CN 103069458B CN 201180039724 A CN201180039724 A CN 201180039724A CN 103069458 B CN103069458 B CN 103069458B
- Authority
- CN
- China
- Prior art keywords
- speed
- animation
- frame rate
- present
- project
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
诸方法和设备使得甚至在处理资源限制和呈现处理可能不支持最小帧速率呈现的情况下也能够以最小帧速率来呈现图形图像。当图形正被呈现时,计算设备的处理器可监视所达成的帧速率。如果帧速率下降到最小阈值以下,则处理器可记录图像的运动的当前速度或速率并且开始呈现在计算上较不复杂的图形项目。对计算上较不复杂的项目的呈现继续进行,直至处理器记录到所呈现的项目的速度小于所记录的速度。此时,可重新开始正常的图形呈现。这些方面可应用于一种以上类型的计算上较不复杂的项目或呈现格式。各个方面还可应用于各种动画和运动图形以及滚动的文本、网页等。
Description
发明领域
本发明一般涉及计算机用户界面系统,尤其涉及图形呈现方法。
背景
移动计算设备(例如,蜂窝电话、PDA和游戏设备)正非常普遍地充当个人组织者,存储文档、相片、视频和音乐,以及充当因特网和电子邮件的门户。为了适合放在此类设备的较小显示器内,通常在可通过滚动或平摇功能控制的查看器中显示文档(例如,音乐文件和联系人列表)。为了查看文档图像的全部或诸部分或者解析数字文件的列表,软件开发者通常将滚动或平摇功能包括在为移动设备上的使用所创建的应用内。
概述
各个方面包括一种用于在计算设备上实现显示动画的方法,该方法包括监视在显示动画期间所呈现的帧速率;当所监视的帧速率被确定低于最小可接受值时呈现计算上较不复杂的项目,其中计算上较不复杂的项目可比正常项目呈现得更快;当所监视的帧速率被确定低于该最小可接受值时存储动画的速度;以及当动画的速度低于所存储的速度时呈现正常项目。所监视的帧速率可按各种方式来确定。例如,帧速率可基于在预定义的先前区间期间所呈现的帧的数目。在另一示例中,帧速率可基于所达成的帧速率的移动平均或者反映移动平均速率的帧速率的计算。占位符项目可被定义为应用的一部分。计算上较不复杂的项目可包括分辨率较低且省去了呈现起来较昂贵的图形元素的具有较小尺寸或较少细节以及具有可从存储器调用或者以其它方式呈现起来在计算上较不复杂的固定图像元素的图像对象。显示动画可以是快速列表滚动动画、网页的快速滚动或平摇、文本文档的快速滚动、便携式文档格式(PDF)文档的快速滚动或平摇、PowerPoint演示的快速滚动、和摄影图像的快速滚动或平摇中的一者。
另一方面可包括一种用于在计算设备上实现显示动画的方法,该方法包括指定用于在显示动画开始时呈现图像的第一呈现格式;使用所指定的呈现格式来呈现图像;监视在显示动画期间所呈现的帧速率;确定所监视的帧速率何时低于最小可接受值;当确定所监视的帧速率低于该最小可接受值时指定用于呈现图像的第二呈现格式,其中第二呈现格式比第一呈现格式需要较少的处理;当确定所监视的帧速率被确定低于最小可接受值时存储动画的第一速度;确定动画的速度何时低于所存储的第一速度;以及在当前所指定的呈现格式是第二呈现格式并且确定动画的速度低于所存储的第一速度时指定第一呈现格式。该方法还可包括在当前所指定的呈现格式是第二格式并且确定所监视的帧速率低于最小可接受值时指定用于呈现图像的第三呈现格式和存储动画的第二速度,确定动画的速度何时低于所存储的第二速度,以及当目前所指定的呈现格式是第三呈现格式并且确定动画的速度低于所存储的第二速度时指定第二呈现格式。该方法还可包括在当前所指定的呈现格式是第三格式并且确定所监视的帧速率低于最小可接受值时指定用于呈现图像的第四呈现格式和存储动画的第三速度,确定动画的速度何时低于所存储的第三速度,以及当目前所指定的呈现格式是第四呈现格式并且确定动画的速度低于所存储的第三速度时指定第三呈现格式。第一、第二和第三呈现格式可被定义为应用的一部分。所监视的帧速率可基于在预定义的先前区间期间所呈现的帧的数目、或者基于移动平均帧速率。显示动画可以是快速列表滚动动画、网页的快速滚动或平摇、文本文档的快速滚动、便携式文档格式(PDF)文档的快速滚动或平摇、PowerPoint演示的快速滚动、和摄影图像的快速滚动或平摇中的一者,或者由游戏应用生成。
另一方面包括计算设备,该计算设备包括耦合至处理器的存储器和显示器,其中该处理器配置有处理器可执行指令以执行以上所描述的方法的诸操作。另一方面包括计算设备,该计算设备包括用于执行以上所描述的方法的诸操作的装置。另一方面包括其上存储有处理器可执行指令的非瞬态处理器可读存储介质,这些指令被配置成使计算设备的处理器执行以上所描述的方法的诸操作。
附图简要说明
纳入本文并构成本说明书的一部分的附图解说本发明的示例性方面。这些附图与以上给出的一般描述以及下文给出的详细描述一道用于解释本发明的特征。
图1是在触摸屏显示器上示出列表文档的便携式计算设备的前视图。
图2是用于在计算设备中呈现项目列表的现有技术方法的过程流程图。
图3A和3B是解说示出在快速滚动序列期间作为时间的函数的运动(滚动)速度的示例列表滚动概况的图形。
图4A和4B是解说相对于X轴上的时间的Y轴上的示例列表滚动动画概况和Z轴上相应的所呈现帧速率的三维图形。
图5A-5C是根据各个方面的解说可如何在快速滚动事件期间调整所呈现项目的图形。
图6A是对联系人列表中的示例项目列表的解说。
图6B-6C是对可在各个方面中使用以支持图5A中所解说的示例列表的计算上较不复杂的示例轻量级项目的解说。
图7是用于使计算设备能够以至少最小帧速率来呈现显示动画的方法的过程流程图。
图8A和8B是解说实现一种以上计算上较不复杂的项目的替换方面的图形。
图9是用于使计算设备能够使用一种以上计算上较不复杂的项目或呈现格式来以至少最小帧速率呈现图像的方法的过程流程图。
图10是解说可如何在生成运动图形的任何应用中实现各个方面的图形。
图11是适于与各个方面联用的示例便携式计算设备的组件框图。
图12是适于与各个方面联用的示例便携式个人计算机的组件框图。
具体描述
将参照附图详细描述各个方面。在任何可能的地方,相同附图标记用于通篇指代相同或类似部分。对特定示例和实现的引述用作解说性目的,而无意限定本发明或权利要求的范围。
措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何实现不必然被解释为优于或胜过其他实现。
如本文所使用的,术语“计算设备”和“移动设备”指代以下各项中的任何一项或全部:蜂窝电话、个人电视接收机、个人数据助理(PDA)、掌上计算机、笔记本计算机、个人计算机、无线电子邮件接收器和蜂窝电话接收机(例如,和设备)、多媒体启用因特网的蜂窝电话(例如,Blackberry)、以及包括可编程处理器、存储器和显示器的类似的电子设备。在用于解说本发明的各个方面的示例方面,计算设备是包括整合的触摸屏显示器的蜂窝电话。然而,此方面仅是作为各个方面的一个示例实现存在,并且由此并不旨在排除在权利要求书中所记载的主题内容的其它可能的实现。
如本文中所使用的,术语“列表”可指各种数据结构中的任何一种,包括数组、链表、双向链表、或可在逻辑上呈现为顺序列表的任何类似的数据结构,而无论此类数据结构是否允许列表成员被顺序地访问。
在各个方面,诸方法和装置使得计算设备甚至能够在以正常格式呈现运动对象或运动图像的图像时处理资源不能满足最小帧速率(例如,每秒30帧)的情况下在该最小帧速率要求内呈现这些运动对象或运动图像。在各个方面,计算设备的处理器可监视在呈现运动图形或项目期间所达成的帧速率。当所达成的帧速率下降到最小可接受值(例如,每秒30帧)以下时,处理器可记录所呈现的对象或项目的当前速度并且开始呈现计算上较不复杂的“轻量级”对象或项目,这些对象或项目替代所呈现图像中的标准图形对象或项目。占位符项目被定义和选择,以使得它们较快速地呈现并且较快速地创建,这使得能够在动画中达成较快的帧速率。计算上较不复杂的对象或项目可包括分辨率较低的且省去了呈现起来较昂贵的图形元素的具有较小尺寸或较少细节以及具有可从存储器调用或者以其它方式呈现起来在计算上较不复杂的固定图像元素的图像对象。为了便于引用,此类计算上较不复杂的图像项目在本文中被成为“占位符”项目。此类轻量级占位符项目的呈现可继续下去,直至处理器确定图形项目的速度已减少到与帧速率下降到最小可接受值以下时的速度相同或者低于该速度。当此状况被检出时,处理器可开始请求正常(即,非占位符)对象或项目的呈现。因为占位符项目被选择成在计算上较不复杂,所以它们需要较少的处理以进行呈现(这就是被称为“轻量级”的原因),处理资源能够以最小帧速率呈现占位符项目,而同时支持由动画要求的对象或项目运动速率(即,速度)。在本文中用作解说性示例的应用是诸如可响应于计算设备触摸屏显示器上的用户“轻击”手势而生成的快速列表滚动动画。各个方面可用一种以上的轻量级占位符项目来实现,这使得能够在支持最小帧速率要求的同时优化所呈现的图形质量。
虽然以下参照图像项目和列表元素(例如,快速列表滚动动画)来描述各个方面,但是这些方面还可应用于在显示器上滚动或平摇的任何被显示的内容或图像。各个方面的此类其它应用的示例包括网页文本和图像、文字处理文档、PDF文档、PowerPoint演示、文本文档、摄影图像(例如,JPEG和/或标记图像文件格式(TIFF)图像)、计算机游戏图形等。
对于描述各个方面有用的示例实现涉及诸如可在用户对移动计算设备(例如,蜂窝电话)上所显示的联系人列表执行轻击手势时发生的快速列表滚动。由于诸如联系人列表、文字处理文档或画面图像之类的文档的全部内容的图像可能不适合放在显示区域内(如通常在移动计算设备中那样),因而大多数图形用户界面(GUI)提供滚动和平摇功能性以使得文档图像能够在设备查看窗内运动。用户可按压按钮或者跨触摸屏显示器拖曳手指以达成GUI内的此类滚动和平摇。在触摸屏计算设备上的GUI系统中启用的典型文档控制手势包括拖曳、平摇、滚动和“轻击”手势。在拖曳、平摇和滚动手势中,所显示的图像跟随用户手指的触摸位置相对较慢地运动。然而,在轻击手势中,计算设备较快速地移动所显示的文档并且达到基于用户的触摸手势参数(例如,测得的轻击速度)所确定的距离。
图1中解说了接收联系人列表上的轻击手势的计算设备的示例。图1中所解说的移动设备100装备有触摸屏显示器102,在该触摸屏显示器102上呈现包括照片和个人姓名和电话号码的联系人列表104。此类移动设备100上实现的GUI将通常支持轻击手势功能性,其中用户将手指108应用于触摸屏并且朝一个方向快速地移动该手指(如由箭头106所指示的),在该手势结束时使手指108抬离显示器102,如同从表面拂去某物一样。
由于轻击手势是标准GUI功能,因而许多设备和应用开发者偏好该手势以提供一致的结果。例如,响应于特定的轻击手势速度,列表滚动可被配置成在预定时间内滚动通过预定数目个项目(即,列表条目)。这确保用户体验其计算设备一致的结果(即,相同的轻击手势应当导致列表在相同的时间里行进相同的距离),而无论设备的处理能力、当前系统负载、或正被呈现的项目的复杂度如何。另外,列表的运动(或其它图形动画)往往被设计成根据时间来显现预定义的运动行为。例如,许多移动设备GUI系统和联系人列表应用被配置成显现诸如图3A中所解说的抛物线速度分布图。如许多经编程动画中典型的那样,如箭头302所解说的动画历时是预定义的(即,恒定的)值,以使得动画将始终显现相同的历时。以此方式,列表将表现为沿着一致的速度对时间轨迹300瞬间加速并且随后减速,之后停在最终列表位置。另外,在动画中达成的运动量(该运动量是曲线300下面的面积)也是固定的,以使得运动对象或项目在离起始位置相同的距离停止,而无论处理能力或所呈现的图像的复杂度如何。此类预定义的行为可按取决于动画历时(例如,自从发起轻击手势的时间)的算法或功能的形式来实现。
图2示出了可被实现以根据预定义的速度对时间行为来生成运动显示的软件操作200的示例。当在框202处动画开始时,实现该动画的处理器可在框204中启动定时器以提供在确定恰适的动画运动行为时使用的时间基准。在框206中,处理器可使用来自定时器的当前时间来计算被显示的对象或项目应当在下一显示帧(即,在显示器上呈现的下一图像)中运动多远。例如,如果动画是快速列表滚动,则在框206中,处理器可确定被显示列表中的每个项目将运动多远以及有多少项目正在顶部或底部进入显示窗。在框208中,处理器可使用计算出的运动量来确定接下来要呈现的图像或项目。例如,处理器可使用该运动量来标识列表内必须在下一帧中呈现的项目。在框210中,处理器可诸如通过向呈现引擎标识这些对象是要被呈现的项目及其在显示区域内的位置来请求下一帧的呈现。在确定框212中,处理器可确定动画是否已经完成,并且如果没有完成(即,确定框212=“否”),则返回到框206以根据下一时刻来计算运动量。一旦动画已完成(即,确定框212=“是”),动画序列就将在框214中结束。
图形运动(诸如项目列表滚动)得越快,则每单位时间需要创建和初始化的项目就越多。列表项目的创建、初始化、和呈现都要花费时间。较快速地运动的图形(例如,列表滚动动画)需要每秒显示较多的项目,并且因此需要每单位时间初始化较多的新图像对象。因此,较快速地运动的图形(例如,列表滚动动画)的帧呈现可能要比较慢速地运动的图形的帧呈现花费更长的时间,因为需要更多的列表项目创建和初始化。因此,所达成的帧速率将下降。在一些情况下,根据图2中所解说的方法的对象和图像的创建和初始化不能够足够快速地完成以满足最小帧速率要求。这可能在计算设备的处理资源有限时(如往往在例如蜂窝电话之类的移动设备中的情形那样),或者在对象或项目正非常快速地运动、和/或要被创建、初始化和呈现的对象或项目(例如,彩色照片)难以计算时发生。当所达成的帧速率低于最小帧速率要求时,显示可能看似闪烁,因为图像帧被丢弃,并且对象在所呈现帧之间运动的距离变得足够大以至于这些对象看似以急动的方式跳跃或运动。这在图3B中解说,图3B解说了遵循图3A中所解说的被编程到动画中的显示行为、根据时间来创建、初始化和呈现对象。当对象和项目在动画中正相对缓慢地运动(诸如在动画开始时)时,处理器可以能够足够快速地创建、初始化和呈现这些对象或项目以达成期望的最小帧速率(例如,每秒30帧),如实线304中所解说的。然而,一旦运动对象或项目的速度达到处理资源不再能够在期望的帧速率内创建、初始化和呈现这些对象或项目时,结果可能是闪烁的显示,因为一些帧被丢弃306,而同时所呈现帧308可能示出这些对象或项目在诸帧之间已移动了可感知的距离。此降级的视觉性能可能继续,直至对象或项目的速度下降到处理器能够重新支持最小帧速率的水平,如实线310中所解说的。
显示性能的这种降级可能在往往具有有限计算能力并且由此可能很容易就被快速运动的列表或其它对象的呈现击垮的移动计算设备中出现。如果诸如个人计算机之类的更有能力的计算设备正在并发地执行处理器密集的后台操作以使得可用处理资源在满足最小帧速率要求的同时不足以跟上所请求的图像呈现任务,则这种降级的性能也可能在这些计算设备中出现。
应用开发者通常偏好见到等于或大于某个最小可接受值(诸如每秒30帧)的帧速率性能。历史上,应用开发者努力工作以通过大量的动画原型来避免被丢弃帧或者低于最小可接受值的帧速率的降级的视觉性能。此类试错法应用开发是耗时且昂贵的,并且不能计及可能影响图像呈现和动画行为的各种计算平台、操作状态和后台过程。
各个方面以简化应用开发过程的方式解决了导致帧速率下降到低于最小可接受值的快速图形运动的问题。在各个方面,计算设备被配置成用可较快速地呈现的(或者已实现需要较少处理的呈现格式的)计算上较不复杂的图像或对象(“占位符”)进行替代,由此使得动画能够在所显示图像降级受控的情况下满足最小可接受帧速率要求。由于处理器监视所达成的帧速率并自动地实现占位符对象或项目的呈现,因而应用开发者不必关心设备的呈现性能、个体对象或项目的呈现时间、或者在目标计算设备上执行的后台过程。取而代之的是,应用开发者可在应用软件内指定最小期望帧速率并且指定或提供在呈现过程不能用标准图形或项目来维持最小帧速率时使用的占位符图形项目。
图4A和4B中解说了各个方面的操作,其中图4A和4B是解说作为时间的函数的经预编程的对象运动相对于时间分布300和所达成的帧速率400两者的三维图形。参照图4A,在响应于轻击手势的快速列表滚动的示例中,移动设备可被配置成遵循诸如线300中所解说的滚动速度相对于时间分布。由于处理资源限制,每秒可生成、发起和呈现的帧的数目(即,所达成的帧速率)可能在列表滚动速度随时间增加时发生变化。这在线400中解说,该线400示出了当对象的速度随时间增加时下降的帧速率。线402对应于诸如可由设备制造商或应用开发者指定的最小期望帧速率。在各个方面,当线300中所示的运动动画被执行时,处理器可跟踪所达成的帧速率并检测帧速率400何时下降到低于最小期望帧速率402,诸如在404处所示的。当此状况被检出时,处理器记录对象或项目在该时刻(诸如在点406处所指示的)的动画速度并将该速度或运动参数408存储在存储器中。处理器还开始呈现占位符项目或对象,这些占位符项目或对象重量较轻(即,需要较少处理以生成其图像)并且由此可比动画中的正常项目更快地呈现。
参照图4B,占位符项目的呈现使得即使在动画速度持续增加的情况下帧速率也能够增加到最小可接受帧速率402以上。这在该帧速率图中解说,其示出了所达成的呈现正常项目的帧速率在线段410中下降直至处理器开始呈现占位符项目,此时帧速率如线段412中所示的那样增加到最小值以上。处理器随后继续呈现占位符项目,直至处理器确定动画速度小于或等于帧速率最初下降到最小值402以下时的速度408。这被解说为点414。当第二状况被检出时,处理器中止占位符项目的呈现并且切换回呈现正常项目。如虚线416中所指示的,这可能导致所达成的帧速率下降到等于或大于最小帧速率402的速率。当动画朝其结束处减速时,线段418中所示的所达成的帧速率可以增加。如图4B中所示,各个方面导致所达成的帧速率保持在最小帧速率402以上(除了或许瞬间低于最小帧速率之外)。此一致的帧速率行为是通过执行与处理器容易获取的值的两个简单比较来达成的,即,将所达成的帧速率(其是处理器可能已知的值)与最小阈值作比较,以及将动画速度与存储在存储器中的值作比较。
图5A-5C中进一步解说了快速列表滚动动画300的示例中的各个方面的操作。参照图5A,在列表滚动动画开始时,所呈现的列表项目的所达成的帧速率在列表项目速度(即,每秒对象距离)增加时保持在最小阈值以上,所以呈现正常列表项目,如线502中所示的。参照图5B,当处理器确定所达成的帧速率处于在点504处确定的最小值或者低于该最小值时,处理器存储当前列表项目速度506并开始呈现占位符项目,如由虚线508所指示的。处理器继续呈现占位符项目(线508)直至列表项目速度再次处于存储着的列表项目速度506或者低于该速度,如在点510处所解说的。随后,处理器返回呈现正常项目,如图5C中所示的线512所指示的。
在各个方面可实现各种占位符项目以实现满意的用户视觉体验。占位符项目的本质可取决于正被动画呈现的文档类型以及动画类型。另外,如以下参照图10所描述的,各个方面可应用于普通的计算机图形动画,对于这些动画,占位符项目可以在本质上非常普通并且可由应用开发者定义。图6A-6D中解说适于列表应用的占位符项目的示例。
参照图6A,诸如蜂窝电话的联系人应用之类的包括许多数据记录的应用可按列表600的形式组织数据,该列表600可包括诸如照片602和文本数据604之类的各种数据元素。为了滚动通过此类列表,用户可以按压按键或在(例如,如图1中所解说的)触摸屏显示器上执行触摸手势以使列表滚动。当列表滚动时,应用要求处理器呈现列表600的可视部分内的全部图像,包括图像602中的每一个和604处的全部文本数据。
参照图6B,可在各个方面使用的一种形式的占位符项目610涉及用标准(即,不变的)简单图形612来替代个体图像602。此类标准简单图形612可比照片612呈现起来容易地多,从而使得甚至在列表快速地滚动时也能以最小帧速率来呈现包括文本数据604的占位符项目。由于简单图形612比各种不同的照片602需要较少的处理以进行呈现,因而图6B中所示的占位符项目要比图6A中所示的正常项目的“更轻重量”。
图6C中解说了甚至更轻重量的示例占位符项目,其中用空白空间622来替代照片602。由于甚至不需要呈现简单图形612,因而图6C中所示的占位符项目620可在快速滚动运动期间使列表文本数据604能够包括在所呈现的图像中而同时仍达成最小帧速率。
如果快速滚动动画速度增加到在不下降到最小帧速率以下的情况下甚至不能在动画中呈现文本数据604的程度,则可使用甚至更轻重量的占位符,诸如图6D中所解说的。在此占位符项目630中,用标准图形632来替代文本数据,以使得不必呈现个体文本数据。将标准图形632用于列表项目数据可使处理器能够简单地通过将相同的(可存储在缓冲器中的)图形图像放置到显示器上的不同位置中以创建运动错觉而无需呈现特定项目的方式来呈现图像。
虽然图6B到6D中所解说的示例看似向用户呈现显著更少的数据,但是这些占位符项目的呈现仅在快速动画期间发生。因此,用户可能不知晓真实照片602已被如图6B中所解说的标准图形612所替代。在甚至更高的速度下,用户可能不知晓照片并未在显示或者可能不介意不呈现照片,如图6C中所解说的。在甚至更高的速度下,用户可能无法区分运动的文本和类文本图形,并且因此可能不知晓文本数据604已由被配置成看上去像快速运动的文本的图形占位符项目632替代。
可实现各种不同类型的占位符项目,如可由应用开发者定义的那样。例如,在列表应用(例如,联系人列表或电话簿应用)中,可通过从所呈现的图像丢弃一些数据来提供轻量级占位符项目。例如,在联系人列表滚动动画中,可从所呈现的项目中丢弃联系人地址和电话号码数据,因此仅个人的姓名出现在占位符项目中。在一些实现中,丢弃信息类别可导致列表快速滚动时每个列表项目的高度,以及在滚动速度减小时类别扩展或者这些类别的占位符实体填充。因此,占位符的使用可能影响滚动列表中的项目的高度。作为另一示例,可从动画图像中丢弃阴影、群标识符和其它列表项目图像增强以提供轻量级占位符项目。作为另一示例,占位符可被精简成列表中的标题或片段头部,诸如列表的当前位置的索引字母(例如,A、B、C等)的显示。
图7解说了根据各个方面的可在计算设备内实现的示例方法700。在动画(例如,快速列表滚动动画)开始时202,计算设备可在框204中启动与该动画相关联的定时器。在框206中,计算设备可根据当前时间来计算对象或项目(例如,列表项目)的运动量,并且在框208中基于此计算来确定在下一帧中呈现的对象或项目。在框210中,计算设备诸如通过请求由呈现引擎进行呈现来发起所确定的对象或项目的呈现。在框702中,计算设备可确定或记录在呈现过程中所达成的当前帧速率。所达成的当前帧速率的确定可基于在预定义的先前时间区间(例如,先前十分之一秒)内已呈现的帧的数目、基于瞬时值(例如,前一帧的呈现历时)、移动平均值、或统计上确定的值来计算。
在确定框704中,计算设备可确定在框702处所确定的当前帧速率是否小于最小阈值。如果该帧速率等于或大于最小速率(即,确定框704=“否”),计算设备可在确定框212中确定动画是否已完成。如果动画尚未完成(即,确定框212=“否”),则动画可通过计算设备返回到框206以计算下一运动量的方式继续。一旦动画已完成(即,确定框212=“是”),动画就在框214中结束。
如果在动画期间计算设备确定当前达成的帧速率小于最小阈值(即,确定框704=“是”),则计算设备可在框706中将框206处计算的当前动画速度或运动量存储在存储器中。在框708中,计算设备可以与以上参照图2中的框206所描述的方式类似的方式根据当前时间计算下一帧的图像或项目的运动量。在可任选的框710中,计算设备可按与以上参照框208所描述的方式类似的方式确定在下一帧中呈现的接下来的图像或项目。此确定是可任选的,因为一些占位符项目可能不涉及呈现从滚动文档获得的数据(例如,当它们是标准图形占位符时),在这种情形中不需要为呈现而标识项目。在框712中,计算设备可呈现占位符项目(例如,通过请求呈现引擎完成呈现)。在确定框714中,计算设备可确定在框708中所计算的当前动画速度是否小于或等于存储着的速度值(即,框706中所存储的速度值)。如果当前速度大于存储着的速度值(即,确定框714=“否”),则计算设备可返回到框708以根据当前时间来计算下一运动量并继续动画。
当计算设备确定当前动画速度等于或小于存储着的速度值(即,确定框714=“是”)时,计算设备可返回到确定框212以确定动画是否完成。如果动画未完成,则计算设备可通过返回到框206来继续动画呈现正常项目,如以上所描述的。
在另一方面,可实现一种以上的占位符项目以使计算设备能够在某一动画速度范围内维持最小帧速率连同可接受的图形呈现。例如,如图8A中所解说的,应用可配置有两个占位符项目,即,中等分辨率占位符(或占位符格式)以及低分辨率占位符(或占位符格式)。在此所解说的示例中,正常项目可被呈现(如线502所指示的)直至所达成的帧速率下降到最小值以下,如点802处所指示的。当遇到此状况时,计算设备处理器存储当前动画速度804并开始呈现中等分辨率占位符项目,如由线806所指示的。中等分辨率占位符项目的呈现806继续下去直至处理器确定所达成的帧速率再次低于最小值,如点808处所指示的。当帧速率第二次下降到最小值以下的这种状况被检出时,计算设备可将当前动画速度810存储在存储器中并开始呈现低分辨率占位符项目812。低分辨率占位符项目的呈现812继续下去直至动画速度下降到存储着的值810以下,此后计算设备开始呈现中等分辨率占位符项目806。中等分辨率占位符项目的呈现806继续下去直至动画速度下降到804处存储着的值以下,此后计算设备开始呈现正常分辨率项目502。
可实现的不同类型的分辨率占位符(或占位符格式)的数目是不受限制的。例如,图8B解说了在其中实现三种不同的占位符的一方面。在此示例中,中等和低分辨率占位符的实现可如以上参照图8A所描述的那样进行。然而,如果处理资源甚至在呈现低分辨率项目时也不能够满足最小帧速率(如点820处所指示的),则计算设备可通过呈现诸如简单的阴影带、简单的图形或占位符文本之类的最小占位符来维持最小帧速率,如由线824所指示的。当帧速率第三次下降到最小值以下的状况被检出时,计算设备可将当前动画速度822存储在存储器中并开始呈现最小分辨率占位符项目824。最小分辨率占位符项目的呈现844继续下去直至动画速度下降到存储着的值822以下,此后计算设备开始呈现低分辨率占位符项目812。
图9解说了根据一方面的可在计算设备中实现以启用任何数目的不同类型的占位符(或占位符格式)来维持最小帧速率的示例方法900。在方法900中,在框902处,动画可以开始,这可涉及在框904处启动定时器。在框906中,计算设备可通过将呈现格式指定为正常或标准(F0)以及当索引被用于跟踪速度准则和呈现格式时初始化索引i(即,设置i=0)的方式来初始化动画。此操作指示在动画开始时应当呈现的正常对象或项目或者应当以正常格式呈现项目。在框908中,计算设备可根据当前时间来计算动画的运动参数或速度。在框910中,计算设备可确定要被呈现的下一图像位置或项目,并在框912中请求使用当前指定的格式来呈现那些图像或项目。当前指定的格式(Fi)是框906中所指定的格式或者是如以下所描述的框924或928中的一者中所指定的格式。在此操作中,计算设备可向呈现引擎指定要被呈现的对象或图像以及要被使用的呈现格式。在框914中,计算设备以与以上参照图7所描述的方式类似的方式来记录或确定当前帧速率。在确定框916中,计算设备确定帧速率是否低于最小阈值。
如果计算设备确定帧速率已下降到最小阈值以下(即,确定框916=“是”),则计算设备可在索引被用于跟踪速度准则和呈现格式时在框921中使索引i递增,将当前速度或运动参数存储在诸如堆栈之类的存储器中或者存储为带索引的变量(例如,作为Si),以及将呈现格式指定为下一较轻的占位符格式(例如,Fi)。计算设备可随后在确定框920中确定动画是否已完成。如果动画尚未完成(即,确定框920=“否”),则计算设备可通过返回到框908以根据时间来计算下一运动参数或距离的方式继续动画。在框912中,计算设备使用当前指定的(在框924中指定的)格式Fi来呈现下一图像或项目。通过指定需要较少处理的格式(即,“轻量级”格式),计算设备能够维持最小帧速率而同时匹配所指定的动画速度。
如果计算设备确定帧速率不小于最小可接受帧速率(即,确定框916=“否”),则计算设备可确定当前动画速度或运动参数是否小于或等于在框922中所存储的当前存储着的速度Si。如果当前速度大于当前存储着的速度Si(即,确定框918=“否”),计算设备可在确定框920中确定动画是否已完成。如果动画尚未完成(即,确定框920=“否”),则计算设备可通过返回到框908以根据时间来计算下一运动参数或距离的方式继续动画。
框908到920中的操作可在动画期间用在框924中指定的甚至更轻重量的呈现格式Fi继续进行以维持期望的最小帧速率。每当指定更轻的格式时,计算设备可使索引i递增(框921),并且还存储相应的动画速度Si(框922)。例如,占位符格式可诸如通过消除阴影、继以消除其它发光效应、继以减少图像细节、继以用卡通来替代某些图像元素、继以丢弃某些图像元素等来顺序地降低呈现复杂度。由此,可指定任何数目的占位符项目(或占位符格式)以使得所显示的图像在速度增加时看似维持一致的质量而同时达成最小帧速率以避免闪烁的外观。
如果计算设备确定当前速度或运动参数小于或等于与当前呈现格式相关联的存储着的速度Si(即,确定框918=“是”),则计算设备可在框925中使索引i递减,在框926中调用先前存储着的与前一呈现格式相关联的动画速度(即,索引i已被递减之后的Si),并且在框928中将下一较重的呈现格式(即,索引i已被递减之后的Fi)指定为呈现格式。计算设备可随后在确定框920中确定动画是否已完成。如果动画尚未完成(即,确定框920=“否”),则计算设备可通过返回到框908以根据时间来计算下一运动参数或距离的方式继续动画。在框912中,计算设备使用当前指定的(在框924中指定的)格式Fi来呈现下一图像或项目。通过指定需要较多处理的呈现格式,计算设备能够生成较高分辨率或看上去更正常的图像而同时在所指定的动画速度下维持最小帧速率。
框916、922和924中的操作使得能够响应于增加的动画需求来顺序地实现不断更轻重量的呈现格式以维持最小帧速率,而框918、926和928中的操作使得能够在动画需求减少时撤销此过程以实现重量增加的呈现格式。因此,方法900使计算设备能够调整与应用开发者规范一致的占位符或呈现格式以维持最小期望帧速率。
虽然以上示例涉及列表应用和快速滚动动画,但是诸方面和权利要求不限于此类应用并且可用任何动画例程来实现。以上参照图9所描述的一般方法可在呈现快速运动的图像和文档项目的任何计算设备中实现,这些图像和文档项目包括例如网页的快速滚动或平摇、文本文档的快速滚动、便携式文档格式(PDF)文档的快速滚动或平摇、PowerPoint演示的快速滚动、以及摄影图像(例如,JPEG和/或TIFF格式图像)的快速滚动或平摇。此类图像运动可以响应于如以上所描述的(例如,GUI实现中的)用户输入,但是也可以是诸如在计算设备上运行的游戏应用之类的应用的正常功能的一部分。
另外,这些动画无需遵循如图5A-5C、8A和8B中所解说的抛物线或对称时间分布。实现与图9中所解说的方法900类似的方法的各个方面也可关于在处理需求意义下以不一致的方式变化的动画来实现,诸如图10中所解说的。例如,各个方面可在计算机游戏或运行游戏应用的计算设备中实现。
图10是解说实现与图9中所解说的方法类似的方法的计算设备如何响应于作为时间的函数的对象速度或运动参数而为显现出随机变化的对象速度的应用调整呈现格式的图形。只要计算设备能够以最小帧速率呈现这些对象或图像,就可使用标准或正常呈现格式来完成呈现,如由线952所指示的。一旦动画和/或后台过程的需求导致所达成的帧速率下降到最小值以下(在点954处指示),则计算设备就可将当前的对象速度或运动参数存储为第一速度值S1(值958)并开始以第一(例如,中等分辨率)呈现格式F1来呈现对象和图像,如由线956所指示的。在当前对象速度或运动参数的需求下降到存储值958以下时(如在点960处所指示的),计算设备可返回到使用标准或正常呈现格式来呈现对象和图像。当动画和/或后台过程的需求导致所达成的帧速率再次下降到最小值以下时(在点962处指示),计算设备可再次存储该对象速度或运动参数值S1(958)并且返回到使用第一呈现格式F1来呈现对象和图像。当动画和/或后台过程的需求导致所达成的帧速率再次下降到最小值以下时(在点964处指示),计算设备可存储该对象速度或运动参数值S2(968)并且开始使用第二(例如,低分辨率)呈现格式F2来呈现对象和图像。在当前对象速度或运动参数的需求下降到存储值S2(968)以下时(如在点970处所指示的),计算设备可返回到使用下一较重的第一呈现格式F1来呈现对象和图像。当动画和/或后台过程的需求导致所达成的帧速率再次下降到最小值以下时(在点972处指示),计算设备可再次存储该对象速度或运动参数值S2(968)并且返回到使用第二呈现格式F2来呈现对象和图像。当动画和/或后台过程的需求导致所达成的帧速率再次下降到最小值以下时(在点964处指示),计算设备可存储该对象速度或运动参数值S2(968)并且开始使用第二呈现格式F2来呈现对象和图像。当动画和/或后台过程的需求导致所达成的帧速率再次下降到最小值以下时(在点974处指示),计算设备可存储该对象速度或运动参数值S3(978)并且开始使用第三(例如,梯度)呈现格式F3来呈现对象和图像。当动画的需求下降到存储着的速度值S3、S2和S1以下时(分别在点980、982和984处指示),计算设备可相应地回复到第二呈现格式F2、第一呈现格式F1、和标准或正常呈现格式。
应当领会,所达成的帧速率的变化可能是部分地由于减少了可用于呈现对象和项目的处理资源量的后台过程以及图形动画的处理需求而导致的。此类后台过程可能对于应用开发者而言是非常难以预料的。因此,这些方面使计算设备甚至在后台过程限制计算设备图像呈现能力的情况下也能够继续递送动画的一致帧速率性能。通过仅跟踪在实现用于呈现过程的占位符时所实现的动画速度或运动参数,各个方面提供了用于容适动画和后台处理需求的变化而无需监视或预测后台过程的简单机制。由于与给定占位符实现相关联的动画速度或运动参数可在每次占位符呈现被重置(例如,返回到正常的呈现或次重的呈现)时被重置,因而这些方法可容适后台过程的动态变化而不会不必要地减少图像呈现或者不需要复杂的算法或因设备而异的实现。
在另一方面,计算设备可被配置成选择将实现动画图形的接近最优的呈现而同时支持最小帧速率的占位符或呈现格式。在此方面,计算设备可猜测或估计将使其能够以最小的图像质量下降来满足最小帧速率的呈现格式。此类猜测或估计可以基于动画的当前速度或处理需求、当前的帧速率性能和/或后台过程需求。一旦所猜测或估计的呈现格式被实现,计算设备就可监视所达成的帧速率以确定该帧速率在最小帧速率以上还是以下。如果所达成的帧速率仍在最小阈值以下,则计算设备可实现更轻的呈现格式(即,需要更少处理的呈现格式)并且继续监视所达成的帧速率。如果所达成的帧速率在最小阈值以上诸如达阈值量,则计算设备可实现更重的呈现格式(即,需要更多处理的呈现格式)并且继续监视所达成的帧速率。以此方式,计算设备可连续地调整与最小帧速率一致的呈现格式以达成接近最优的呈现。在此方面,应用开发者仅需要满足最小期望帧速率并且标识或表征各种占位符或呈现格式。
如以上所提及的,以上针对文本和图像对象的列表的各个方面的示例应用仅是为示例目的而提供的。这些方面还可应用于在显示器上滚动或平摇的任何被显示内容或图像,诸如网页文本和图像、文字处理文档、便携式文档格式(PDF)文档、PowerPoint演示、文本文档、摄影图像(例如,JPEG和/或TIFF图像)等的滚动或平摇。
以上所描述的各个方面可在各种计算设备中的任何一种计算设备中实现,诸如图11中所解说的移动设备和图12中所解说的笔记本计算机。典型的移动设备1100将具有图11中所解说的共有组件。例如,计算设备1100可包括耦合至内部存储器1192的处理器1191以及触摸表面输入设备1104或显示器1102。触摸表面输入设备1104可以是任何类型的触摸屏显示器1101,诸如电阻感测式触摸屏、电容感测式触摸屏、红外感测式触摸屏、声学/压电感测式触摸屏或类似的触摸屏。各个方面不限于任何特定类型的触摸屏显示器1101或触摸板技术。另外,计算设备1100可具有用于发送和接收电磁辐射的天线1194,该天线1194与耦合至处理器1191的无线数据链路和/或蜂窝电话收发机1195相连接。不包括触摸屏输入设备1104(并且由此通常不具有显示器1102)的计算设备1100通常包括按键板1196或微型键盘、以及充当指示设备的菜单选择键或摇杆开关1197。处理器1191还可连接至诸如通用串行总线(USB)或连接器插口之类的用于将处理器1191连接至也可在其上应用各个方面的外部按键板或触摸表面的有线网络接口1198。
在一些实现中,触摸表面可被提供在电子设备1100的位于触摸屏显示器1104或显示器1102之外的区域中。例如,按键板1196可包括具有埋藏的电容性触摸传感器的触摸表面。在其它实现中,按键板1196可被取消,从而触摸屏显示器1104提供全部GUI。在又一些实现中,触摸表面可以是能借助电缆-电缆连接器1198或者耦合至处理器1191的无线收发机(例如,收发机1195)连接至计算设备1100的外部触摸板。
以上所描述的各个方面还可在诸如图12中所解说的膝上型计算机1200之类的各种计算设备内实现。许多膝上型计算机包括充当计算机的指示设备的触摸板触摸表面,并且由此可接收与在装备有触摸屏显示器的移动设备上实现的拖曳、滚动和轻击手势类似的拖曳、滚动和轻击手势。膝上型计算机1200将通常包括耦合至易失性存储器1202和诸如盘驱动器1203之类的大容量非易失性存储器的处理器1201。计算机1200还可包括耦合至处理器1201的软盘驱动器1204和压缩盘(CD)驱动器1205。计算机设备1200还可包括耦合至处理器1201的用于建立数据连接或接收外部存储器设备的诸如USB或连接器插口之类的数个连接器端口,或者用于将处理器1201耦合至网络的其它网络连接电路1206。在笔记本配置中,计算机外壳包括均耦合至处理器1201的触摸板1207、键盘1208、和显示器1209。计算设备的其它配置可包括(例如,经由USB输入)耦合至处理器的公知的计算机鼠标或轨迹球。
计算设备处理器1191、1201可以是能通过软件指令(应用)配置以执行包括上述各个方面的功能在内的各种功能的任何可编程微处理器、微型计算机或一个或多个多处理器芯片。在一些便携式计算设备1100中,可提供多个处理器1191,诸如一个处理器专用于无线通信功能并且一个处理器专用于运行其它应用。处理器也可被包括为通信芯片组的一部分。
上述方法描述和处理流程图仅作为例示性示例提供,且并非旨在要求或暗示各种实施例的步骤必须按所给出的次序来执行。如本领域技术人员将领会的,前述实施例中的步骤次序可按任意次序来执行。诸如“其后”、“然后”、“下一个”等的措辞并非旨在限制步骤的次序;这些措辞简单用以指引读者通过方法的描述。进一步地,对单数形式的权利要求元素的任何引述,例如使用表述“一”、“一个”或“该”,不解释为将元素限制为单数。
结合本文中所公开的实施例来描述的各种例示性逻辑框、模块、电路、和算法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软件的这一可互换性,以上已经以其功能性的形式一般化地描述了各种解说性组件、框、模块、电路、和步骤。此类功能性是被实现为硬件还是软件取决于具体应用和加诸于整体系统的设计约束。技术人员对于每种具体应用可以变化的方式来实现所描述的功能性,但此类实现决策不应被解读成导致脱离了本发明的范围。
用以实现结合本文中公开的方面描述的各种例示性逻辑、逻辑框、模块、以及电路的硬件可利用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其设计成执行本文中描述的功能的任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,DSP与微处理器的组合、多个微处理器、与DSP核心协作的一个或更多个微处理器、或任何其它此类配置。替代地,一些步骤或方法可由专用于给定功能的电路系统来执行。
在一个或更多个示例性方面中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则诸功能可以作为一条或更多条指令或代码存储在计算机可读介质上或藉其进行传送。本文中公开的方法或算法的步骤可在处理器可执行软件模块中实施,该处理器可执行软件模块可驻留在有形非瞬态计算机可读存储介质上。有形非瞬态计算机存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类非瞬态计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者可用于存储指令或数据结构形式的合意程序代码且可由计算机访问的任何其它介质。如本文中所使用的盘和碟包括压缩碟(CD)、激光碟、光碟、数字通用碟(DVD)、软盘和蓝光碟,其中盘(disk)往往以磁的方式再现数据而碟(disc)利用激光以光学方式再现数据。以上的组合也应被包括在非瞬态计算机可读介质的范围内。另外,方法或算法的操作可作为一条代码和/或指令或者代码和/或指令的任何组合或集合而驻留在可被纳入计算机程序产品中的有形非瞬态机器可读介质和/或计算机可读介质上。
提供所公开的实施例的先前描述是为了使本领域任何技术人员皆能制作或使用本发明。对这些实施例的各种修改对于本领域技术人员将是显而易见的,并且本文中定义的普适原理可被应用于其他实施例而不会脱离本发明的精神或范围。由此,本发明并非旨在限定于本文中示出的实施例,而是应被授予与以下权利要求和本文中公开的和原理和新颖性特征一致的最广义的范围。
Claims (26)
1.一种用于在计算设备上实现显示动画的方法,包括:
监视在所述显示动画期间所呈现的帧的速率;
当所监视的帧速率被确定低于最小可接受值时呈现计算上较不复杂的项目,其中所述计算上较不复杂的项目能够比正常项目更快速地呈现;
当所监视的帧速率被确定低于所述最小可接受值时存储所述动画的速度;以及
当所述动画的速度下降到所存储的速度以下时呈现正常项目。
2.如权利要求1所述的方法,其特征在于,所监视的帧速率基于在预定义的先前区间期间所呈现的帧的数目。
3.如权利要求1所述的方法,其特征在于,所监视的帧速率基于移动平均帧速率。
4.如权利要求1所述的方法,其特征在于,所述计算上较不复杂的项目被定义为应用的一部分。
5.如权利要求1所述的方法,其特征在于,所述显示动画是快速列表滚动动画、网页的快速滚动或平摇、文本文档的快速滚动、便携式文档格式(PDF)文档的快速滚动或平摇、PowerPoint演示的快速滚动、以及摄影图像的快速滚动或平摇中的一者。
6.一种用于在计算设备上实现显示动画的方法,包括:
指定用于在所述显示动画开始时呈现图像的第一呈现格式;
使用所指定的呈现格式来呈现图像;
监视在所述显示动画期间所呈现的帧的速率;
确定所监视的帧速率何时下降到最小可接受值以下;
当确定所监视的帧速率下降到所述最小可接受值以下时指定用于呈现图像的第二呈现格式,其中所述第二呈现格式比所述第一呈现格式需要较少的处理;
当确定所监视的帧速率被确定低于所述最小可接受值时存储所述动画的第一速度;
确定所述动画的速度何时小于所存储的第一速度;以及
在当前指定的呈现格式是所述第二呈现格式并且确定所述动画的所述速度小于所存储的第一速度时指定所述第一呈现格式。
7.如权利要求6所述的方法,其特征在于,进一步包括:
在当前指定的呈现格式是所述第二呈现格式并且确定所监视的帧速率下降到所述最小可接受值以下时指定用于呈现图像的第三呈现格式并存储所述动画的第二速度;
确定所述动画的速度何时小于所存储的第二速度;以及
在当前指定的呈现格式是所述第三呈现格式并且确定所述动画的所述速度小于所存储的第二速度时指定所述第二呈现格式。
8.如权利要求7所述的方法,其特征在于,进一步包括:
在当前指定的呈现格式是所述第三呈现格式并且确定所监视的帧速率下降到所述最小可接受值以下时指定用于呈现图像的第四呈现格式并存储所述动画的第三速度;
确定所述动画的速度何时小于所存储的第三速度;以及
在当前指定的呈现格式是所述第四呈现格式并且确定所述动画的所述速度小于所存储的第三速度时指定所述第三呈现格式。
9.如权利要求8所述的方法,其特征在于,所述第一、第二和第三呈现格式被定义为应用的一部分。
10.如权利要求6所述的方法,其特征在于,所监视的帧速率基于在预定义的先前区间期间所呈现的帧的数目。
11.如权利要求6所述的方法,其特征在于,所监视的帧速率基于移动平均帧速率。
12.如权利要求6所述的方法,其特征在于,所述显示动画是快速列表滚动动画。
13.如权利要求6所述的方法,其特征在于,所述显示动画由游戏应用生成。
14.一种计算设备,包括:
用于监视在显示动画期间所呈现的帧的速率的装置;
用于当所监视的帧速率被确定低于最小可接受值时呈现计算上较不复杂的项目的装置,其中所述计算上较不复杂的项目能够比正常项目更快速地呈现;
用于当所监视的帧速率被确定低于所述最小可接受值时存储所述动画的速度的装置;以及
用于当所述动画的速度下降到所存储的速度以下时呈现正常项目的装置。
15.如权利要求14所述的计算设备,其特征在于,所述用于监视所呈现的帧速率的装置包括用于基于在预定义的先前区间期间所呈现的帧的数目来监视所呈现的帧速率的装置。
16.如权利要求14所述的计算设备,其特征在于,所述用于监视所呈现的帧速率的装置包括用于基于移动平均帧速率来监视所呈现的帧速率的装置。
17.如权利要求14所述的计算设备,其特征在于,所述计算上较不复杂的项目被定义为应用的一部分。
18.如权利要求14所述的计算设备,其特征在于,所述显示动画是快速列表滚动动画、网页的快速滚动或平摇、文本文档的快速滚动、便携式文档格式(PDF)文档的快速滚动或平摇、PowerPoint演示的快速滚动、以及摄影图像的快速滚动或平摇中的一者。
19.一种计算设备,包括:
用于指定用于在显示动画开始时呈现图像的第一呈现格式的装置;
用于使用所指定的呈现格式来呈现图像的装置;
用于监视在所述显示动画期间所呈现的帧的速率的装置;
用于确定所监视的帧速率何时下降到最小可接受值以下的装置;
用于当确定所监视的帧速率下降到所述最小可接受值以下时指定用于呈现图像的第二呈现格式的装置,其中所述第二呈现格式比所述第一呈现格式需要较少的处理;
用于当确定所监视的帧速率被确定低于所述最小可接受值时存储所述动画的第一速度的装置;
用于确定所述动画的速度何时小于所存储的第一速度的装置;以及
用于在当前指定的呈现格式是所述第二呈现格式并且确定所述动画的所述速度小于所存储的第一速度时指定所述第一呈现格式的装置。
20.如权利要求19所述的计算设备,其特征在于,进一步包括:
用于在当前指定的呈现格式是所述第二呈现格式并且确定所监视的帧速率下降到所述最小可接受值以下时指定用于呈现图像的第三呈现格式并存储所述动画的第二速度的装置;
用于确定所述动画的速度何时小于所存储的第二速度的装置;以及
用于在当前指定的呈现格式是所述第三呈现格式并且确定所述动画的所述速度小于所存储的第二速度时指定所述第二呈现格式的装置。
21.如权利要求20所述的计算设备,其特征在于,进一步包括:
用于在当前指定的呈现格式是所述第三呈现格式并且确定所监视的帧速率下降到所述最小可接受值以下时指定用于呈现图像的第四呈现格式并存储所述动画的第三速度的装置;
用于确定所述动画的速度何时小于所存储的第三速度的装置;以及
用于在当前指定的呈现格式是所述第四呈现格式并且确定所述动画的所述速度小于所存储的第三速度时指定所述第三呈现格式的装置。
22.如权利要求21所述的计算设备,其特征在于,所述第一、第二和第三呈现格式被定义为应用的一部分。
23.如权利要求20所述的计算设备,其特征在于,所述用于监视所呈现的帧速率的装置包括用于基于在预定义的先前区间期间所呈现的帧的数目来监视所呈现的帧速率的装置。
24.如权利要求20所述的计算设备,其特征在于,所述用于监视所呈现的帧速率的装置包括用于基于移动平均帧速率来监视所呈现的帧速率的装置。
25.如权利要求20所述的计算设备,其特征在于,所述显示动画是快速列表滚动动画、网页的快速滚动或平摇、文本文档的快速滚动、便携式文档格式(PDF)文档的快速滚动或平摇、PowerPoint演示的快速滚动、以及摄影图像的快速滚动或平摇中的一者。
26.如权利要求20所述的计算设备,其特征在于,所述显示动画由游戏应用生成。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/859,938 US8766984B2 (en) | 2010-08-20 | 2010-08-20 | Graphics rendering methods for satisfying minimum frame rate requirements |
US12/859,938 | 2010-08-20 | ||
PCT/US2011/034112 WO2012024003A1 (en) | 2010-08-20 | 2011-04-27 | Graphics rendering methods for satisfying minimum frame rate requirements |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103069458A CN103069458A (zh) | 2013-04-24 |
CN103069458B true CN103069458B (zh) | 2015-12-16 |
Family
ID=44121067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180039724.1A Expired - Fee Related CN103069458B (zh) | 2010-08-20 | 2011-04-27 | 用于满足最小帧速率要求的图形呈现方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8766984B2 (zh) |
EP (1) | EP2606471A1 (zh) |
JP (1) | JP5662577B2 (zh) |
KR (1) | KR101499372B1 (zh) |
CN (1) | CN103069458B (zh) |
WO (1) | WO2012024003A1 (zh) |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101731843B1 (ko) * | 2010-09-02 | 2017-05-02 | 삼성전자 주식회사 | 아이템 디스플레이하는 방법 및 장치 |
US9015639B2 (en) | 2011-02-11 | 2015-04-21 | Linkedin Corporation | Methods and systems for navigating a list with gestures |
JP5451684B2 (ja) * | 2011-05-31 | 2014-03-26 | 楽天株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
US8640047B2 (en) * | 2011-06-01 | 2014-01-28 | Micorsoft Corporation | Asynchronous handling of a user interface manipulation |
KR101794000B1 (ko) * | 2011-06-13 | 2017-11-06 | 삼성전자주식회사 | 터치 스크린을 구비하는 기기에서 스크롤 장치 및 방법 |
CA2792685C (en) * | 2011-10-18 | 2017-08-22 | Research In Motion Limited | Method of modifying rendered attributes of list elements in a user interface |
CA2792900C (en) * | 2011-10-18 | 2017-09-05 | Research In Motion Limited | Method of rendering a user interface |
EP2584462B1 (en) * | 2011-10-18 | 2019-03-27 | BlackBerry Limited | Method of rendering a user interface |
CA2792895C (en) * | 2011-10-18 | 2020-04-28 | Research In Motion Limited | Method of rendering a user interface |
US20140204101A1 (en) * | 2011-11-30 | 2014-07-24 | Murali Ramadoss | Adaptive frame rate control for a graphics subsystem |
US9213479B2 (en) * | 2012-02-16 | 2015-12-15 | Samsung Medison Co., Ltd. | Method and apparatus for displaying image |
TWI476706B (zh) * | 2012-04-30 | 2015-03-11 | Pixart Imaging Inc | 偵測物件移動輸出命令的方法及其系統 |
US9214005B2 (en) | 2012-12-18 | 2015-12-15 | Google Technology Holdings LLC | Methods and systems for overriding graphics commands |
US9137320B2 (en) | 2012-12-18 | 2015-09-15 | Google Technology Holdings LLC | Methods and systems for overriding graphics commands |
US8982137B2 (en) * | 2012-12-18 | 2015-03-17 | Google Technology Holdings LLC | Methods and systems for overriding graphics commands |
JP2014139776A (ja) * | 2012-12-19 | 2014-07-31 | Canon Inc | 表示制御装置、表示制御方法、及びプログラム |
US9811938B2 (en) * | 2013-03-14 | 2017-11-07 | Business Objects Software Ltd. | Methods, apparatus and system for analytics replay utilizing random sampling |
US10592278B2 (en) * | 2013-03-15 | 2020-03-17 | Facebook, Inc. | Defer heavy operations while scrolling |
US20140372916A1 (en) * | 2013-06-12 | 2014-12-18 | Microsoft Corporation | Fixed header control for grouped grid panel |
US10068508B2 (en) * | 2013-08-30 | 2018-09-04 | Google Llc | Measuring user interface performance consistency |
KR102095702B1 (ko) * | 2013-09-27 | 2020-04-14 | 에스케이플래닛 주식회사 | 이동 단말을 위한 애니메이션 재생 장치 및 방법 |
US20150170315A1 (en) * | 2013-12-17 | 2015-06-18 | Eric C. Samson | Controlling Frame Display Rate |
US9327199B2 (en) * | 2014-03-07 | 2016-05-03 | Microsoft Technology Licensing, Llc | Multi-tenancy for cloud gaming servers |
CN103823546B (zh) * | 2014-03-10 | 2017-07-28 | 联想(北京)有限公司 | 信息控制方法和电子设备 |
JP2015195005A (ja) * | 2014-03-18 | 2015-11-05 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及び記憶媒体 |
US20150286691A1 (en) * | 2014-04-02 | 2015-10-08 | Microsoft Corporation | Data view exposure mechanisms |
KR101646051B1 (ko) * | 2014-05-08 | 2016-08-08 | 네이버 주식회사 | 단말 장치 및 이에 의한 웹 페이지 디스플레이 방법,및 웹 서버 및 이에 의한 웹 페이지 제공 방법 |
JP6507496B2 (ja) * | 2014-06-18 | 2019-05-08 | カシオ計算機株式会社 | 画像表示装置、画像表示方法及びプログラム |
JP6435659B2 (ja) * | 2014-06-25 | 2018-12-12 | カシオ計算機株式会社 | 画像処理装置、アニメーション生成方法及びプログラム |
CN115756154A (zh) | 2014-09-02 | 2023-03-07 | 苹果公司 | 用于可变触觉输出的语义框架 |
US10692531B2 (en) * | 2014-10-25 | 2020-06-23 | Yieldmo, Inc. | Methods for serving interactive content to a user |
JP6063431B2 (ja) * | 2014-11-28 | 2017-01-18 | 京セラドキュメントソリューションズ株式会社 | 表示装置及び表示プログラム |
US10410398B2 (en) * | 2015-02-20 | 2019-09-10 | Qualcomm Incorporated | Systems and methods for reducing memory bandwidth using low quality tiles |
US9959658B2 (en) | 2015-02-26 | 2018-05-01 | Rovi Guides, Inc. | Methods and systems for generating holographic animations |
JP6655880B2 (ja) * | 2015-03-17 | 2020-03-04 | 三菱電機株式会社 | 表示制御装置、表示制御方法及びプログラム |
GB2527672B (en) * | 2015-05-22 | 2016-06-01 | Gamesys Ltd | Measuring device analysis |
JP6696737B2 (ja) * | 2015-06-26 | 2020-05-20 | シャープ株式会社 | コンテンツ表示装置及びプログラム |
CN105049914B (zh) * | 2015-07-07 | 2019-02-26 | 深圳Tcl数字技术有限公司 | 图片帧播放方法和装置 |
CN105549957A (zh) * | 2015-09-25 | 2016-05-04 | 深圳市美贝壳科技有限公司 | 自定义滚动条指示器的方法 |
US10706821B2 (en) | 2016-02-18 | 2020-07-07 | Northrop Grumman Systems Corporation | Mission monitoring system |
DK179823B1 (en) | 2016-06-12 | 2019-07-12 | Apple Inc. | DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR PROVIDING HAPTIC FEEDBACK |
DK201670737A1 (en) * | 2016-06-12 | 2018-01-22 | Apple Inc | Devices, Methods, and Graphical User Interfaces for Providing Haptic Feedback |
EP3264267A1 (de) * | 2016-06-30 | 2018-01-03 | Siemens Aktiengesellschaft | Verfahren und anordnung zur darstellung oder aktualisierung einer graphischen benutzeroberfläche eines industriellen bedien- und beobachtungssystems |
DK201670720A1 (en) | 2016-09-06 | 2018-03-26 | Apple Inc | Devices, Methods, and Graphical User Interfaces for Generating Tactile Outputs |
DK201770372A1 (en) | 2017-05-16 | 2019-01-08 | Apple Inc. | TACTILE FEEDBACK FOR LOCKED DEVICE USER INTERFACES |
US20190114819A1 (en) * | 2017-10-13 | 2019-04-18 | Microsoft Technology Licensing, Llc | Dimensional content surface rendering |
US20190230416A1 (en) * | 2018-01-21 | 2019-07-25 | Guangwei Yuan | Face Expression Bookmark |
CN108646938B (zh) * | 2018-03-13 | 2020-04-17 | Oppo广东移动通信有限公司 | 触摸屏的配置方法、装置、终端及存储介质 |
US11169683B2 (en) * | 2018-07-17 | 2021-11-09 | Qualcomm Incorporated | System and method for efficient scrolling |
CN112001988A (zh) * | 2019-05-27 | 2020-11-27 | 珠海金山办公软件有限公司 | 一种动画效果生成方法及装置 |
WO2021232328A1 (en) * | 2020-05-21 | 2021-11-25 | Qualcomm Incorporated | Methods and apparatus for tickless pre-rendering |
CN113421321B (zh) * | 2021-07-09 | 2024-03-19 | 北京七维视觉传媒科技有限公司 | 用于动画的渲染方法、装置、电子设备及介质 |
US20230083932A1 (en) * | 2021-09-13 | 2023-03-16 | Apple Inc. | Rendering for electronic devices |
CN114330230A (zh) * | 2021-11-17 | 2022-04-12 | 芯华章科技股份有限公司 | 显示逻辑系统设计的文档的方法及相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6906708B1 (en) * | 1999-03-26 | 2005-06-14 | Canon Kabushiki Kaisha | Image processing method and apparatus, and storage medium |
CN1873602A (zh) * | 2005-05-31 | 2006-12-06 | 皮克塞(研究)有限公司 | 用于导航所显示内容的系统和方法 |
CN101308439A (zh) * | 2007-05-15 | 2008-11-19 | 宏达国际电子股份有限公司 | 信息卷动方法及其相关电子装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6072498A (en) * | 1997-07-31 | 2000-06-06 | Autodesk, Inc. | User selectable adaptive degradation for interactive computer rendering system |
US7059261B2 (en) * | 2004-01-21 | 2006-06-13 | Ncl Corporation | Wastewater ballast system and method |
JP2004086508A (ja) * | 2002-08-26 | 2004-03-18 | Alpine Electronics Inc | 3次元形状データに基づく動画の表示制御方法及びナビゲーション装置 |
JP4288994B2 (ja) * | 2003-04-10 | 2009-07-01 | 株式会社日立製作所 | 端末装置、配信サーバ、映像データの受信方法及び映像データの送信方法 |
US8237712B2 (en) * | 2004-03-18 | 2012-08-07 | Apple Inc. | Manipulation of image content using various image representations |
JP2009139452A (ja) * | 2007-12-04 | 2009-06-25 | Sharp Corp | 表示制御装置 |
US20100060629A1 (en) * | 2008-09-09 | 2010-03-11 | Jim Rasmusson | Graphics-Processing Architecture Based on Approximate Rendering |
-
2010
- 2010-08-20 US US12/859,938 patent/US8766984B2/en not_active Expired - Fee Related
-
2011
- 2011-04-27 CN CN201180039724.1A patent/CN103069458B/zh not_active Expired - Fee Related
- 2011-04-27 WO PCT/US2011/034112 patent/WO2012024003A1/en active Application Filing
- 2011-04-27 KR KR1020137007025A patent/KR101499372B1/ko not_active IP Right Cessation
- 2011-04-27 EP EP11721851.1A patent/EP2606471A1/en not_active Ceased
- 2011-04-27 JP JP2013524845A patent/JP5662577B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6906708B1 (en) * | 1999-03-26 | 2005-06-14 | Canon Kabushiki Kaisha | Image processing method and apparatus, and storage medium |
CN1873602A (zh) * | 2005-05-31 | 2006-12-06 | 皮克塞(研究)有限公司 | 用于导航所显示内容的系统和方法 |
CN101308439A (zh) * | 2007-05-15 | 2008-11-19 | 宏达国际电子股份有限公司 | 信息卷动方法及其相关电子装置 |
Non-Patent Citations (1)
Title |
---|
Demand-Driven Geometry Transmission for Distributed Virtual Environments;Dieter Schmalstieg et al.;《Computer Graphics Forum》;19960831;第15卷(第3期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
JP5662577B2 (ja) | 2015-02-04 |
KR20130048257A (ko) | 2013-05-09 |
JP2013541073A (ja) | 2013-11-07 |
CN103069458A (zh) | 2013-04-24 |
US8766984B2 (en) | 2014-07-01 |
EP2606471A1 (en) | 2013-06-26 |
KR101499372B1 (ko) | 2015-03-11 |
WO2012024003A1 (en) | 2012-02-23 |
US20120044251A1 (en) | 2012-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103069458B (zh) | 用于满足最小帧速率要求的图形呈现方法 | |
US11314804B2 (en) | Information search method and device and computer readable recording medium thereof | |
US20200379560A1 (en) | Implicitly adaptive eye-tracking user interface | |
US8624925B2 (en) | Content boundary signaling techniques | |
US9275077B2 (en) | Method of capturing content and mobile terminal thereof | |
CN102981699A (zh) | 调整内容以避免被虚拟输入面板遮挡 | |
US20130227455A1 (en) | Method of sharing content and mobile terminal thereof | |
US20160357364A1 (en) | Graphical User Interface for a Document Viewing Application | |
US11860962B1 (en) | System and method for selecting information for display based on past user interactions | |
US10712897B2 (en) | Device and method for arranging contents displayed on screen | |
US7542845B2 (en) | Information navigation interface | |
CN102929491A (zh) | 跨窗口动画 | |
TW201222326A (en) | Presentation of advertisements based on user interactivity with a web page | |
US20140359424A1 (en) | Method and apparatus for generating web browser launch pages | |
CN108182032A (zh) | 用于对值进行就地编辑的用户界面 | |
US20230100461A1 (en) | Content discovery refresh | |
CN107807764A (zh) | 一种页面展示方法及客户端 | |
CN105210023A (zh) | 装置及相关方法 | |
US20160179341A1 (en) | Electronic device and method for controlling a display | |
CN107450768A (zh) | 电子装置及其控制方法和存储介质 | |
US8866953B2 (en) | Mobile device and method for controlling the same | |
US20150100915A1 (en) | Display control device and storage medium | |
WO2014190726A1 (en) | Method and apparatus for generating web browser launch pages | |
CN112732648A (zh) | 电子书籍的处理方法、装置及电子设备 | |
CN113050865B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151216 Termination date: 20210427 |
|
CF01 | Termination of patent right due to non-payment of annual fee |