CN101454823A - 用于选择性地对可显示内容的部分进行双缓冲的设备和方法 - Google Patents
用于选择性地对可显示内容的部分进行双缓冲的设备和方法 Download PDFInfo
- Publication number
- CN101454823A CN101454823A CNA2007800195972A CN200780019597A CN101454823A CN 101454823 A CN101454823 A CN 101454823A CN A2007800195972 A CNA2007800195972 A CN A2007800195972A CN 200780019597 A CN200780019597 A CN 200780019597A CN 101454823 A CN101454823 A CN 101454823A
- Authority
- CN
- China
- Prior art keywords
- display
- selected group
- reproduced
- display frame
- buffer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/399—Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
-
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/04—Partial updating of the display screen
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Image Generation (AREA)
Abstract
本发明提供一种产生可显示内容的方法。所述方法包含获得具有定义多个显示帧的多个显示元素的显示包。所述方法进一步包含再现所述多个显示元素的至少一个选定群组。每一选定群组基于所述显示包中的指示符信息且包括少于所述多个显示元素的全部。所述方法进一步包含将每一所再现的选定群组的复本保存在第二显示缓冲器中。所述方法进一步包含再现所述多个显示帧内的至少一个显示帧,使得所述至少一个所再现的显示帧的至少一部分包括至少一个所再现的选定群组的所述所保存复本。所述方法进一步包含将所述至少一个所再现的显示帧保存在不同于所述第二显示缓冲器的第一显示缓冲器中。
Description
根据35 U.S.C.§119主张优先权
本专利申请案主张基于2006年6月1日申请的题为“用于选择性地对可显示内容的部分进行双缓冲的设备和方法(APPARATUS AND METHOD FOR SELECTIVELYDOUBLE BUFFERING PORTIONS OF DISPLAYABLE CONTENT)”的第60/803,633号临时申请案的优先权,所述临时申请案转让给本受让人且其全文以引用的方式明确地并入本文中。
技术领域
所描述的方面涉及缓冲待在显示器上呈现的内容,且更明确地说,涉及一种用于选择性地对可显示内容的部分进行双缓冲的设备、方法和计算机程序产品。
背景技术
许多计算机装置(例如无线通信装置)包含可操作以在屏幕上呈现显示帧或可见图像的显示屏。由于许多计算机装置对可见显示帧刷新屏幕,所以在完成图形操作之前显示屏不展示结果的情况下可能难以对显示帧作出变化。这导致不合需要的假象,例如闪烁、撕裂和剪切。克服此类不合需要的假象可通过使用显示缓冲器(也称为双缓冲器或辅助缓冲器)来实现。显示屏具有显示缓冲器,显示帧在复制到显示存储器之前被再现到所述显示缓冲器中,所述显示存储器直接影响呈现于屏幕上的内容。辅助或双缓冲器可用于构造新的显示帧。任何将可显示内容再现到辅助缓冲器中(称为双缓冲)不能影响显示屏。当辅助缓冲器中新的显示帧的构造完成时,接着新近构造的显示帧可使用有效的缓冲器复制例行程序复制或“位图传输”到显示存储器中。因此,通过使用缓冲器,呈现于显示屏上的可见显示帧中的假象存在可得以减少或消除。
在一些系统中,将整个显示屏进行双缓冲,即所有组成部分均位于一个缓冲器内。在其它系统中,发生逐元素双缓冲,其中每一个别可显示元素首先再现到其自身的专有缓冲器,接着将所述缓冲器复制到屏幕的双缓冲器。
然而,在具有有限资源的计算机装置中,可对照存储器要求和处理器使用方面的成本来权衡由双缓冲提供的可见显示帧的改进的质量的优点。
因此,需要用于缓冲可显示内容的改进的设备和方法。
发明内容
本发明描述用于选择性地双缓冲多个显示帧的显示包中的多个显示元素的至少一个选定群组的设备、方法和计算机程序产品。所述设备和方法进一步包含使用经双缓冲的所再现选定群组产生少于至少一个显示帧的全部。
在一个方面中,提供一种产生可显示内容的方法。所述方法包括获得具有定义多个显示帧的多个显示元素的显示包。所述方法进一步包含再现所述多个显示元素的至少一个选定群组。每一选定群组基于显示包中的指示符信息,且每一选定群组包括少于所述多个显示元素的全部。所述方法进一步包含将每一所再现选定群组的复本保存在第二显示缓冲器中。此外,所述方法包含再现所述多个显示帧内的至少一个显示帧,使得所述至少一个所再现显示帧的至少一部分包括至少一个所再现选定群组的所保存复本。另外,所述方法包含将所述至少一个所再现显示帧保存在第一显示缓冲器中。所述第一显示缓冲器不同于所述第二显示缓冲器。
在另一方面中,提供至少一种处理器,其经配置以产生可显示内容且包括有一个或一个以上模块。所述处理器包含可操作以获得显示包的模块、可操作以再现所述多个显示元素的至少一个选定群组的模块,以及可操作以将每一所再现选定群组的复本保存在第二显示缓冲器中的模块。显示包具有定义多个显示帧的多个显示元素。每一选定群组基于显示包中的指示符信息,且每一选定群组包括少于所述多个显示元素的全部。所述处理器进一步包含可操作以再现所述多个显示帧内的至少一个显示帧以使得所述至少一个所再现显示帧的至少一部分包括至少一个所再现选定群组的所保存复本的模块。所述处理器进一步包含可操作以将所述至少一个所再现显示帧保存在第一显示缓冲器中的模块。所述第一显示缓冲器不同于所述第二显示缓冲器。
在又一方面中,提供一种包括具有指令的计算机可读媒体的计算机程序产品。所述计算机可读媒体包含用于致使计算机获得具有定义多个显示帧的多个显示元素的显示包的至少一个指令。所述计算机可读媒体进一步包含用于致使计算机再现所述多个显示元素的至少一个选定群组的至少一个指令。每一选定群组基于显示包中的指示符信息,且每一选定群组包括少于所述多个显示元素的全部。所述计算机可读媒体中进一步包含用于致使计算机将每一所再现选定群组的复本保存在第二显示缓冲器中的至少一个指令。另外,所述计算机可读媒体包含用于致使计算机再现所述多个显示帧内的至少一个显示帧以使得所述至少一个所再现显示帧的至少一部分包括至少一个所再现选定群组的所保存复本的至少一个指令。所述计算机可读媒体进一步包含用于致使计算机将所述至少一个所再现显示帧保存在第一显示缓冲器中的至少一个指令。所述第一显示缓冲器不同于所述第二显示缓冲器。
在另一方面中,提供一种设备。所述设备包含用于获得具有定义多个显示帧的多个显示元素的显示包的装置,以及用于再现所述多个显示元素的至少一个选定群组的装置。每一选定群组基于显示包中的指示符信息,且每一选定群组包括少于所述多个显示元素的全部。所述设备进一步包含用于将每一所再现选定群组的复本保存在第二显示缓冲器中的装置,以及用于再现所述多个显示帧内的至少一个显示帧以使得所述至少一个所再现显示帧的至少一部分包括至少一个所再现选定群组的所保存复本的装置。所述设备中进一步包含用于将所述至少一个所再现显示帧保存在第一显示缓冲器中的装置。所述第一显示缓冲器不同于所述第二显示缓冲器。
在额外方面中,一种用于产生可显示内容的计算机装置包括存储器,所述存储器包括第一显示缓冲器、不同于所述第一显示缓冲器的第二显示缓冲器,以及显示包。所述显示包包括定义多个显示帧的多个显示元素。所述计算机装置还包括与所述存储器通信的处理器,以及具有再现逻辑的再现模块。所述再现模块可由处理器执行以再现所述多个显示元素的至少一个选定群组。每一选定群组基于显示包中的指示符信息,且每一选定群组包括少于所述多个显示元素的全部。此外,所述再现模块可由处理器执行以将每一所再现选定群组的复本保存在第二显示缓冲器中。另外,所述再现模块进一步可由处理器执行以再现所述多个显示帧内的至少一个显示帧,使得所述至少一个所再现显示帧的至少一部分包括至少一个所再现选定群组的所保存复本。另外,所述再现模块进一步可由处理器执行以将所述至少一个所再现显示帧保存在第一显示缓冲器中。
附图说明
图1是用于产生可显示内容的系统的一个方面的示意图;
图2是图1的系统的在时间上第一个再现的显示帧的一个方面的框图,其中所述在时间上第一个再现的显示帧包括选自多个显示元素的先前所再现的选定元素群组与来自所述多个显示元素的剩余元素的组合;
图3是图1的系统的在时间上第二个再现的显示帧的一个方面的框图,其中所述在时间上第二个再现的显示帧包括选自多个显示元素的先前所再现的选定元素群组与来自所述多个显示元素的剩余元素的组合,其中所述先前所再现的选定元素群组中的仅有变化是其相对于剩余显示元素的相对位置;
图4是根据一个方面的图1系统内可利用的显示包的一个非限定性实例的表示;
图5是图1的系统的计算机装置的一个方面的框图;以及
图6是根据图1的系统产生可显示内容的方法的一个方面的流程图。
具体实施方式
所描述的设备、方法和计算机程序产品涉及在装置的显示器上产生图形。每一图形或显示帧可包括多个可显示元素。依据所述可显示元素中的任一者或群组的性质而定,可在重新再现每一显示帧的每一元素或存储一个或一个以上先前再现的元素且将先前再现的元素的复本与剩余元素组合以形成显示帧之间作出折衷。在主题应用中,存储且接着复制先前再现的一个元素或元素群组的操作称为双缓冲。所描述的方面提供用于选择性地识别一个或一个以上个别显示元素和/或一个或一个以上个别显示元素群组以用于双缓冲的机构和构架。所描述的方面进一步提供用于基于所述一个或一个以上经双缓冲元素与剩余未经双缓冲元素的组合来产生、存储和呈现所再现的显示帧的机构和构架。
如本文所使用,词“示范性”意味着“充当实例、例子或说明”。本文描述为“示范性”的任何方面不必解释为与其它方面相比是优选或有利的。
参看图1,描绘根据一个实施方案的可操作以产生可显示内容的示范性系统10。系统10包括至少一个内容提供商12,其将可显示内容的显示包14经由通信接口18供应到计算机装置16。显示包14可包括任何数目(n)的显示元素20、22和24,其中n是正整数。显示元素20、22和24可定义形成可随时间变化的图形用户接口的多个显示帧。显示元素20、22和24的每一者可至少定义待在显示帧内呈现的元素、何时在显示帧中呈现显示元素、何时呈现每一显示帧(例如,帧速率)、在显示帧中何处呈现显示元素,以及如何在显示帧中呈现显示元素。在一个方面中,显示包14可包括以某种其它方式而不是通过由一个或一个以上各自显示元素定义而定义的帧速率。
另外,显示包14可包括至少一个双缓冲指示符26,其可操作以致使对内容进行选择性双缓冲,所述内容包含显示元素20、22和24中的一者或任何组合。在一个实施方案中,双缓冲指示符26可包含(但不限于)一个或一个以上显示元素20、22和24内所含有或与之相关联的信息。举例来说,在一个方面中,双缓冲指示符26可包括与一个或一个以上显示元素的全部或某部分、数据结构和/或显示包构架内可辨别的可操作以选择性地启用双缓冲的任何其它机构相关联的标签、命令、标记、特性和/或成分中的一者或任何组合。根据一个实施方案,显示包14的作者可输入双缓冲指示符26。在另一方面中,可从显示包14的全部或某部分和/或一个或一个以上显示元素20、22和24的全部或某部分导出双缓冲指示符26。如此,在一个方面中,双缓冲指示符26可能不是显示包14的离散组成部分。事实上,双缓冲指示符26可依据显示包14中的显示元素20、22和24的组合而变。
此外,计算机装置16包括与再现模块30通信的显示机构28,所述再现模块30可操作以接收显示包14。响应于接收到显示包14,再现模块30可操作以在显示机构28上产生多个(x)再现的显示帧32和34,其中x是正整数。所述多个再现的显示帧32和34可由显示包14和显示元素20、22和24的一者或任何组合来定义。因此,再现模块30可操作以产生并控制可随时间改变的图形用户接口的显示机构28上的呈现。
另外,计算机装置16可进一步包括双缓冲监视器36,其可操作以识别从1到k的任何数目的选定元素群组31、33和35,其中k是正整数。所述选定元素群组31、33和35可来自用于基于双缓冲指示符26进行双缓冲的所述多个显示元素20、22和24。应注意,选定元素群组31、33和35的每一者可包含所述多个显示元素20、22和24的单一一者或任何组合。然而,在一个方面中,选定元素群组31、33和35的任一者可包括少于所述多个显示元素20、22和24中的与所述多个再现的显示帧32和34的各自一者相关联的各自显示元素的全部。换句话说,在此方面中,对于给定显示帧32和/或34,任何一个选定元素群组可含有少于用于描绘各自显示帧的显示元素的总数。
如此,基于双缓冲监视器36相对于显示包14的操作,再现模块30可操作以从每一选定元素群组中产生再现的选定元素群组。举例来说,再现的选定元素群组41、43和45已分别从选定元素群组31、33和35产生。此外,在一个方面中,再现模块30可操作以将每一各自所再现的选定元素群组41、43和45存储在装置存储器的单独的经定义部分中,所述部分因此定义单独的双缓冲器(例如,第二显示缓冲器40、42和44)。
因此,再现模块30可进一步操作以使用所再现的选定元素群组41、43和45中的一者或任何组合来产生至少一个所再现的显示帧34的一部分。在此实施方案中,所述至少一个所再现的显示帧的所述部分包括少于显示帧的全部。举例来说,在一个方面中,可由来自所述多个显示元素20、22和24的任何剩余显示元素37、38和/或39与所述一个或一个以上所再现的选定元素群组31、33和/或35的复本组合来形成所再现的显示帧34。在主题实例中,任何剩余显示元素37、38和/或39可在从0到m个显示元素的范围内,其中m是正整数。另外,如本文所使用,任何剩余显示元素可包含给定显示帧内使用的可能尚未包含在选定元素群组中的任何显示元素。在另一方面中,可完全由所述多个所再现的选定元素群组41、43和45的任一者来形成所再现的显示帧34。
此外,在一个实施方案中,再现模块30可操作以将所再现的显示帧34存储在装置存储器的另一经定义部分中,例如第一显示缓冲器46。第一显示缓冲器46允许再现模块30在实质上不影响当前显示帧的呈现的情况下构造或描绘新的显示帧。另外,在一个方面中,再现模块30可操作以将所再现的显示帧34复制到存储器的另一经定义部分中,例如显示机构28上所呈现的显示存储器48。如此,显示存储器48的内容可直接影响所呈现的显示帧的内容。
再现模块30可进一步操作以产生并控制对应于显示包14的所述多个再现的显示帧32和34在显示机构28上的呈现(例如,在计算机装置16上产生用户接口等)。明确地说,可由一个或一个以上先前再现或双缓冲的元素或元素群组(如由双缓冲监视器36所识别)的组合形成至少一个所再现的显示帧的一部分。此外,可由(1)一个或一个以上先前再现的元素/群组与一个或一个以上新近再现的元素/群组或(2)多个先前再现的元素/群组形成整个所再现的显示帧34。因此,由于所述一个或一个以上先前再现的元素/群组不必重新再现以用于在给定显示帧中呈现,所以系统10的一些方面操作以提供对可显示内容的若干部分的选择性双缓冲,从而导致再现速度和效率增加。
参看图2和图3,在一个情形的实例中,当相应所再现的选定元素群组41尚未从时间1处的一个所再现的显示帧变化到时间x处的另一所再现的显示帧(其中x是时间1之后的任何时间(例如,从帧32到帧34))时,双缓冲指示符26可与选定元素群组31(图1)相关联。在此情形中,仅所再现的选定元素群组41的位置可相对于剩余元素37改变,进而相对于所再现的显示帧32改变所再现的显示帧34。
在一个方面中,系统10可优化所再现的显示帧的产生。可通过允许分析显示包14(图1)和多个显示帧并确定一个或一个以上显示元素是否具有静态成分来实现优化。此外,在一个方面中,系统10可允许权衡对静态显示元素的所识别的一个或一个以上群组进行双缓冲的成本和益处。待考虑的成本和益处可包含用于对内容进行双缓冲的存储器的量以及通过复制所再现的内容而不是重新再现所述内容而节省的处理时间,同时考虑显示帧的帧速率。在一个实施方案中,此类分析可在创建、测试和/或使用显示包14后手动发生。在另一方面中,此类分析可基于再现模块30和/或双缓冲监视器36内的规则、函数、试探法、神经网络和/或任何其它预定逻辑(例如,如下文论述的再现逻辑56(图5)和双缓冲逻辑58(图4))中的一者或任何组合而自动发生。
返回参看图1,如早先注意到,显示包14可包括多个显示元素20、22和24。每一显示元素20、22和24可包括所显示组成部分的全部或一部分,其中至少一个所显示组成部分定义每一显示帧。明确地说,在其中显示包14包括例如可扩展标记语言(XML)等标记语言的一个方面中,每一显示元素20、22和24可包括任何单一标记语言元素或任何标记语言元素群组。另外,在一个实施方案中,显示元素20、22和24可以基于树形的结构、嵌套结构和/或实现数据分级结构的任何其它结构的形式提供在显示包14内。
举例来说,在一个方面中,显示包14可操作以按照以下各项的一者或任何组合为计算机装置16定义用户接口(UI):第一数据格式,例如未编译的数据文件;第二数据格式,例如经编译的数据文件或目标文件;以及编程语言。举例来说,显示包14可包含(但不限于)标记语言文档,例如TrigMLTM文档。TrigMLTM文档是针对具有小屏幕面积、有限存储器和有限处理功率的装置的要求(例如,经配置以用于具有预定显示特性、预定量的存储器66和预定能力的处理器68的计算机装置16)而修改的XML导出的UI标记语言文档;XML文档;超文本标记语言(HTML)文档;以及脚本编程语言文件(例如,JavaScriptTM文件等)。
此外,显示包14提供再现构架,可将双缓冲指示符26插入到所述再现构架中或可从所述再现构架导出双缓冲指示符26。举例来说,在一个方面中,例如在TrigMLTM文档中,双缓冲指示符26可包括类似过滤器的元素,其含有子元素,且操作以对子元素的再现或“描绘”进行双缓冲(例如,以改进动画性能)。
参看图4,在由TrigMLTM文档15定义的显示包14(图1)的一个非限定性实例中,双缓冲指示符26可采取“<画布>”标签的形式。“<画布>”标签暗指分别由双缓冲指示符26表示的每一选定显示元素群组被“描绘”到单独“画布”或双缓冲存储器区域中的事实。另外,在一个实施方案中,双缓冲指示符26可进一步包括具有可改变以选择性地启用和停用双缓冲的值的控制属性50。举例来说,在一个非限定性方面中,控制属性50可具有用以启用双缓冲的“真”值和用以停用双缓冲的“假”值。在一个方面中,标签留在适当位置,以防作者稍后想要接通缓冲(或反之亦然)。
在所说明的实例中,TrigMLTM文档15定义“层”中的可显示元素和/或组成部分,因此提供用于管理相对元素和/或群组特性的分级结构。举例来说,可定义第一层,使得第一层始终上覆于第二层上,且可定义第二层,使得第二层始终上覆于第三层上等。在本实例中,一对文档类型标签51识别各自文档的开始和结尾。明确地说,<trigml>标签51可以是非视觉容器,其将XML的片段定义为TrigMLTM片段并使整个片段成为单一XML文档。如所说明,通过标签识别符识别加标签内容的开始,且通过前面有反斜杠“/”的相同标签识别符表示加标签内容的结尾。一对第一层标签53和各自内容定义本实例的背景幕——主菜单,如由所述对第一群组标签57的初始者的属性55所表示。在所说明的实例中,主菜单的内容可包括文本、图形等,如可由一个或一个以上标签(例如,标签59)所表示。在所说明的实例中,标签59不包含标签识别符和/或标签属性,但可包含任何类型的不具有任何属性或具有一个或一个以上属性的任何组合的标签。此外,内容可经组织为一个或一个以上群组,例如由第一群组标签57所指示的群组。
进一步描绘一对第二层标签61,其定义“弹出”组成部分,如由层属性63所指示。在所说明的实例中,“弹出”包括呈白色的文本消息“警告:电量低”,如分别由文本标签65和属性67所定义。另外,“弹出”具有附加到其的动画,如由具有动画属性71的动画标签69所定义。根据动画属性71,当所述则内容第一次进入页时(即,当所述则内容被载入再现模块30(图1)中时),触发动画。此外,根据动画属性71,所述动画将动画的母群组的x坐标制作成动画,如由第二群组标签73所表示,在300毫秒(ms)内从-100毫米(mm)到+30mm。母群组73进一步包含可配置的群组属性75,其在主题实例中将所述显示元素群组定义为具有宽度100mm、高度50mm和红色的背景色(bgcolor)。另外,具有等于“真”的控制属性50的双缓冲或<画布>元素26在此情况下可操作以指令再现模块30(图1)对(例如)群组73的出现进行双缓冲,因此可较快地再现动画的帧。在所说明的实例中,可能需要进行双缓冲,(例如)因为群组73只是在移动,例如改变群组73x轴坐标。也就是说,群组73内容并不逐帧变化。
在图4的实例中,应注意多个显示元素可包含在双缓冲指示符26所应用于的任何群组中。类似地,尽管在此实例中双缓冲指示符26仅包含单一群组73,但应注意单一元素和/或多个元素和/或多个群组可包含在一个双缓冲指示符26内。另外,举例来说,一个或一个以上双缓冲指示符26可嵌套在另一双缓冲指示符26内。此外,尽管在本实例中显示包15仅包含一个双缓冲指示符26,但多个双缓冲指示符26可包含在任一个显示包中。
返回参看图1,内容提供商12可包括内容提供商、内容零售商、记帐和客户服务提供商、网络服务提供商、媒体经销商、内容服务器和处于到达计算机装置16的内容和/或服务的分配链中或与所述分配链有关的任何实体和/或装置中的一者或任何组合。举例来说,在一些方面中,内容提供商12可包含可从加利福尼亚州圣地亚哥市的高通公司(Qualcomm Incorporated of San Diego,California)购得的uiOneTM解决方案。uiOneTM解决方案操作以向操作者、装置制造商和发行人/开发者提供技术和服务的开放且灵活的组合以创建且部署定制且可更新的移动UI。
此外,举例来说,内容提供商12可包含deliveryOneTM内容管理和传递系统,其操作以管理无线内容到无线装置阵列的端到端传送。另外,举例来说,内容提供商12可包含uiOne TrigPublisherTM和uiOne DepotTM解决方案,其操作以提供通过对UI的部分的选择性更新而控制和刷新用户体验的服务。在一个实例中,主题解决方案可进一步包含用于快速创建广范围的移动用户接口的工具,也称为Trig。举例来说,此类工具可用于通过使新设计基于现有模板来加速过程,所述现有模板可被快速修改、模拟和直接载入到电话中以用于测试和评估。主题解决方案中的特征的当前组合可产生创建引人注目的用户体验的高质量接口。deliveryOneTM内容管理和传递系统以及uiOne TrigPublisherTM和uiOne DepotTM解决方案可从加利福尼亚州圣地亚哥市的高通公司购得。
另外,通信接口18可包括有线连接、无线连接和在制造时间直接载入到装置上的一者或任何组合。有线和/或无线连接可进一步包含网络,例如数据网络和通信网络中的一者或任何组合。在一些方面中,举例来说,网络可包括例如仅前向链路(FLO)网络等多播网络的全部或某部分,包含可从加利福尼亚州圣地亚哥市的高通公司购得的MediaFLOTM系统。在一个方面中,网络可包含其它网络的一者或组合,例如:数字视频广播(DVB)网络,例如用于卫星的DVB-S、用于电缆的DVB-C、用于地面电视的DVB-T、用于手持式地面电视的DVB-H;地面电话网络;卫星电话网络;红外网络,例如基于红外数据协会(IrDA)的网络;短程无线网络;蓝牙技术网络;紫蜂协议网络;超宽带(UWB)协议网络;家庭射频(HomeRF)网络;共享无线接入协议(SWAP)网络;宽带网络,例如无线以太网兼容性联盟(WECA)网络、无线保真联盟(Wi-Fi联盟)网络和802.xx网络;公共交换电话网络;公共异质通信网络,例如因特网;专有通信网络;以及陆地移动无线电网络。
此外,可包含在网络的一些方面中的电话网络的实例包含模拟和数字网络/技术中的一者或任何组合,例如:码分多址(CDMA)、宽带码分多址(WCDMA)、通用移动电信系统(UMTS)、高级移动电话服务(AMPS)、时分多址(TDMA)、频分多址(FDMA)、正交频分多址(OFDMA)、全球移动通信系统(GSM)、单载波(1X)无线电传输技术(RTT)、仅演进数据(EV-DO)技术、通用分组无线电服务(GPRS)、增强型数据GSM环境(EDGE)、高速下行链路数据包存取(HSPDA)、模拟和数字卫星系统,以及可用于通信网络和数据网络中的至少一者中的任何其它技术/协议。
参看图5,在一个方面中,计算机装置16可包含(但不限于)具有包括存储器66和处理器68的计算机平台64的任何装置。应注意,计算机装置16可包含任何类型的有线和/或无线装置,例如蜂窝式电话、个人数字助理(PDA)、膝上型计算机、个人游戏装置、双向寻呼机、便携式音乐装置和任何其它类型的计算机。
计算机平台64可操作以在例如数据和/或通信网络等网络上传输数据,且/或接收和/或执行例行程序和/或应用程序。计算机平台64可进一步操作以视情况显示从连接到网络或连接到计算机装置16的任何网络装置或其它计算机装置传输的数据。举例来说,计算机平台64可实施在硬件、固件、软件、数据、可执行指令及其组合中。
计算机平台64可包含存储器66,其可包括易失性和非易失性存储器,例如只读和/或随机存取存储器(RAM和ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪卡或计算机平台常用的任何存储器。此外,存储器66可包含一个或一个以上快闪存储器单元,或可以是任何二级或三级存储装置,例如磁性媒体、光学媒体、磁带或者软盘或硬盘,其中包含可移除存储器机构。另外,如先前所论述,存储器66可包含显示存储器48、第一显示缓冲器46和一个或一个以上第二显示缓冲器41、42和44中的一者或任何组合,其中单独第二显示缓冲器的数目可对应于由双缓冲监视器36识别的单独选定元素群组31、33和35的数目。
此外,计算机平台64可包含处理器68,其可为专用集成电路(ASIC)、芯片集、处理器、逻辑电路或任何其它数据处理装置中的一者或一者以上。在一个方面中,处理器68或例如ASIC等其它处理器可执行应用编程接口(API)层70,API层70与计算机装置16的存储器66中存储的任何驻存程序(例如,用户接口模块52、再现模块30和双缓冲监视器36)介接。API70通常是在各自无线装置上执行的运行时环境。一个此类运行时环境为加利福尼亚州圣地亚哥市的高通公司开发的无线二进制运行时环()软件。可利用(例如)操作以控制有线和/或无线计算装置上应用程序的执行的其它运行时环境。
另外,处理器68可包含实施在硬件、固件、软件、数据、可执行指令及其组合中的各种处理子系统72,其启用计算机装置16的功能性和计算机装置对数据和/或通信网络的可操作性。举例来说,处理子系统72可允许启始和维持与内容提供商12和/或其它联网装置的通信,并与之交换数据。在其中计算机装置被定义为示范性蜂窝式电话的一个方面中,处理器68可另外包含用于通信的处理子系统72中的一者或组合,例如声音、非易失性存储器、文件系统、传输、接收、搜索器、层1、层2、层3、主控制装置、远程程序、手持机、功率管理、数字信号处理器、消息收发、呼叫管理器、系统、LPOS、位置引擎、用户接口、休眠、数据服务、安全性、验证、USIM/SIM、语音服务、声码器、消息收发、图形、USB、多媒体等。对于所揭示的方面,处理器68的处理子系统72可包含与在计算机平台64上执行的启用本文描述的功能性的应用程序交互的任何子系统组件。
此外,计算机平台64可包含实施在硬件、固件、软件、数据、可执行指令及其组合中的通信模块74,其启用计算机装置16的各种组件之间以及计算机装置16与通信接口18之间的通信。举例来说,在蜂窝式电话方面中,通信模块74可包含必需的硬件、固件、软件、数据、可执行指令及其组合,其中包含用于建立无线通信连接的传输和接收链组件。
此外,在一个方面中,举例来说,通信模块74可操作以接收和转发显示包14,或向用户接口模块52、再现模块30和双缓冲监视器36中的至少一者提供对显示包14的存取。随后,举例来说,通信模块74可操作以基于来自再现模块30的指令而在装置组件间转发选定元素群组31、33和35、剩余元素37、38和39、所再现的选定元素群组41、43和45、所再现的显示帧34和32。
另外,计算机装置16可具有用于产生到装置中的输入的一个或一个以上输入机构76,且可进一步具有用于产生由装置的用户消耗的信息的一个或一个以上输出机构78。举例来说,输入机构76可包含例如按键或键盘、导航机构、鼠标、触摸屏显示器、与语音辨别模块相关联的麦克风等机构。在某些方面中,输入机构76提供用户输入以激活无线装置上的应用程序或模块或与所述应用程序或模块交互。此外,举例来说,输出机构78可包含可操作以呈现UI、音频扬声器、触觉反馈机构等的显示器28。
另外,计算机平台64可进一步包含用户接口模块52,其可操作以管理再现模块30、双缓冲监视器36和显示机构28的执行和/或操作。用户接口模块52可包括硬件、软件、固件、可执行指令和数据中的一者或任何组合。举例来说,在一个方面中,用户接口模块52包括用户接口逻辑54,其可由处理器68执行以执行用户接口管理功能。此外,举例来说,用户接口模块52可包含与先前论述的uiOneTM解决方案相关联的uiOneTM客户端和进入端口层。在手机方面中,举例来说,uiOneTM客户端是驻存在手持机上允许在空中安装和更新“Trig”或用户接口的高性能紧凑型应用程序。举例来说,uiOneTM客户端启用手持机的软件组件(例如,电话、消息收发、通信录、日历等)与用户接口或显示机构28之间的交互。此外,操作者可使用uiOneTM客户端来通过将用户接口印上标记、动态地推进屏幕上的服务以及提供无缝连接从而使用户更容易购买服务来区分操作者的服务提供和推动收入。
在又一方面中,在基于Trig的系统中,用户接口模块52可包含以下各项中的一者或任何组合:虚拟文件系统;资源管理器,其可操作以提供(尤其)装置上的持久存储的提取;网络通信代理;更新管理器,其可操作以处置Trig和Triglet的接收和应用;操作符管理器,其可操作以监督软件中存在的操作符组;多个操作符;支持管理器,其可操作以提供用于使其它组件报告事件或误差的发生的接口;以及trig管理器,其可操作以呈现到资源管理器和再现器的接口以及其它trig管理功能。
另外,计算机平台64可进一步包含再现模块30,其可操作以产生对应于显示包14的所再现的显示帧。再现模块30可包括硬件、软件、固件、可执行指令和数据中的一者或任何组合。举例来说,在一个方面中,再现模块30包括再现逻辑56,其可由处理器68执行以执行本文描述的再现功能。在另一方面中,再现模块30可包括例如剖析器和再现引擎等额外组件中的一者或任何组合。在一个实施方案中,剖析器可操作以读取显示包14的语言,而可操作的再现引擎可操作以将经剖析的语言转译成图形API调用以执行绘图或再现功能。另外,在一个方面中,再现模块30可操作以针对由双缓冲监视器36识别的每一选定元素群组定义第二显示缓冲器。此外,再现模块30可操作以将每一经识别的选定元素群组描绘到单独的各自第二显示缓冲器中。
另外,计算机平台64包含双缓冲监视器36,其可操作以基于显示包14内的一个或一个以上双缓冲指示符26而识别用于双缓冲的各自一个或一个以上选定元素/群组。双缓冲监视器36可包括硬件、软件、固件、可执行指令和数据中的一者或任何组合。举例来说,在一个方面中,双缓冲监视器36包括可由处理器68执行的双缓冲逻辑56。双缓冲逻辑56可操作以执行选定元素群组31、33和35的识别操作,如本文所描述。在此方面中,双缓冲逻辑56可包含规则、函数、试探法、神经网络和/或任何其它预定逻辑中的一者或任何组合,其可操作以检测内嵌在显示包14内的一个或一个以上双缓冲指示符26和/或分析显示包14以及显示元素20、22和24中的一者或任何组合以便确定和/或导出一个或一个以上双缓冲指示符26。举例来说,并非检测预定或硬编码的指示符,双缓冲逻辑56可操作以分析显示帧序列,识别至少两个显示帧上的一个或一个以上个别静态显示元素或静态显示元素群组以分类为选定元素群组,视情况自动产生双缓冲指示符26和/或以另外方式自动识别一个或一个以上选定元素群组31、33和35,并启始相应所再现的选定元素群组41、43和45的产生和存储以在呈现由显示包14定义的多个显示帧时使用。另外,在一个方面中,双缓冲监视器36可操作以创建和/或定义用于保存每一选定元素群组的第二显示缓冲器,其中每一所再现的选定元素群组可保存在单独的第二显示缓冲器中,或其中所有所再现的选定元素群组均存储到单一缓冲显示器。
参看图6,在一个方面中,一种显示内容的方法包括获得具有定义多个显示帧的多个显示元素的显示包(事件90)。举例来说,在一个方面中,计算机装置经由通信接口从内容提供商接收显示包。显示包可包括定义多个显示帧的多个显示元素,且进一步可包括至少一个双缓冲指示符。
另外,所述方法可包含再现所述多个显示元素的至少一个选定群组(事件92)。此外,再现所述多个显示元素的至少一个选定群组可包含再现一个选定元素、多个选定元素和/或多个选定元素群组。在一个实例中,每一选定群组基于所述显示包中的双缓冲指示符信息。举例来说,在一个方面中,响应于显示包,再现模块可操作以从由双缓冲监视器识别的各自一个或一个以上选定元素群组产生一个或一个以上所再现的选定元素群组。举例来说,在一个实施方案中,双缓冲监视器可操作以分析显示包并定位和/或导出待双缓冲的一个或一个以上双缓冲指示符信令内容(例如,以改进动画性能)。举例来说,此类双缓冲可在所述一个或一个以上显示元素的成分在两个或两个以上显示帧上不改变时发生。然而,应注意,所述两个或两个以上显示帧可能不需要为连续的显示帧。另外,在一个方面中,每一选定元素群组可包括少于相应所再现的显示帧的全部。此外,在一个方面中,每一选定群组可包括少于与相应显示帧相关联的所述多个显示元素的全部。
此外,所述方法可包含将每一所再现的选定群组的复本保存在第二显示缓冲器中(事件94)。举例来说,在一个方面中,再现模块可操作以将所述一个或一个以上所再现的选定元素群组保存在各自一个或一个以上第二显示缓冲器中。在一个实施方案中,举例来说,再现模块和/或双缓冲监视器可操作以(例如)基于双缓冲指示符信息而在存储器内定义或创建所述各自一个或一个以上第二显示缓冲器。尽管可创建单独的第二显示缓冲器,但应注意,所有所再现的选定元素群组可保存到共用的第二显示缓冲器中。
另外,所述方法可包含再现所述多个显示帧内的至少一个显示帧,使得所述至少一个所再现的显示帧的至少一部分包括所再现选定群组的所保存复本(事件96)。举例来说,在一个方面中,再现模块可操作以通过再现一个或一个以上剩余元素与一个或一个以上所再现选定元素群组的复本组合来产生所再现的显示帧。在另一方面中,举例来说,可仅使用两个或两个以上所再现选定元素群组的复本来产生所再现的显示帧。如此,在一个实施方案中,每一所再现选定元素群组可包括少于相应显示帧的全部。
此外,所述方法可包含将所述至少一个所再现显示帧保存在第一显示缓冲器中(事件98)。举例来说,在一个方面中,再现模块可操作以将每一各自所再现的显示帧保存到第一显示缓冲器中。
另外,所述方法可包含显示所述至少一个显示帧(事件100)。举例来说,在一个方面中,再现模块可操作以将各自所再现的显示帧从第一显示缓冲器复制到显示存储器中,进而致使将各自显示帧呈现在显示机构上。此外,举例来说,在再现和显示所述显示帧之后,再现模块可接着利用所再现的选定元素群组中的至少一者,与所述群组的另一者组合和/或与一个或一个以上剩余元素组合,以产生下一显示帧。在所再现显示帧的再现完成后,再现模块可将所再现显示帧复制到显示存储器,同时丢弃所再现显示帧,且接着将所再现显示帧呈现在显示机构上。上文定义的动作可重复进行以致使呈现各自显示包内的所述多个显示帧中的每一者,其中一个或一个以上个别静态显示元素或其群组被选择性再现一次、保存且接着复制到一个或一个以上后续显示帧的再现中。因此,再现模块可致使至少呈现具有包含至少一个先前再现的选定元素群组的部分的所再现显示帧。
结合本文所揭示的实施例而描述的各种说明性逻辑、逻辑区块、模块和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或经设计以执行本文所描述的功能的其任何组合来实施或执行。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器、一个或一个以上微处理器结合DSP核心或任何其它此类配置。另外,至少一个处理器可包括可操作以执行上文描述的步骤和/或动作中的一者或一者以上的一个或一个以上模块。
此外,在一个或一个以上示范性方面中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么所述功能可作为一个或一个以上指令或代码而存储在计算机可读媒体上或在计算机可读媒体上传输。计算机可读媒体包含计算机存储媒体和通信媒体两者,其包含有助于将计算机程序从一个位置传送到另一位置的任何媒体。存储媒体可为可由计算机存取的任何可用媒体。以实例而非限制的方式,此类计算机可读媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或任何其它可用于以指令或数据结构的形式承载或存储所需程序代码且可由计算机存取的媒体。并且,任何连接适当地被称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双扭线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输软件,那么所述同轴电缆、光纤电缆、双扭线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义内。如本文所使用,磁盘与光盘包含紧致光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝射线光盘,其中磁盘通常以磁性方式再生数据,而光盘利用激光以光学方式再生数据。上述内容的组合也应包含在计算机可读媒体的范围内。
虽然以上揭示内容展示了说明性方面和/或实施例,但应注意,可在不脱离所附权利要求书所定义的所描述方面和/或实施例的范围的情况下在本文中作出各种变化和修改。此外,尽管可能以单数形式描述或主张所描述的实施例的元件,但除非明确规定限于单数形式,否则也预期复数形式。另外,除非另外规定,否则任何方面和/或实施例的全部或部分可与任何其它方面和/或实施例的全部或部分一起利用。
Claims (46)
1.一种产生可显示内容的方法,其包括:
获得具有定义多个显示帧的多个显示元素的显示包;
再现所述多个显示元素的至少一个选定群组,其中每一选定群组基于所述显示包中的指示符信息,且其中每一选定群组包括少于所述多个显示元素的全部;
将每一所再现的选定群组的复本保存在第二显示缓冲器中;
再现所述多个显示帧内的至少一个显示帧,使得所述至少一个所再现的显示帧的至少一部分包括至少一个所再现的选定群组的所述所保存复本;以及
将所述至少一个所再现的显示帧保存在第一显示缓冲器中,所述第一显示缓冲器不同于所述第二显示缓冲器。
2.根据权利要求1所述的方法,其进一步包括显示所述至少一个所再现的显示帧。
3.根据权利要求1所述的方法,其中再现所述至少一个显示帧包括将一个以上所再现的选定群组的所述所保存复本组合以形成各自显示帧的全部。
4.根据权利要求1所述的方法,其中再现所述至少一个显示帧包括:
再现对应于所述各自显示帧的所述多个显示元素中的选定显示元素;以及
将所述多个显示元素中的所述再现的选定显示元素与至少一个所再现的选定群组的所述所保存复本组合以形成所述各自显示帧的全部。
5.根据权利要求1所述的方法,其中再现至少一个显示帧包括在再现至少两个显示帧期间选择性地仅再现一次所述多个显示元素的至少一个选定群组。
6.根据权利要求1所述的方法,其中再现所述多个显示元素的所述至少一个选定群组包括:
识别对应于所述显示包的所述指示符信息内的双缓冲指示符的控制属性;以及
响应于所述所识别的控制属性而产生每一各自所再现的选定群组。
7.根据权利要求1所述的方法,其中再现所述多个显示元素的所述至少一个选定群组包括:
在所述多个显示帧上分析所述显示包以获得所述多个显示元素中的静态显示元素;
基于所述多个显示元素中的所述所识别的静态显示元素而导出所述指示符信息;以及
响应于所述所导出的指示符信息而产生每一各自所再现的选定群组。
8.根据权利要求1所述的方法,其进一步包括:
在所述多个显示帧上识别所述多个显示元素中的静态显示元素;
相对于对应于所述多个显示帧的帧速率而权衡再现和保存所述多个显示元素中的所述所识别的静态显示元素的复本的成本和益处;以及
基于所述权衡的结果而导出所述指示符信息。
9.根据权利要求1所述的方法,其中再现所述多个显示元素的所述至少一个选定群组包括再现来自少于对应于各自显示帧的所述多个显示元素的所述各自显示元素的全部的每一选定群组。
10.根据权利要求1所述的方法,其中所述显示包定义对应于多个层中的各自显示帧的所述多个显示元素,且其中再现所述多个显示元素的所述至少一个选定群组包括再现所述多个层中的至少一者。
11.根据权利要求1所述的方法,其中将每一所再现的选定群组的复本保存在所述第二显示缓冲器中包括将每一各自所再现的选定群组保存在多个第二显示缓冲器的不同相应一者中。
12.根据权利要求11所述的方法,其中再现所述至少一个显示帧进一步包括将一个以上所再现的选定群组从所述多个第二显示缓冲器中的所述各自相应第二显示缓冲器复制到所述第一显示缓冲器中以形成各自所再现的显示帧。
13.根据权利要求12所述的方法,其进一步包括将每一各自所再现的显示帧从所述第一显示缓冲器复制到显示存储器以致使在显示机构上显示所述各自所再现的显示帧。
14.根据权利要求2所述的方法,其中显示所述至少一个所再现的显示帧包括将各自所再现的显示帧从第一显示缓冲器复制到显示存储器中以致使在显示机构上显示所述各自所再现的显示帧。
15.根据权利要求1所述的方法,其中获得所述显示包包括至少获得未编译的数据文件、经编译的数据文件或编程语言。
16.根据权利要求1所述的方法,其中所述显示包进一步包括用户接口,所述用户接口经配置以用于在具有预定显示特性、预定量的存储器和预定量的处理功率的计算机装置上呈现,且其中再现所述至少一个显示帧包括再现所述用户接口。
17.至少一种处理器,其经配置以产生可显示内容,所述处理器包括:
可操作以获得具有定义多个显示帧的多个显示元素的显示包的模块;
可操作以再现所述多个显示元素的至少一个选定群组的模块,其中每一选定群组基于所述显示包中的指示符信息,且其中每一选定群组包括少于所述多个显示元素的全部;
可操作以将每一所再现的选定群组的复本保存在第二显示缓冲器中的模块;
可操作以再现所述多个显示帧内的至少一个显示帧以使得所述至少一个所再现的显示帧的至少一部分包括至少一个所再现的选定群组的所述所保存复本的模块;以及
可操作以将所述至少一个所再现的显示帧保存在第一显示缓冲器中的模块,所述第一显示缓冲器不同于所述第二显示缓冲器。
18.根据权利要求17所述的处理器,其中所述可操作以再现所述至少一个显示帧的模块包括可操作以将一个以上所再现的选定群组的所述所保存复本组合以形成各自显示帧的全部的模块。
19.根据权利要求17所述的处理器,其中所述可操作以再现所述至少一个显示帧的模块包括:
可操作以再现对应于所述各自显示帧的所述多个显示元素中的选定显示元素的模块;以及
可操作以将所述多个显示元素中的所述所再现的选定显示元素与至少一个所再现的选定群组的所述所保存复本组合以形成所述各自显示帧的全部的模块。
20.根据权利要求17所述的处理器,其中所述可操作以再现所述至少一个显示帧的模块包括:
可操作以在所述再现至少两个显示帧期间选择性地仅再现一次所述多个显示元素的至少一个选定群组的模块。
21.根据权利要求17所述的处理器,其中所述可操作以再现所述多个显示元素的所述至少一个选定群组的模块包括:
可操作以识别对应于所述显示包的所述指示符信息内的双缓冲指示符的控制属性的模块;以及
可操作以响应于所述所识别的控制属性而识别每一各自所再现的选定群组的模块。
22.一种计算机程序产品,其包括:
计算机可读媒体,其包括:
用于致使计算机获得具有定义多个显示帧的多个显示元素的显示包的至少一个指令;
用于致使所述计算机再现所述多个显示元素的至少一个选定群组的至少一个指令,其中每一选定群组基于所述显示包中的指示符信息,且其中每一选定群组包括少于所述多个显示元素的全部;
用于致使所述计算机将每一所再现的选定群组的复本保存在第二显示缓冲器中的至少一个指令;
用于致使所述计算机再现所述多个显示帧内的至少一个显示帧以使得所述至少一个所再现的显示帧的至少一部分包括至少一个所再现的选定群组的所述所保存复本的至少一个指令;以及
用于致使所述计算机将所述至少一个所再现的显示帧保存在第一显示缓冲器中的至少一个指令,所述第一显示缓冲器不同于所述第二显示缓冲器。
23.根据权利要求22所述的计算机程序产品,其中所述用于致使所述计算机再现所述至少一个显示帧的至少一个指令包括:
用于致使所述计算机将一个以上所再现的选定群组的所述所保存复本组合以形成各自显示帧的全部的至少一个指令。
24.根据权利要求22所述的计算机程序产品,其中所述用于致使所述计算机再现所述至少一个显示帧的至少一个指令包括:
用于致使所述计算机再现对应于所述各自显示帧的所述多个显示元素中的选定显示元素的至少一个指令;以及
用于致使所述计算机将所述多个显示元素中的所述所再现的选定显示元素与至少一个所再现的选定群组的所述所保存复本组合以形成所述各自显示帧的全部的至少一个指令。
25.根据权利要求22所述的计算机程序产品,其中所述用于致使所述计算机再现所述至少一个显示帧的至少一个指令包括:
用于致使所述计算机在所述再现至少两个显示帧期间选择性地仅再现一次所述多个显示元素的至少一个选定群组的至少一个指令。
26.根据权利要求22所述的计算机程序产品,其中所述用于致使所述计算机再现所述多个显示元素的所述至少一个选定群组的至少一个指令包括:
用于致使所述计算机识别对应于所述显示包的所述指示符信息内的双缓冲指示符的控制属性的至少一个指令;以及
用于致使所述计算机响应于所述所识别的控制属性而识别每一各自所再现的选定群组的至少一个指令。
27.一种设备,其包括:
用于获得具有定义多个显示帧的多个显示元素的显示包的装置;
用于再现所述多个显示元素的至少一个选定群组的装置,其中每一选定群组基于所述显示包中的指示符信息,且其中每一选定群组包括少于所述多个显示元素的全部;
用于将每一所再现的选定群组的复本保存在第二显示缓冲器中的装置;
用于再现所述多个显示帧内的至少一个显示帧以使得所述至少一个所再现的显示帧的至少一部分包括至少一个所再现的选定群组的所述所保存复本的装置;以及
用于将所述至少一个所再现的显示帧保存在第一显示缓冲器中的装置,所述第一显示缓冲器不同于所述第二显示缓冲器。
28.根据权利要求27所述的设备,其中所述用于再现所述至少一个显示帧的装置包括用于将一个以上所再现的选定群组的所述所保存复本组合以形成各自显示帧的全部的装置。
29.根据权利要求27所述的设备,其中所述用于再现所述至少一个显示帧的装置包括:
用于再现对应于所述各自显示帧的所述多个显示元素中的选定显示元素的装置;以及
用于将所述多个显示元素中的所述所再现的选定显示元素与至少一个所再现的选定群组的所述所保存复本组合以形成所述各自显示帧的全部的装置。
30.根据权利要求27所述的设备,其中所述用于再现所述至少一个显示帧的装置包括:
用于在所述再现至少两个显示帧期间选择性地仅再现一次所述多个显示元素的至少一个选定群组的装置。
31.根据权利要求27所述的设备,其中所述用于再现所述多个显示元素的所述至少一个选定群组的装置包括:
用于识别对应于所述显示包的所述指示符信息内的双缓冲指示符的控制属性的装置;以及
用于响应于所述所识别的控制属性而识别每一各自所再现的选定群组的装置。
32.一种用于产生可显示内容的计算机装置,其包括:
存储器,其包括第一显示缓冲器、不同于所述第一显示缓冲器的第二显示缓冲器以及显示包,其中所述显示包包括定义多个显示帧的多个显示元素;
处理器,其与所述存储器通信;
具有再现逻辑的再现模块,其中所述再现模块可由所述处理器执行以再现所述多个显示元素的至少一个选定群组,其中每一选定群组基于所述显示包中的指示符信息,且其中每一选定群组包括少于所述多个显示元素的全部;
其中所述再现模块进一步可由所述处理器执行以将每一所再现的选定群组的复本保存在所述第二显示缓冲器中;
其中所述再现模块进一步可由所述处理器执行以再现所述多个显示帧内的至少一个显示帧,使得所述至少一个所再现的显示帧的至少一部分包括至少一个所再现的选定群组的所述所保存复本;且
其中所述再现模块进一步可由所述处理器执行以将所述至少一个所再现的显示帧保存在所述第一显示缓冲器中。
33.根据权利要求32所述的计算机装置,其进一步包括显示机构,其中所述存储器进一步包括与所述显示机构通信的显示存储器,且其中所述再现模块进一步可由所述处理器执行以将每一所再现的显示帧从所述第一显示缓冲器复制到所述显示存储器以在所述显示机构上显示所述显示帧。
34.根据权利要求32所述的计算机装置,其中所述再现模块进一步可由所述处理器执行以将一个以上所再现的选定群组的所述所保存复本组合以形成各自显示帧的全部。
35.根据权利要求32所述的计算机装置,其中所述再现模块进一步可由所述处理器执行以再现对应于所述各自显示帧的所述多个显示元素中的选定显示元素,且将所述多个显示元素中的所述所再现的选定显示元素与至少一个所再现的选定群组的所述所保存复本组合以形成所述各自显示帧的全部。
36.根据权利要求32所述的计算机装置,其中所述再现模块进一步可由所述处理器执行以在所述再现至少两个显示帧期间选择性地仅再现一次所述多个显示元素的至少一个选定群组。
37.根据权利要求32所述的计算机装置,其中所述指示符信息包括具有指示是否要实施双缓冲的控制属性的至少一个双缓冲指示符,其中所述再现模块进一步包括具有双缓冲逻辑的双缓冲模块,所述双缓冲逻辑可由所述处理器执行以识别每一双缓冲指示符和每一相应控制属性,且其中所述双缓冲模块进一步可由所述处理器执行以响应于识别指示实施双缓冲的各自控制属性而启始各自所再现的选定群组的产生。
38.根据权利要求32所述的计算机装置,其中所述再现模块进一步包括具有双缓冲逻辑的双缓冲模块,所述双缓冲逻辑可由所述处理器执行以:
在所述多个显示帧上分析所述显示包以获得所述多个显示元素中的静态显示元素;
基于所述多个显示元素中的所述所识别的静态显示元素而导出所述指示符信息;以及
响应于所述所导出的指示符信息而产生每一各自所再现的选定群组。
39.根据权利要求32所述的计算机装置,其中所述再现模块进一步包括可由所述处理器执行以进行以下操作的逻辑:
在所述多个显示帧上识别所述多个显示元素中的静态显示元素;
相对于对应于所述多个显示帧的帧速率而权衡再现和保存所述多个显示元素中的所述所识别的静态显示元素的复本的成本和益处;以及
基于所述权衡的结果而导出所述指示符信息。
40.根据权利要求32所述的计算机装置,其中所述再现模块进一步可由所述处理器执行以再现来自少于对应于各自显示帧的所述多个显示元素中所述各自显示元素的全部的每一选定群组。
41.根据权利要求32所述的计算机装置,其中所述显示包定义对应于多个层中的各自显示帧的所述多个显示元素,且其中所述多个显示元素的所述至少一个选定群组对应于所述多个层中的至少一者。
42.根据权利要求32所述的计算机装置,其中所述存储器进一步包括多个不同的第二显示缓冲器,其每一者对应于各自所再现的选定群组,且其中所述再现模块进一步可由所述处理器执行以将每一各自所再现的选定群组保存在所述多个不同的第二显示缓冲器的相应一者中。
43.根据权利要求42所述的计算机装置,其中所述再现模块进一步可由所述处理器执行以将一个以上所再现的选定群组从所述多个不同的第二显示缓冲器中的所述各自相应第二显示缓冲器复制到所述第一显示缓冲器中以形成各自所再现的显示帧。
44.根据权利要求43所述的计算机装置,其进一步包括与显示机构通信的显示存储器,其中所述再现模块进一步可由所述处理器执行以将每一各自所再现的显示帧从所述第一显示缓冲器复制到所述显示存储器以致使在所述显示机构上显示所述各自所再现的显示帧。
45.根据权利要求32所述的计算机装置,其中所述显示包进一步至少包括未编译的数据文件、经编译的数据文件或编程语言。
46.根据权利要求32所述的计算机装置,其进一步包括具有预定显示特性的显示机构,其中所述存储器进一步包括预定量的存储器,其中所述处理器包括预定量的处理功率,其中所述显示包进一步包括用户接口,所述用户接口经配置以用于至少基于所述预定显示特性、所述预定量的存储器或所述预定量的处理功率而呈现,且其中所述再现模块进一步可由所述处理器执行以在所述显示机构上显示包括所述用户接口的至少一个显示帧。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US80363306P | 2006-06-01 | 2006-06-01 | |
US60/803,633 | 2006-06-01 | ||
US11/755,732 | 2007-05-30 | ||
US11/755,732 US8004535B2 (en) | 2006-06-01 | 2007-05-30 | Apparatus and method for selectively double buffering portions of displayable content |
PCT/US2007/070121 WO2007143511A2 (en) | 2006-06-01 | 2007-05-31 | Apparatus and method for selectively double buffering portions of displayable content |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101454823A true CN101454823A (zh) | 2009-06-10 |
CN101454823B CN101454823B (zh) | 2011-03-30 |
Family
ID=38669084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800195972A Expired - Fee Related CN101454823B (zh) | 2006-06-01 | 2007-05-31 | 用于选择性地对可显示内容的部分进行双缓冲的设备和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8004535B2 (zh) |
EP (1) | EP2038874A2 (zh) |
JP (1) | JP5350227B2 (zh) |
KR (1) | KR101028607B1 (zh) |
CN (1) | CN101454823B (zh) |
IN (1) | IN266729B (zh) |
WO (1) | WO2007143511A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117594A (zh) * | 2009-12-30 | 2011-07-06 | 英特尔公司 | 用于对齐帧数据的技术 |
CN102117595A (zh) * | 2009-12-30 | 2011-07-06 | 英特尔公司 | 用于对齐帧数据的技术 |
CN107087223A (zh) * | 2011-01-07 | 2017-08-22 | 夏普株式会社 | 再生装置及其控制方法、以及生成装置及其控制方法 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8068103B2 (en) | 2004-06-24 | 2011-11-29 | Apple Inc. | User-interface design |
US8130237B2 (en) * | 2004-06-24 | 2012-03-06 | Apple Inc. | Resolution independent user interface design |
US20090305782A1 (en) * | 2008-06-10 | 2009-12-10 | Oberg Gregory Keith | Double render processing for handheld video game device |
JP5458524B2 (ja) * | 2008-08-04 | 2014-04-02 | 富士通モバイルコミュニケーションズ株式会社 | 携帯端末 |
US8448074B2 (en) | 2009-05-01 | 2013-05-21 | Qualcomm Incorporated | Method and apparatus for providing portioned web pages in a graphical user interface |
US20110066971A1 (en) * | 2009-09-14 | 2011-03-17 | Babak Forutanpour | Method and apparatus for providing application interface portions on peripheral computing devices |
JP5793082B2 (ja) * | 2010-06-24 | 2015-10-14 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 電子出版物閲覧装置、電子出版物閲覧方法、プログラム、及び集積回路 |
US20130002684A1 (en) * | 2010-07-14 | 2013-01-03 | Dale Paas | Methods and apparatus to draw animations |
US8847970B2 (en) | 2012-04-18 | 2014-09-30 | 2236008 Ontario Inc. | Updating graphical content based on dirty display buffers |
US10482165B2 (en) * | 2015-03-18 | 2019-11-19 | Microsoft Technology Licensing, Llc | Declarative cascade reordering for styles |
KR102261961B1 (ko) | 2015-05-19 | 2021-06-07 | 삼성전자주식회사 | 디스플레이 구동 회로 및 이를 포함하는 디스플레이 장치 |
KR101717355B1 (ko) | 2015-07-29 | 2017-03-16 | 엘에스산전 주식회사 | 에너지 관리 시스템의 디스플레이 장치 및 방법 |
US20170243322A1 (en) * | 2016-02-19 | 2017-08-24 | Remi Sigrist | Multiple frame buffering for graphics processing |
WO2018020647A1 (ja) * | 2016-07-28 | 2018-02-01 | 富士通株式会社 | 描画データ生成プログラム、描画データ生成装置、及び描画データ生成方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3321651B2 (ja) * | 1991-07-26 | 2002-09-03 | サン・マイクロシステムズ・インコーポレーテッド | コンピュータの出力表示のためのフレームバッファメモリを提供する装置および方法 |
JPH0619675A (ja) * | 1992-06-30 | 1994-01-28 | Fujitsu Ltd | グラフィックス・システム |
BR9405493A (pt) * | 1993-06-30 | 1999-09-08 | Sega Enterprises Kk | Sistema e processo para processamento de imagem |
US5564048A (en) * | 1994-06-15 | 1996-10-08 | Lucent Technologies Inc. | Object-oriented functionality class library for use in graphics programming |
US5617113A (en) | 1994-09-29 | 1997-04-01 | In Focus Systems, Inc. | Memory configuration for display information |
US5850232A (en) * | 1996-04-25 | 1998-12-15 | Microsoft Corporation | Method and system for flipping images in a window using overlays |
JPH1083180A (ja) * | 1996-09-06 | 1998-03-31 | Hitachi Ltd | グラフィックス表示装置及び方法 |
JP3169933B2 (ja) * | 1999-03-16 | 2001-05-28 | 四国日本電気ソフトウェア株式会社 | 並列描画装置 |
US6380935B1 (en) * | 1999-03-17 | 2002-04-30 | Nvidia Corporation | circuit and method for processing render commands in a tile-based graphics system |
AU739491B2 (en) | 1999-06-30 | 2001-10-11 | Canon Kabushiki Kaisha | Using region arithmetic to partially update a hardware double buffer |
JP2002015328A (ja) * | 2000-06-30 | 2002-01-18 | Matsushita Electric Ind Co Ltd | シーン記述を用いて表されるオブジェクトベースのユーザインタラクティブシーンをレンダリングする方法 |
US7184059B1 (en) * | 2000-08-23 | 2007-02-27 | Nintendo Co., Ltd. | Graphics system with copy out conversions between embedded frame buffer and main memory |
US6900813B1 (en) * | 2000-10-04 | 2005-05-31 | Ati International Srl | Method and apparatus for improved graphics rendering performance |
US20020085013A1 (en) * | 2000-12-29 | 2002-07-04 | Lippincott Louis A. | Scan synchronized dual frame buffer graphics subsystem |
US6911983B2 (en) * | 2003-03-12 | 2005-06-28 | Nvidia Corporation | Double-buffering of pixel data using copy-on-write semantics |
JP2005092495A (ja) * | 2003-09-17 | 2005-04-07 | Canon Inc | 音声、動画等を具備するベクタグラフィックスのフォーマット方式 |
-
2007
- 2007-05-30 US US11/755,732 patent/US8004535B2/en not_active Expired - Fee Related
- 2007-05-31 JP JP2009513460A patent/JP5350227B2/ja not_active Expired - Fee Related
- 2007-05-31 WO PCT/US2007/070121 patent/WO2007143511A2/en active Application Filing
- 2007-05-31 EP EP07797955A patent/EP2038874A2/en not_active Ceased
- 2007-05-31 KR KR1020097000016A patent/KR101028607B1/ko not_active IP Right Cessation
- 2007-05-31 CN CN2007800195972A patent/CN101454823B/zh not_active Expired - Fee Related
- 2007-05-31 IN IN2436MUN2008 patent/IN266729B/en unknown
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117594A (zh) * | 2009-12-30 | 2011-07-06 | 英特尔公司 | 用于对齐帧数据的技术 |
CN102117595A (zh) * | 2009-12-30 | 2011-07-06 | 英特尔公司 | 用于对齐帧数据的技术 |
US8643658B2 (en) | 2009-12-30 | 2014-02-04 | Intel Corporation | Techniques for aligning frame data |
CN102117594B (zh) * | 2009-12-30 | 2014-02-12 | 英特尔公司 | 用于对齐帧数据的技术 |
CN102117595B (zh) * | 2009-12-30 | 2014-06-04 | 英特尔公司 | 用于对齐帧数据的技术 |
CN103886849A (zh) * | 2009-12-30 | 2014-06-25 | 英特尔公司 | 用于对齐帧数据的技术 |
US8823721B2 (en) | 2009-12-30 | 2014-09-02 | Intel Corporation | Techniques for aligning frame data |
CN103886849B (zh) * | 2009-12-30 | 2017-01-04 | 英特尔公司 | 用于对齐帧数据的方法和设备 |
CN107087223A (zh) * | 2011-01-07 | 2017-08-22 | 夏普株式会社 | 再生装置及其控制方法、以及生成装置及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2009539147A (ja) | 2009-11-12 |
CN101454823B (zh) | 2011-03-30 |
WO2007143511A3 (en) | 2008-01-31 |
IN266729B (zh) | 2015-05-28 |
WO2007143511A2 (en) | 2007-12-13 |
JP5350227B2 (ja) | 2013-11-27 |
KR101028607B1 (ko) | 2011-04-11 |
EP2038874A2 (en) | 2009-03-25 |
US20070291037A1 (en) | 2007-12-20 |
US8004535B2 (en) | 2011-08-23 |
KR20090019001A (ko) | 2009-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101454823B (zh) | 用于选择性地对可显示内容的部分进行双缓冲的设备和方法 | |
KR101130525B1 (ko) | 서식 유형들을 사용하여 서식을 생성하기 위한 방법 및장치 | |
US8578277B2 (en) | Integrating charts in documents | |
CN114035773B (zh) | 一种基于配置的低代码开发表单方法、系统及装置 | |
US8261183B2 (en) | Method and apparatus for dynamic management of distributed context | |
US20080003991A1 (en) | Systems and methods for application program and application program update deployment to a mobile device | |
CN113268226B (zh) | 页面数据生成方法、装置、存储介质及设备 | |
KR20080024462A (ko) | 멀티미디어 통신 시스템 및 방법 | |
US9081757B2 (en) | Systems and methods for tracking and updating hosted applications | |
US9110554B2 (en) | Representing a graphical user interface using a topic tree structure | |
CA2539130A1 (en) | System and method for applying development patterns for component based applications | |
US8254895B2 (en) | Methods and apparatus for generating mobile internet pages for viewing by mobile communication devices | |
NZ568945A (en) | Personalised video generation | |
CN110020356A (zh) | 一种页面模块的代码生成方法、装置及系统 | |
CN102884507A (zh) | 客户机应用程序和网页集成 | |
CN111949256A (zh) | 网页实时预览编辑方法、装置、设备及存储介质 | |
CN102693127A (zh) | 用于描述并执行图形用户界面中的管理任务的数据驱动模式 | |
US20130059613A1 (en) | System and method for providing end to end interactive mobile applications using sms | |
CN110458445B (zh) | 一种乘客信息发布管理系统 | |
CN106254216A (zh) | 即时通讯客户端中消息的控制方法以及装置 | |
CN114756228A (zh) | 页面处理方法、装置、设备及存储介质 | |
WO2011067785A2 (en) | Dynamic content creation, modification and distribution from single source of content in online and offline scenarios | |
CN105373524A (zh) | 演示稿的编辑方法和装置 | |
CN115756443B (zh) | 一种脚本生成方法、装置、电子设备及可读存储介质 | |
CN103378996B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110330 Termination date: 20190531 |