用于图形用户界面呈现的事务处理加倍缓冲的制作方法

文档序号:6594047阅读:325来源:国知局
专利名称:用于图形用户界面呈现的事务处理加倍缓冲的制作方法
用于图形用户界面呈现的事务处理加倍缓冲背景典型的图形软件应用程序涉及用户界面(UI)或图形用户界面(GUI)。这些软件 应用程序的示例是在来自微软公司的MICROSOFT WINDOWS 操作系统中运行或与其结合 运行的那些软件应用程序。更具体地,示例可以包括来自微软公司的MICROSOFT OFFICE 办公自动化软件、来自微软公司的OUTLOOK 个人信息管理软件、以及来自微软公司的 MICROSOFT WORD 文字处理软件。图形软件应用程序的⑶I通常由多个元素组成。这些元素可以包括各种控件、视 图、菜单、工具栏、指示符、或任何数量的其他UI元素。给定应用程序的整个显示空间往往 被称为应用软件的窗口,而各种UI元素本身可以被认为是应用程序显示中的窗口。在软件 实现级,这些各种UI元素或窗口可以作为指向窗口的指针或窗口句柄来引用。为了显示应 用程序的所有UI元素,应用程序的显示中所有相关联的窗口被单独地描绘、呈现或绘制。 这一般通过发送“绘制”消息或信号到每个窗口、或类似地通过调用与应用程序显示空间内 的每个窗口相关联的窗口对象的绘制方法来完成。当应用程序启动或执行涉及重新绘制组件窗口的操作时,随着每个组件窗口以看 起来随机的次序进行具有各种延迟的重新绘制,用户可能经历部分或不完整的应用程序呈 现。何时可发生这一情况的一个示例是当通过网络加载文件或资源时,将花费未定时间量。 其他示例涉及初始应用程序启动,或切换应用程序视图后,其中进行大量显示组件的重新计算。看起来随机的延迟和UI组件更新的排序对用户而言会是分心或混乱的。如果遇 到长延迟,例如与网络负载相关联的长延迟,用户可能在延长的一段时间段面临部分绘制 的窗口。这可以使用户变得担心故障已经发生。这担心可能因缺乏明显、安全的机制供用 户异常中止该操作而变得复杂。此处所做出的本发明正是对于这些和其他考虑事项而提出的。概述此处描述了用于在图形界面的呈现、或重新绘制期间改进用户体验的技术。具体 地,描述了用于建立用户界面相关事务的技术,在该事务期间可以加倍缓冲图形用户界面 呈现。延长的或延迟的屏幕更新可以在屏幕外执行、或在临时不可见的屏幕层执行直到完 成。在完成后,更新可以立即被绘制到屏幕。这可以得到具有改进的平滑度和响应性的用 户体验。图形屏幕更新可以被不同地称为呈现、绘制、重新绘制、描绘等等。根据此处所呈现的一个方面,可以响应于用户动作启动图形用户界面的事务处理 绘制或重新绘制。当特定用户动作可能花费延长的或未定的时间量时,可以建立事务。在该 事务期间,用户界面呈现可以被加倍缓冲直到完成所请求的动作。动作的完成可以绑定到 应用程序中的UI状态更新,确认各种必要的屏幕绘制操作已经终止。在完成所请求的动作 后,加倍缓冲的屏幕更新可以一致地提交给显示屏幕,以使得对用户而言看起来接近瞬时。 事务处理缓冲的完成可以响应于所请求的动作的完成来自动发生。根据此处所呈现的另一个方面,屏幕更新的加倍缓冲可以跨与应用程序相关联的多个GUI元素或窗口来执行。单个组件窗口、或UI元素可以被加倍缓冲至单个缓冲区。同 样,多个UI元素可以被个别地缓冲。然而,通过将与应用程序相关联的多个UI元素加倍缓 冲到一公共加倍缓冲区供呈现,可以提供额外的效率和性能。根据此处所呈现的又一个方面,还可以通过绘制到设定为全透明的屏幕层来支持 加倍缓冲。屏幕外缓冲区或透明层中的任一个或两者可以用于提供GUI显示的加倍缓冲。根据此处所呈现的又一个方面,可以向用户提供关于开始事务的所请求的动作的 进度或状态的反馈。例如,通过网络打开文档可能花费延长的时间量。在该时间期间,当 呈现他们所打开的文件因网络操作而延迟时,可以向用户提供进度信息。进度可以显示在 启动画面(splash screen)上,该启动画面可以甚至在实际应用程序显示当前被加倍缓冲 在屏幕之外或在透明层上时呈现。启动画面还可以包括取消UI,以便向用户提供异常中止 操作的安全方式。例如,如果用户不希望继续等待完成,或者如果用户认识到在启动事务时 他们出了错误。启动画面、进度指示符、取消UI、以及相关操作可以在与事务处理动作本身 不同的单独线程或其他并行操作中执行。这样的线程处理可以支持响应性非常好的启动画 面,即使事务处理动作仍然在进行中。应当理解,上述主题也可被实现为计算机控制的装置、计算机进程、计算系统或诸 如计算机可读介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其 他特征将变得显而易见。提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本 概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制 所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提 及的任何或所有缺点的实现。附图简述

图1是示出根据此处所呈现的实施例的各方面的用于加倍缓冲图形用户界面的 机制以及启动画面显示的功能框图;图2是示出根据此处所呈现的实施例的各方面的用于改进图形用户界面的呈现 的过程的各方面的逻辑流程图;图3是示出根据此处所呈现的实施例的各方面的用于在图形用户界面呈现期间 进行事务处理加倍缓冲的过程的各方面的逻辑流程图;图4是示出根据此处所呈现的实施例的各方面的用于支持图形用户界面中的启 动画面的过程的各方面的逻辑流程图;以及图5是示出能够实现此处所呈现的实施例的各方面的计算系统的说明性计算机 硬件和软件体系结构的计算机体系结构图。详细描述具体地,以下详细描述涉及用于建立用户界面相关事务的技术,在该事务期间图 形用户界面呈现可以被加倍缓冲。通过使用此处提出的技术和概念,延长或延迟的屏幕更 新可以在屏幕外执行、或是在临时不可见的屏幕层执行直到完成。在完成后,更新可以作为 单个操作来显示到可见屏幕。这可以得到具有改进的响应性和平滑的一致性的用户体验。尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一 般上下文中呈现了此处描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类 型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将明白,可以利 用其他计算机系统配置来实施此处描述的主题,这些计算机系统配置包括手持式设备、多 处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。在下面的详细描述中,将参考构成本发明的一部分的附图,并且在附图中作为说 明示出了各具体实施例或示例。现在参考附图,全部若干附图中相同的标号表示相同的元 素,将描述用于建立用户界面相关事务的计算系统和方法的各方面,在该事务期间图形用 户界面呈现可以被加倍缓冲。现在转向图1,示出根据此处所呈现的实施例的各方面的用于加倍缓冲图形用户 界面的系统100以及启动画面160显示的功能框图。具体地,与软件应用程序110相关联 的图形用户界面可以呈现在计算机显示器190上。当用户发起的动作可涉及延长的延迟或 未定的时间量时,在用户界面各部分的重新绘制之间可引入延迟。这可提供延长的部分显 示、急动呈现或不一致显示的用户体验。当加载应用程序时、当通过网络加载资源时、当视 图变化需要重新计算显示元素时、或在其他若干这样的情况下,可引入延长的延迟。事务处理加倍缓冲可以支持较平滑的图形用户界面。屏幕外呈现缓冲区130可以 由加倍缓冲管理器120来提供。表示控件、菜单、工具栏、窗口、以及与应用程序110相关联 的其他用户界面组件的各种组件窗口可被绘制或更新至呈现缓冲区130,以使得潜在的交 错、不完整、或急动显示更新对用户不可见。一旦UI更新完成,呈现缓冲区130可以在单个 操作中推入计算机显示器190。这样做可允许屏幕更新看起来接近瞬时。更新可由加倍缓 冲管理器120来处理。加倍缓冲管理器120可在请求时将呈现缓冲区130中的更新提交给 显示器190。加倍缓冲管理器130可以是应用程序软件110的一部分,或者可以被操作系 统、图形子系统、或屏幕管理器支持。用于加倍缓冲的另一机制可以使用透明分层窗口 140。当应用程序组件不能被修 改为将更新呈现到屏幕外呈现缓冲区130时,可以使用透明分层窗口 140方法。当没有可 用的源代码时,当是诸如ACTIVE X 控件等外部供应的库或组件时,或者当时间、预算或传 统问题阻止代码修改时,应用程序组件可以阻止修改。可以向⑶I组件提供透明分层窗口 140,⑶I组件可以将其图形更新绘制到该透明 分层窗口 140。分层窗口可以使用被配置成完全透明度的图形层,使得潜在的交错、急动、或 延迟的屏幕更新对用户不可见。当屏幕更新完成并且UI状态已经更新时,透明度可以被改 变为完全不透明。进而可以在单个操作中使分层窗口 140对用户可见,使得更新看起来接 近瞬时。屏幕外呈现缓冲区130与透明分层窗口 140之一或两者相结合可以用于提供与应 用程序软件Iio相关联的GUI的加倍缓冲。一旦更新完成,由加倍缓冲管理器120存储或 与呈现缓冲区130相关联的显示位可以被推入分层窗口 140。透明度可被设置成完全不透 明,并且可使各种UI更新作为单个操作一致地对用户可见。用户界面相关事务可以用于控制收集在一起用于加倍缓冲的一组UI更新。给定 事务中的该组UI更新通常与可引入延迟的特定用户动作相关联,诸如最初打开应用程序、 通过网络加载文件、改变应用程序中的UI视图、或其他这样的操作。在事务期间,用户界面 呈现可以被加倍缓冲直到完成所请求的动作。
如果可能招致延长的或未知的事务时间,可以向用户呈现启动画面160。由于⑶I 可更新到加倍缓冲机制,诸如屏幕外呈现缓冲区130或透明分层窗口 140,若不是有启动画 面160的呈现,用户可能没有屏幕更新。启动画面160可以由启动画面线程150支持。启 动画面线程150可以是应用程序软件110的部分。启动画面线程150可作为与和事务处理 用户动作相关的应用程序软件110组件分离的不同线程、进程、或其他并行化机制来执行。 将与启动画面160相关的操作分离到启动画面线程150可以允许启动画面160以响应和交 互的方式被更新和处理,即使当事务处理操作正在进行并且可能被延迟。启动画面线程150所支持的启动画面160可以向用户提供一个或多个进度指示 符。进度指示符可以向用户提供有关正在执行的动作的信息、以及相关联的延迟可能约有 多久。进度指示符的一个示例是可示出正在执行的动作的进度百分比的进度条170。启动画面线程150所支持的启动画面160可以向用户提供取消UI。例如,取消按 钮180可以被定位在启动画面160上。这样的取消机制可以向用户提供异常中止事务处理 操作的安全方式。例如,用户可能不希望继续等待所请求的动作的完成。类似地,用户可能 认识到事务的启动有错误。在诸如这样的情况下,启动画面160上提供的取消UI可以由用 户操作。现在参考图2,将根据此处所呈现的实施例的各方面,提供关于此处所提出的用于 对图形用户界面进行加倍缓冲同时提供启动画面显示的各实施例的附加细节。具体地,图 2是示出用于改进图形用户界面的呈现的例程200的各方面的流程图。应理解,此处所述的逻辑操作可以被实现为(1) 一系列计算机实现的动作或运行 于计算系统上的程序模块,和/或( 计算系统内的互连的机器逻辑电路或电路模块。取 决于计算系统的性能及其他要求,可以选择不同的实现。因此,此处描述的逻辑操作被不同 地称为状态操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可用软件、固件、 专用数字逻辑以及它们的任何组合来实现。还应该明白,可以执行比附图中示出并在此处 描述的操作更多或更少的操作。这些操作还可以按顺序、并行、或与此处所描述的不同的次 序来执行。例程200在操作210处开始,其中可以检测用户所请求的动作。判定操作220可 以确定对所请求的动作进行事务处理。一般而言,如果动作可能引入延长的延迟或未知的 延迟,则可以对该动作进行事务处理。例如,可以对应用程序的启动进行事务处理,尤其是 在应用程序启动期间打开文档的时候。通过网络加载文件或访问资源的动作、以及涉及应 用程序视图变化的动作是可进行事务处理的动作的其他示例。尽管不必对可以非常迅速地 完成的动作进行事务处理,但可以对这样的动作进行事务处理而没有显著影响。如果操作220确定不对动作进行事务处理,例程200可以继续至操作230,其中可 以执行所请求的动作而不使用事务处理加倍缓冲的GUI。然而,如果操作220确定对动作进 行事务处理,则例程200可以继续并行地开始两个操作。这两个操作可以被表示为用事务 处理加倍缓冲的GUI来执行所请求的动作的例程300,以及其中可以启动启动画面线程的 例程400。与例程300和例程400相关的附加细节在以下参考图3和图4提供。例程300可以向例程400提供进度信号,用于更新与启动画面160相关联的状态 指示符,诸如进度条170。而且,例程300可以向例程400提供完成信号,用于通知与所请 求的动作相关联的事务的完成。例程200可以在从例程300返回之后或在操作230之后终止,取决于例程200采取的路径。现在参考图3,将根据此处所呈现的实施例的各方面,提供关于此处所提出的用于 对图形用户界面进行加倍缓冲同时提供启动画面显示的各实施例的附加细节。具体地,图 3是示出用于在图形用户界面呈现期间进行事务处理加倍缓冲的例程300的各方面的流程 图。例程300在操作310处开始,其中可以启动事务。用户界面相关事务可以用于控 制可一起收集在加倍缓冲中的一组UI更新。启动事务可以标记要加倍缓冲的该组UI更新 的开始。在操作315处,可以提供呈现缓冲区130。一般而言,呈现缓冲区130作为屏幕外 缓冲区来提供,用于向其描绘UI更新而不让它们可见。呈现缓冲区130可以由加倍缓冲管 理器120来提供。在操作320处,可以提供透明层窗口 140。透明分层窗口 140也可以由加 倍缓冲管理器120来提供。透明分层窗口 140类似于屏幕外呈现缓冲区130,因为可向其进 行描绘而对用户不可见。然而,透明分层窗口 140可以实际上位于显示空间中,且它的透明 度设定为完全透明使之不可见。在操作322处,窗口可以被标识为与所请求的动作相关联。各种窗口可以对应于 应用程序软件110在执行所请求的动作时所使用的GUI的组件。这些GUI组件窗口可以包 括控件、菜单、视图、工具栏、或组成⑶I的其他窗口。在操作325处,可以在执行所请求的动作时支持对呈现缓冲区130的绘制。具体 地,在操作322中标识的窗口进行的绘制可以使用呈现缓冲区130。在加倍缓冲的事务期 间,与被执行的操作(例如,引导应用程序、改变视图、访问文件、访问网络资源等等)有关 的UI更新可以被绘制到屏幕外的呈现缓冲区130,使得它们对用户不可见。多个UI组件或 窗口可以由公共呈现缓冲区130来加倍缓冲。在操作330处,可以在适当时支持对透明分层窗口 140的绘制。当UI代码不能被 修改以将更新呈现给屏幕外呈现缓冲区130时,对透明分层窗口 140进行加倍缓冲区UI更 新可以是适当的。当没有可用的源代码时,当是诸如ACTIVE X 等外部供应的库或组件时 控制,或者当可能存在阻止代码修改的时间、预算或传统问题时,在操作322中标识的应用 程序组件、或者窗口可以阻止修改。代替使用屏幕外呈现缓冲区130,UI可以向已被配置成 完全透明的透明窗口层140做出其更新。在操作335处,可以将进度信息提供给启动画面线程400。这样的进度信息可以支 持启动画面160上的诸如进度条170等进度指示符的显示。这些状态指示符可以向用户提 供有关事务在进行时的状态的信息。在操作340处,可以检测所请求的动作的完成。例如,如果正在打开文件,则可以 检测打开文件的完成。这样的检测可以部分地支持被自动终止的事务。在操作345处,可 以检测用户界面状态的静止。检测已完成UI更新可以支持将事务处理动作的完成绑定到 应用程序110中的UI状态更新。事务的自动终止可以部分地通过确定各种必要的重新绘 制事件的完成来支持,这些重新绘制事件诸如呈现文本、启用按钮、禁用按钮等等。在操作350处,可以发信号通知启动画面线程400事务的完成。通知启动画面线 程400事务已经完成并且正在终止可以支持启动画面线程400的自动终止,并且可以停止 启动画面160的显示。
在操作355处,可以将在事务期间对呈现缓冲区130已经作出的更新提交给计算 机显示器190。这可以由加倍缓冲管理器120来支持。在也使用透明分层窗口 140的情况 下,呈现缓冲区130位的提交可以包括将来自呈现缓冲区130的更新描绘到透明分层窗口 140。在操作360处,透明分层窗口 140可以转换为完全不透明。即,可以关闭分层窗口 的透明度。在此单个操作中,可以使所收集的与事务相关联的UI更新几乎瞬时地对用户可 见。因此,可以支持较平滑、较不混乱的用户界面呈现。在操作306后,例程300可以返回 至例程200。现在参考图4,将根据此处所呈现的实施例的各方面,提供关于此处所提出的用于 对图形用户界面进行加倍缓冲同时提供启动画面显示的各实施例的附加细节。具体地,图 4是示出用于支持图形用户界面中的启动画面的过程400的各方面的流程图。例程400在操作410处开始,其中可以实例化启动画面线程150。在操作420处, 启动画面线程150可以支持在事务处理用户动作在进行时显示启动画面160。启动画面线 程150可以是应用程序软件110的一部分,但在与和事务处理用户动作相关联的应用程序 软件110模块不同的线程、进程、或其他并行化机制中执行。这种将与启动画面160相关的 操作分离到启动画面线程150中可以允许启动画面160以响应和交互的方式被更新和处 理,即使当事务处理操作正在进行并且可能延迟。在操作430处,启动画面线程150所支持的启动画面160可以向用户提供一个或 多个进度指示符。进度指示符可以向用户提供有关所执行的动作的信息、以及相关联的延 迟可能约有多久。进度指示符的一个示例是可示出与正在执行的动作相关联的进度百分比 的进度条170。在操作440处,启动画面线程150所支持的启动画面160可以向用户提供取消UI。 例如,取消按钮180可以被定位在启动画面160上。这样的取消机制可以向用户提供异常 中止事务处理操作的安全方式。例如,用户可能不希望继续等待所请求的动作的完成。类 似地,用户可能认识到事务的启动有错误。在诸如这样的情况下,在启动画面160上提供的 取消UI可以由用户操作。用户对取消UI的操作可以由操作450来检测。如果检测到,操 作460可以将取消发信号通知应用程序。将用户取消请求发信号通知应用程序可以支持应 用程序优雅地终止所请求的动作。在操作460之后,可以终止启动画面线程150,并且可以 停止启动画面160的显示。当没有请求取消时,操作470可以从例程300接收完成信号。如果例程300所支 持的事务处理动作已完成,则可以通知例程400,如有关图3所示的操作350所讨论的。操 作470处对此通知的检测可以支持启动画面线程150的终止以及相关联的启动画面160的 关闭。当在操作470处没有检测到完成信号时,操作480可以从例程300接收进度信号, 如有关图3所示的操作335所讨论的。在操作490处,可使用在操作480中发信号通知给 例程400的进度信息来更新如在操作430处提供的启动画面160上的进度指示符。在操作 490之后,例程400可以循环到操作450,并且如上所述继续进行直到事务被取消或完成。现在转向图5,说明性计算机体系结构5可以执行这里所描述的用于加倍缓冲图 形用户界面同时提供启动画面显示的软件组件。如图5所示的计算机体系结构示出了常规台式计算机、膝上型计算机或服务器计算机,并且可以用来执行这里呈现的软件组件的任 何方面。然而,应该了解,所描述的软件组件也可以在诸如移动设备、电视机、机顶盒、自助 服务终端、车载信息系统、移动电话、嵌入式系统等等之类的其他示例计算环境上执行。图5中所示的计算机体系结构可以包括中央处理单元IO(CPU)、包括随机存取存 储器14 (RAM)和只读存储器16 (ROM)的系统存储器13、以及可以将系统存储器13耦合到 CPU 10的系统总线11。基本输入/输出系统可以存储在ROM 16中,它包含例如在启动过 程中帮助在计算机5内的元件之间传输信息的基本例程。计算机5还可以包括大容量存储 设备15,用于存储操作系统18、软件、数据,以及各种程序模块,如与应用程序软件110关联 的那些程序模块。应用程序软件110可以执行此处描述的软件组件。大容量存储设备15可以通过连接到总线11的大容量存储控制器(未示出)连 接到CPU 10。大容量存储设备15以及其关联的计算机可读介质可以为计算机5提供非易 失性存储。虽然对这里包含的计算机可读介质的描述涉及诸如硬盘或CD-ROM驱动器之类 的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机5 访问的任何可用计算机存储介质。作为示例而非限制,计算机可读介质可以包括以用于存储诸如计算机可读指令、 数据结构、程序模块之类的信息或其他数据的任何方法或技术实现的易失性和非易失性、 可移动和不可移动介质。例如,计算机可读介质包括但不限于,RAM、ROM、EPROM、EEPR0M、闪 存或其他固态存储器技术,⑶-ROM、数字多功能盘(DVD)、HD-DVD、蓝光、或其他光学存储,磁 带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可由计算机5访问的 任何其他介质。根据各实施例,计算机5可以使用通过诸如网络17之类的网络到远程计算机的逻 辑连接来在联网环境中操作。计算机5可以通过连接至总线11的网络接口单元19来连接到网络17。应当理解,网络接口单元19还可以被用来连接到其他类型的网络和远程计算机 系统。计算机5还可以包括用于接收和处理来自包括键盘、鼠标或电子笔(未示出)的许 多其他设备的输入的输入/输出控制器12。类似地,输入/输出控制器12可以向计算机显 示器190、打印机、或其他类型的输出设备(也未示出)提供输出。计算机显示器190或者 可以由图形适配器或图形处理单元(也未示出)连接到总线11。如上文简要地提及的,多个程序模块和数据文件可以存储在计算机5的大容量存 储设备15和RAM 14中,包括适于控制联网的台式计算机、膝上型计算机、服务器计算机或 其他计算环境的操作的操作系统18。大容量存储设备15、R0M 16,以及RAM 14还可以存储 一个或多个程序模块。具体地,大容量存储设备15、ROM 16,以及RAM 14可以存储由CPU 10执行的应用程序软件110。应用程序软件110可以包括用于实现参考图1-4详细讨论的 过程的软件组件。大容量存储设备15、R0M 16,以及RAM 14还可以存储其他类型的程序模 块。基于上述内容,应当理解,此处提供了用于对图形用户界面进行事务处理加倍缓 冲同时提供启动画面显示的技术。虽然以计算机结构特征、方法动作、以及计算机可读介质 专用的语言描述了本文呈现的主题,但是应该理解,在所附权利要求书中所限定的本发明 不一定仅限于本文描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。 上述主题仅作为说明提供,并且不应被解释为限制。可对此处所述的主题作出各 种修改和改变,而不必遵循所示和所述的示例实施例和应用,且不背离所附权利要求书中 所述的本发明的真正精神和范围。
权利要求
1 一种用于更新图形用户界面的方法,所述方法包括 响应于所请求的操作启动(310)事务;标识(32 与所请求的操作相关联的一个或多个窗口 ; 加倍缓冲(32 与所述一个或多个窗口相关联的用户界面更新; 检测所请求的操作的完成(340);响应于检测所请求的操作的完成终止(350)所述事务;以及在终止所述事务之后,将加倍缓冲的用户界面更新提交(35 给计算机显示器。
2.如权利要求1所述的方法,其特征在于,标识与所请求的操作相关联的一个或多个 窗口包括标识与所述所请求的操作相关联的多个窗口。
3.如权利要求1所述的方法,其特征在于,响应于所请求的操作启动所述事务包括响 应于要在延长或未知的时间量上执行的所请求的操作启动所述事务。
4.如权利要求1所述的方法,其特征在于,加倍缓冲与所述一个或多个窗口相关联的 用户界面更新包括提供用于描绘用户界面更新的屏幕外呈现缓冲区。
5.如权利要求1所述的方法,其特征在于,加倍缓冲与所述一个或多个窗口相关联的 用户界面更新包括提供用于描绘用户界面更新的透明分层窗口。
6.如权利要求5所述的方法,其特征在于,将加倍缓冲的用户界面更新提交给计算机 显示器包括关闭与所述分层窗口相关联的透明度参数。
7.如权利要求1所述的方法,其特征在于,还包括在所述事务期间提供启动画面。
8.如权利要求7所述的方法,其特征在于,还包括提供不同的启动画面线程。
9.如权利要求1所述的方法,其特征在于,还包括在所述事务期间提供取消选项。
10.如权利要求1所述的方法,其特征在于,还包括在所述事务期间提供进度指示符。
11.一种其上存储有计算机可执行指令的计算机存储介质(15),所述指令在由计算机 (5)执行时使得所述计算机响应于所请求的操作启动(310)事务; 标识(32 与所请求的操作相关联的一个或多个窗口 ; 加倍缓冲(32 与所述一个或多个窗口相关联的用户界面更新; 在所述事务期间提供(400)启动画面(160); 检测所请求的操作的完成(340);响应于检测所请求的操作的完成终止(350)所述事务;以及在终止所述事务之后,将加倍缓冲的用户界面更新提交(35 给计算机显示器。
12.如权利要求11所述的计算机存储介质,其特征在于,标识与所请求的操作相关联 的一个或多个窗口包括标识与所请求的操作相关联的多个窗口。
13.如权利要求11所述的计算机存储介质,其特征在于,响应于所请求的操作启动所 述事务包括响应于要在延长或未知的时间量上执行的所请求的操作启动所述事务。
14.如权利要求11所述的计算机存储介质,其特征在于,加倍缓冲与所述一个或多个 窗口相关联的用户界面更新包括提供用于描绘用户界面更新的屏幕外呈现缓冲区。
15.如权利要求11所述的计算机存储介质,其特征在于,加倍缓冲与所述一个或多个 窗口相关联的用户界面更新包括提供用于描绘用户界面更新的透明分层窗口。
16.如权利要求15所述的计算机存储介质,其特征在于,将加倍缓冲的用户界面更新提交给计算机显示器包括关闭与所述分层窗口相关联的透明度参数。
17.如权利要求11所述的计算机存储介质,其特征在于,还包括使所述计算机提供不 同的启动画面线程。
18.如权利要求11所述的计算机存储介质,其特征在于,还包括使所述计算机在所述 事务期间提供取消选项。
19.如权利要求11所述的计算机存储介质,其特征在于,还包括使所述计算机在所述 事务期间提供进度指示符。
20.一种图形用户界面系统,包括处理单元(10);以及可用于使所述处理单元(10)执行以下动作的一个或多个模块响应于需要延长或未 知时间量的所请求的操作启动(310)事务,标识(322)与所请求的操作相关联的多个窗口, 提供(325)用于描绘与所述多个窗口相关联的用户界面更新的屏幕外呈现缓冲区,响应于 检测所请求的操作的完成终止(350)所述事务;以及在终止所述事务之后将所述将屏幕外 呈现缓冲区提交(35 给计算机显示器。
全文摘要
此处描述了用于在图形界面的呈现、或重新绘制期间改进用户体验的技术。可以响应于所请求的用户操作启动用户界面相关事务。可以标识与所请求的操作相关联的一个或多个窗口。可以加倍缓冲与一个或多个所标识的窗口相关联的用户界面更新。可以检测所请求的操作的完成。可以响应于检测所请求的操作的完成终止事务。在终止事务之后,可以将加倍缓冲的用户界面更新提交给计算机显示器。
文档编号G06F3/14GK102084329SQ200980124381
公开日2011年6月1日 申请日期2009年5月15日 优先权日2008年6月21日
发明者A·福米乔夫, I·扎伊卡 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1