CN109478150B - 动态视觉聚焦调节 - Google Patents

动态视觉聚焦调节 Download PDF

Info

Publication number
CN109478150B
CN109478150B CN201780044360.3A CN201780044360A CN109478150B CN 109478150 B CN109478150 B CN 109478150B CN 201780044360 A CN201780044360 A CN 201780044360A CN 109478150 B CN109478150 B CN 109478150B
Authority
CN
China
Prior art keywords
visual focus
gpu
amount
performance
gpu12
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780044360.3A
Other languages
English (en)
Other versions
CN109478150A (zh
Inventor
S·J·沙利
M·F·里布尔
D·R·加西亚·加西亚
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN109478150A publication Critical patent/CN109478150A/zh
Application granted granted Critical
Publication of CN109478150B publication Critical patent/CN109478150B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Lining Or Joining Of Plastics Or The Like (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

本公开描述用于确定待应用以渲染图像的视觉聚焦量的实例。实例技术可使用指示图形处理单元GPU的性能的信息来确定待应用的所述视觉聚焦量。所述GPU可基于所确定的视觉聚焦量渲染图像。

Description

动态视觉聚焦调节
技术领域
本公开涉及图形处理。
背景技术
计算装置常常利用图形处理单元(graphics processing unit;GPU)加速渲染用于显示的图形数据。此类计算装置可包含例如计算机工作站、手机,例如所谓的智能手机、嵌入系统、个人计算机、平板计算机及视频游戏控制台。GPU通常执行图形处理管线,所述图形处理管线包含一起操作以执行图形处理命令的多个处理级。主机中央处理单元(centralprocessing unit;CPU)可通过将一或多个图形处理命令发布给GPU来控制GPU的操作。现代的CPU通常能够同时执行多个应用程序,所述多个应用程序中的每一个可需要在执行期间利用GPU。
发明内容
本公开是针对于动态地控制在渲染期间由图形处理单元(GPU)应用的视觉聚焦(foveation)量。GPU应用的视觉聚焦量影响GPU所消耗的功率量。在一些实例中,GPU输出中央处理单元(CPU)或GPU本身用于控制应用的视觉聚焦量的性能测量结果。本公开描述将性能测量结果用作反馈,来调节被用于将GPU的性能维持在特定范围内的视觉聚焦。
在一个实例中,本公开描述一种处理数据的方法,所述方法包括接收指示图形处理单元(GPU)的性能的信息、基于接收到的信息确定待应用的视觉聚焦量,且将所确定的待应用的视觉聚焦量的信息输出到所述GPU,以使所述GPU基于所述所确定的待应用的视觉聚焦量渲染图像。
在一个实例中,本公开描述用于处理数据的装置,所述装置包括:图形处理单元(GPU)、经配置以接收指示所述GPU的性能的信息的性能估计电路,以及经配置以基于接收到的信息,确定待应用的视觉聚焦量,以及将所确定的待应用的视觉聚焦量的信息输出到所述GPU,以使所述GPU基于所述所确定的待应用的视觉聚焦量渲染图像的视觉聚焦栅极电路。
在一个实例中,本公开描述用于处理数据的装置,所述装置包括:用于接收指示图形处理单元(GPU)性能的信息的装置、用于基于接收到的信息,确定待应用的视觉聚焦量的装置,以及用于将所确定的待应用的视觉聚焦量的信息输出到所述GPU,以使所述GPU基于所述所确定的待应用的视觉聚焦量渲染图像的装置。
在一个实例中,本公开描述计算机可读存储媒体,其包括在被执行时导致用于处理数据的装置的一或多个处理器执行以下操作的指令:接收指示图形处理单元(GPU)性能的信息、基于接收到的信息,确定待应用的视觉聚焦量,以及将所确定的待应用的视觉聚焦量的信息输出到所述GPU,以使所述GPU基于所述所确定的待应用的视觉聚焦量渲染图像。
在附图和下文描述中阐述本公开的一或多个实例的细节。本发明的其它特征、目标和优点将从所述描述和图式以及权利要求书显而易见。
附图说明
图1是说明可用于实施本公开的技术的实例计算装置的框图。
图2是进一步详细说明图1的计算装置的CPU、GPU和存储器的框图。
图3是说明根据本公开中所描述的一或多个实例技术的实例处理流程的概念图。
图4是说明处理数据的实例方法的流程图。
具体实施方式
图形处理单元(GPU)的设计具有缩减功率消耗来适应系统的热需求的方法。一种缩减功率的方式是热节流,其中GPU减小时钟频率,且更缓慢地处理图形数据。然而,减少时钟频率减小了帧率,且可能导致帧抖动(例如,内容中的微小影带)。在虚拟现实(virtualreality;VR)情况下,较低帧率和帧抖动可能导致动晕症,以及不利地影响观看者体验的其它不合需要的效应。
除使用时钟频率和电压控制以外,或代替它们,本公开中描述的技术包含应用于图像的门控视觉聚焦来控制GPU功率耗散。视觉聚焦是一种模糊观看者未在观看的图像部分的方法。在某些情况下,GPU应用视觉聚焦,来通过模糊图像的其它部分,将观看者引导到图像的特定部分。在其它情况下,通过跟踪眼睛运动,以及确定观看者正在观看的图像内位置,GPU可应用视觉聚焦来模糊图像的其它部分。
视觉聚焦可减小渲染图像时消耗的GPU功率的量。举例来说,一种导致模糊的方式是减小一些部分相对于其它部分的分辨率。在被减小分辨率的部分中,被处理的每个片段的大小相对更大,意味着较低分辨率部分中的片段比较高分辨率部分中的片段少。由于片段较少,因此片段着色器被执行的情况数减少,导致了较低的功率消耗。
在本公开中描述的实例技术中,在主机处理器上执行的应用程序产生GPU执行的渲染命令,以及指示视觉聚焦质量(例如,多少模糊,及模糊多大面积)的信息。在所述主机处理器上执行的图形驱动器可经配置以将指示视觉聚焦质量的信息传送到GPU,以用于图形处理。
然而,在本公开中描述的技术中,图形驱动器可修改视觉聚焦质量信息,来减小GPU需要花费的功率量。举例来说,视觉聚焦控制器(例如,硬件或软件单元)从例如计数器的性能测量单元接收信息,所述信息指示GPU处理数据的繁忙程度、系统温度、实际功率测量结果,以及其它这类信息。视觉聚焦控制器根据性能信息确定功率使用量的估计,且将功率使用量的估计与所期望的功率使用量进行比较。视觉聚焦控制器随后指示图形驱动器增加GPU将应用的模糊量来减小功率,或减弱GPU应用的模糊量,或在存在足够的功率预算时不作出改变。
可能存在应用模糊的各种方法。举例来说,应用模糊的一种方式是从较低采样分辨率对区进行上采样,来填充显示屏的对应区。在此情况下,经过上采样的图像相比于表现为模糊的其它部分看起来更清晰。换句话说,在最终图像上进行这一上采样的结果看起来与在图像边缘周围应用模糊非常相似。
图1是说明可用以实施本发明的技术的实例计算装置2的框图。计算装置2可包括个人计算机、台式计算机、笔记本电脑、计算机工作站、视频游戏平台或控制台、无线通信装置(例如移动电话、蜂窝式电话、卫星电话和/或移动电话手持机)、陆线电话、互联网电话、手持型装置,例如便携式视频游戏装置或个人数字助理(personal digital assistant;PDA)、个人音乐播放器、视频播放器、显示器装置、电视、电视机顶盒、服务器、中间网络装置、主计算机,或任何其它类型的处理和/或显示图形数据的装置。
如在图1的实例中所说明,计算装置2包含用户输入接口4、CPU 6、存储器控制器8、系统存储器10、图形处理单元(GPU)12、GPU 12的本地存储器14、显示器接口16、显示器18和总线20。用户输入接口4、CPU 6、存储器控制器8、GPU 12和显示器接口16可使用总线20彼此通信。总线20可为各种总线结构中的任一个,例如第三代总线(例如,超传输总线或无限频带总线)、第二代总线(例如,先进图形端口总线、高速外围组件互连(PeripheralComponent Interconnect;PCI)总线或先进可扩展接口(Advanced eXentisibleInterface;AXI)总线)或另一类型的总线或装置互连件。应注意,图1所示的不同组件之间的总线和通信接口的特定配置仅是示范性的,并且具有相同或不同组件的计算装置和/或其它图形处理系统的其它配置也可用于实施本公开的技术。
CPU 6可包括控制计算装置2的操作的通用或专用处理器。用户可将输入提供到计算装置2以使CPU 6执行一或多个软件应用程序。在CPU 6上执行的软件应用程序可包含例如操作系统、文字处理器应用程序、电子邮件应用程序、电子数据表应用程序、媒体播放器应用程序、视频游戏应用程序、图形用户接口应用程序或另一程序。用户可经由一或多个输入装置(未示出),例如,键盘、鼠标、麦克风、触摸垫或经由用户输入接口4耦合到计算装置2的其它输入装置,将输入提供到计算装置2。
在CPU 6上执行的软件应用程序可包含指示CPU 6使图形数据到显示器18的渲染的一或多个图形渲染指令。在一些实例中,软件指令可符合图形应用程序编程接口(application programming interface;API),例如开放图形库(Open Graphics Library;
Figure BDA0001948340780000041
)API、开放图形库嵌入系统(Open Graphics Library Embedded System;OpenGLES)API、Direct3D API、X3D API、RenderMan API、WebGL API或任何其它公共或专有标准图形API。为了处理图形渲染指令,CPU 6可将一或多个图形渲染命令发出到GPU12以使GPU 12执行图形数据渲染中的一些或所有。在一些实例中,待渲染的图形数据可包含例如点、线、三角形、四边形、三角形带等图形图元的列表。
存储器控制器8有助于进入和离开系统存储器10的数据传送。举例来说,存储器控制器8可接收存储器读取和写入命令,且关于存储器10来服务此类命令以便针对计算装置2中的组件提供存储器服务。存储器控制器8通信耦合到系统存储器10。虽然在图1的实例计算装置2中将存储器控制器8说明为与CPU 6和系统存储器10两者分开的处理模块,但在其它实例中,存储器控制器8的功能性中的一些或全部可实施于CPU6和系统存储器10中的一或两个上。
系统存储器10可存储可存取以用于由CPU 6执行的程序模块和/或指令和/或用于由CPU 6上执行的程序使用的数据。举例来说,系统存储器10可存储用户应用程序和与所述应用程序相关联的图形数据。系统存储器10可另外存储用于由计算装置2的其它组件使用和/或由其产生的信息。举例来说,系统存储器10可充当用于GPU 12的装置存储器且可存储将由GPU 12操作的数据以及从由GPU 12执行的操作产生的数据。举例来说,系统存储器10可存储纹理缓冲器、深度缓冲器、模板缓冲器、顶点缓冲器、帧缓冲器等的任何组合。另外,系统存储器10可存储用于由GPU 12处理的命令流。系统存储器10可包含一或多个易失性或非易失性存储器或存储装置,例如随机存取存储器(random access memory;RAM)、静态RAM(static RAM;SRAM)、动态RAM(dynamic RAM;DRAM)、只读存储器(read-only memory;ROM)、可擦除可编程ROM(erasable programmable ROM;EPROM)、电可擦除可编程ROM(electrically erasable programmable ROM;EEPROM)、闪存存储器、磁性数据媒体或光学存储媒体。
GPU 12可经配置以执行图形操作以将一或多个图形图元渲染到显示器18。因此,当在CPU 6上执行的软件应用程序中的一个需要图形处理时,CPU 6可将图形命令和图形数据提供到GPU 12以用于再现到显示器18。图形命令可包含例如如绘制调用等绘制命令、GPU状态编程命令、存储器传送命令、通用计算命令、内核执行命令等。在一些实例中,CPU 6可通过将命令和图形数据写入到可由GPU 12存取的存储器10而将命令和图形数据提供到GPU12。在一些实例中,GPU 12可经进一步配置以执行针对在CPU 6上执行的应用程序的通用计算。
在一些情况下,GPU 12可内置有高度并行结构,所述高度并行结构比CPU 6提供对向量运算的更高效处理。举例来说,GPU 12可包含多个处理元件,所述多个处理元件经配置以以并行方式在多个顶点或像素上操作。在一些情况下,GPU 12的高度并行本质可允许GPU12比使用CPU 6将场景直接绘制到显示器18更快地将图形图像(例如,GUI和二维(two-dimensional;2D)和/或三维(three-dimensional;3D)图形场景)绘制到显示器18上。另外,GPU 12的高度并行的本质可允许GPU 12比CPU 6更快地处理某些类型的向量和矩阵运算以用于通用计算应用程序。
在一些例子中,GPU 12可集成到计算装置2的母板中。在其它情况下,GPU 12可存在于安装在计算装置2的母板中的端口中的图形卡上或可另外并入在经配置以与计算装置2交互操作的外围装置内。在进一步情况下,GPU 12可与CPU 6位于同一微芯片上,从而形成芯片上系统(system on a chip;SoC)。GPU 12可包含一或多个处理器,例如一或多个微处理器、专用集成电路(application specific integrated circuit;ASIC)、现场可编程门阵列(field programmable gate array;FPGA)、数字信号处理器(digital signalprocessor;DSP)或其它等效的集成电路或离散逻辑电路。
GPU 12可直接耦合到GPU本地存储器14。因此,GPU 12可从GPU本地存储器14读取数据和将数据写入到所述GPU本地存储器,而不必使用总线20。换句话说,GPU 12可使用本地存储装置而非芯片外存储器来在本地处理数据。这通过消除GPU 12经由总线20读取和写入数据的需要来允许GPU 12以更高效的方式操作,其中经由总线操作可经历繁重的总线业务。然而,在一些情况下,GPU 12可能不包含单独的高速缓冲存储器,而是经由总线20利用系统存储器10。GPU本地存储器14可包含一或多个易失性或非易失性存储器或存储装置,例如随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存存储器、磁性数据媒体或光学存储媒体。
CPU 6和/或GPU 12可在系统存储器10内分配的帧缓冲器中存储经渲染的图像数据。显示器接口16可从所述帧缓冲器检索所述数据并配置显示器18以显示由所述经渲染的图像数据表示的图像。在一些实例中,显示器接口16可包含数/模转换器(digital-to-analog converter;DAC),所述数/模转换器经配置以将从帧缓冲器检索的数字值转换成可由显示器18消耗的模拟信号。在其它实例中,显示器接口16可将数字值直接传递到显示器18以供处理。显示器18可包含监视器、电视、投影装置、液晶显示器(liquid crystaldisplay;LCD)、等离子显示器面板、发光二极管(light emitting diode;LED)阵列、阴极射线管(cathode ray tube;CRT)显示器、电子纸、表面传导电子发射显示器(surface -conduction electron-emitted display;SED)、激光电视显示器、纳米晶体显示器或另一类型的显示单元。显示器18可集成在计算装置2内。举例来说,显示器18可为移动电话手持机或平板计算机的屏幕。或者,显示器18可为经由有线或无线通信链路耦合到计算装置2的独立装置。举例来说,显示器18可为经由缆线或无线链路而连接到个人计算机的计算机监视器或平板显示器。
在一些实例中,GPU 12可能产生图形数据以用于虚拟现实(VR)应用程序。举例来说,CPU 6执行用于VR内容的命令和数据的应用程序,且GPU 12接收命令和数据且产生图形VR内容以供显示。装置2的用户可以将装置2连接到用户所穿戴的头戴式装备。显示器18面对用户的眼睛。VR内容对于游戏应用程序尤其常用,但本公开中描述的技术不限于VR应用程序或游戏应用程序。
图形内容的产生导致GPU 12消耗功率且导致GPU 12发热,这导致包含GPU 12的集成电路发热。对于需要大量处理的应用程序,例如作为非限制性实例的VR应用程序,GPU 12可能相对于所期望的热量水平过热。为了避免GPU 12过热且从而导致容纳GPU 12的集成电路过热,可使用例如热节流的各种技术。
在热节流中,GPU 12可能减小其帧率。举例来说,对于高品质的用户体验,GPU 12可能每秒产生大约60到120图像帧,其中每个图像帧包含应用程序的图像内容的快照。在帧速率为60到120fps(每秒帧数)时,用户可能感知到应用程序中对象的无缝运动,并且可能感觉沉浸在VR世界中。
如同VR应用程序可能需要那样持续地以60到120fps产生图形内容可能潜在地导致GPU 12过热,以及/或消耗相比于平均值更多的功率,减少装置2的操作时长。通过热节流,GPU 12可能以15到30fps产生图形内容,而不是以60到120fps产生图形内容,从而减少需要产生的图形内容的量,导致功率消耗的减少和GPU 12的冷却。
然而,降低帧率或在较低帧率与较高帧率之间振荡可能潜在地导致帧抖动,其中移动的图形内容不表现为流畅地移动。对于VR应用程序,用于降低帧率或者在较低与较高帧率之间振荡的热节流可能导致动晕症,且可能不利地影响沉浸体验。
一种减小功率消耗且从而避免过热的方式是通过视觉聚焦渲染。在视觉聚焦渲染中,相比于以相同分辨率渲染图像帧的全部部分的普通渲染,GPU 12以高分辨率渲染图像帧的某些部分,以较低分辨率渲染图像帧的其它部分。
一般来说,对于视觉聚焦渲染,GPU 12可能对于用户将不注意的区域渲染较少片段(例如,图像像素)。举例来说,通过眼睛跟踪或基于来自所执行应用程序的信息,GPU 12可能将用户实际正在观察的部分或用户可能观察的部分渲染为相对于其它部分具有较高分辨率。
相对于以较低分辨率渲染图形内容,以更高分辨率渲染图形内容往往会导致较高功率消耗和GPU 12的发热。然而,仅以相对低分辨率渲染图形内容导致糟糕的用户体验。因此,通过使图像帧区域具有不同分辨率,可保持观看者体验高,因为具有高分辨率的区域是观看者正在或可能正在观看的区域,且观看者不在观看或可能不在观看的区域处于低分辨率,从而节约功率。
作为实例,如果GPU 12将渲染VR内容,其且整个图像帧以相同基准分辨率渲染,那么GPU 12将消耗大约1100mW。通过视觉聚焦渲染,GPU 12可能消耗大约300mW,表示大约70%的功率减少。
除功率节省以外,因为需要渲染的像素更少,所以GPU 12可能能够提高填充率。更快的填充率允许实现所期望的帧率,而不使得GPU 12发热到大于所期望水平(例如,允许在移动热封套中的高品质VR渲染)。
对于视觉聚焦渲染,在CPU 6上执行的应用程序定义视觉聚焦增益(例如,在哪里应用以及应用多少视觉聚焦)。视觉聚焦增益定义GPU 12待应用的视觉聚焦量(更多的视觉聚焦是指模糊内容,且更少的视觉聚焦是指更锐利的图像内容)。
然而,视觉聚焦增益和部分由应用程序静态地定义。CPU 6上执行的应用程序可能不经配置以确定GPU 12的性能,并且因此可能不能主动地确定GPU 12的性能为应该改变视觉聚焦增益或部分。应用程序可能不能够准确地确定视觉聚焦增益,这是因为视觉聚焦增益取决于内容并且取决于装置2的操作环境的周围条件。应用程序可能能够基于内容设置视觉聚焦增益,但可能不具有关于周围条件的信息来设置视觉聚焦增益。
在本公开中所描述的实例中,处理电路(例如,CPU 6、GPU 12或CPU 6和GPU 12外部的电路)可经配置以确定实际应用多少视觉聚焦GPU 12,来确保GPU 12以正确的性能层级操作。虽然上文是相对于确保GPU 12或包含GPU 12的集成电路的温度不过热而描述,但是实例不受如此限制,且可能更一般化地扩展为将GPU 12的性能保持在所期望水平。举例来说,GPU 12性能的实例包含GPU 12或容纳GPU 12的集成电路的温度、GPU 12的功率消耗、GPU 12的带宽使用量(例如,对存储器10的接入)、GPU核心利用率、GPU核心选择和图形API使用量(例如,是否调节应用多少视觉聚焦将影响功率消耗)。处理电路可能利用这些因素中的一或多个来确定GPU 12的一或多个性能值。在一些实例中,处理电路可能不同地加权这些因素,来确定一或多个性能值。
在本公开中所描述的实例中,处理电路可基于性能值确定待应用的视觉聚焦量(例如,应用多少视觉聚焦,以及在哪里应用视觉聚焦)。举例来说,性能值可能被反馈给性能估计电路,其将性能值与性能阈值比较。如果性能值大于性能阈值,那么性能估计电路可能将指示性能值是否大于性能阈值的信息(例如,以控制信号的形式)输出到视觉聚焦栅极电路,来导致视觉聚焦栅极电路从在CPU 6上执行的应用程序所确定的视觉聚焦增益增加视觉聚焦增益(例如,增加应用的视觉聚焦量)。如果性能值小于或等于性能阈值,那么性能估计电路可能不将任何信息输出到视觉聚焦栅极电路,或将控制信号输出到视觉聚焦栅极电路,以使得视觉聚焦栅极电路对于由应用程序确定的视觉聚焦增益不作出改变,或可能将控制信号或信息输出到视觉聚焦栅极电路来减弱视觉聚焦增益。
以此方式,性能估计电路和视觉聚焦栅极电路共同形成比例积分微分(PID)电路24,其动态地(例如,在运行时间期间)基于例如环境条件(例如,温度)和GPU 12的使用量的各种性能因素,determines GPU 12待应用的视觉聚焦。性能阈值可能等于或小于所期望的GPU 12最大性能水平(例如,功率、温度、GPU核心使用量、带宽使用量等中的一或多个或它们的组合)。PID电路可能持续地监控GPU 12的性能,并且基于所监测的性能放大或不放大视觉聚焦增益。
在一些实例中,CPU 6上执行的应用程序可能不经配置以定义视觉聚焦增益。在此类实例中,PID电路可能确定视觉聚焦增益值,而不是对于视觉聚焦增益值的调节。因此,在本发明中,确定待应用的视觉聚焦量指的是确定应用多少视觉聚焦,以及在待渲染帧的哪里应用视觉聚焦,或确定将由应用程序确定的视觉聚焦调节多少,以及对于在待渲染帧的哪里应用视觉聚焦的调节。
图2是进一步详细说明图1的计算装置2的CPU 6、GPU 12和存储器10的框图。如图2中所示,CPU 6通信耦合到GPU 12和存储器10,且GPU 12通信耦合到CPU 6和存储器10。在一些实例中,GPU 12可与CPU 6集成到母板上。在额外实例中,GPU 12可实施在安装于包含CPU6的母板的端口中的图形卡上。在另外实例中,GPU 12可并入在经配置以与CPU 6交互操作的外围装置内。在额外实例中,GPU 12可与CPU 6位于同一微芯片上,从而形成系统芯片(SoC)。CPU 6经配置以执行应用程序22、图形API 30、GPU驱动器32和操作系统34。
如同样说明的,比例积分微分(PID)电路24包含视觉聚焦栅极(foveation gate;FG)电路26和性能估计(performance estimation;PE)电路28。PID电路24可能实施为固定功能硬件电路、可编程电路或组合。仅为了易于理解,PID电路24被描述为固定功能硬件电路。
在PID电路24形成为其自身的固定功能硬件电路的实例中,PID电路24可能是借助总线20耦合到CPU 6、GPU 12和存储器10的独立电路。然而,在一些实例中,PID电路24可能专门形成为CPU 6中的,或可能为GPU 12中的固定功能电路。在一些实例中,CPU 6、GPU 12和PID电路24可能形成于通用微芯片中或形成为通用集成电路,且在此类实例中,CPU 6、GPU 12和PID电路24可能借助集成总线与彼此通信。
在PID电路24是可编程电路的实例中,作为两个非限制性实例,PID电路24可能形成为CPU 6或GPU 12的部分。在PID电路24是可编程电路的实例中,存储器10可能存储在PID电路24上执行,且导致PID电路执行本公开中所描述的实例的命令。PID电路24执行的命令可能是呈CPU 6的编译器编译的应用程序的形式,或可能是存储在存储器10内的直接对象存储或固件。为易于描述和图示,PID电路24被说明为CPU 6和GPU 12外部的固定功能电路。
PID电路24可经配置以确定GPU 12在渲染图像帧时应用的视觉聚焦量。举例来说,PID电路24可能确定待应用于GPU 12的视觉聚焦量,且输出所确定的待应用视觉聚焦量的信息,来使得GPU 12基于所确定的待应用视觉聚焦量来渲染图像帧。PID电路24可将所确定的待应用视觉聚焦量的信息输出到GPU驱动器32,且GPU驱动器32导致GPU 12应用所确定的视觉聚焦量来渲染图像帧。PID电路24是经配置以根据本公开中所描述的实例技术确定视觉聚焦增益的处理电路的一个实例。
GPU 12包含控制器36、着色器核心38、一或多个固定功能单元40和性能测量电路42。虽然说明为独立组件,但在一些实例中,性能测量电路42可以是控制器36的部分。在本公开所描述的实例中,性能测量电路42可能确定GPU 12或容纳GPU 12的SOC的各种性能因素,例如温度、功率消耗、着色器核心38和/或固定功能单元40等等。PID电路24可使用这一信息确定GPU 12将应用到图像帧的视觉聚焦量。
软件应用程序22可包含使图形内容显示的一或多个指令或使非图形任务(例如,通用计算任务)在GPU 12上执行的一或多个指令中的至少一些。软件应用程序22可将指令发布到图形API 30。图形API 30可为将从软件应用程序22接收的指令转译为可由GPU驱动器32消耗的格式的运行时间服务。在一些实例中,图形API 30和GPU驱动器32可为同一软件服务的部分。
GPU驱动器32经由图形API 30从软件应用程序22接收指令,且控制GPU 12的操作以服务所述指令。举例来说,GPU驱动器32可调配一或多个命令流,将所述命令流放置到存储器10中并指示GPU 12执行命令流。GPU驱动器32可将命令流放置到存储器10中,且经由操作系统34,例如,经由一或多个系统调用,与GPU 12通信。
控制器36经配置以检索存储在命令流中的命令,且分派所述命令以用于在着色器核心38和一或多个固定功能单元40上执行。控制器36可从命令流分派命令以用于在一或多个固定功能单元40,或着色器核心38和一或多个固定功能单元40的子集上执行。控制器36可为GPU 12的硬件,可为在GPU 12上执行的软件或固件,或两者的组合。
着色器核心38包含可编程电路(例如,软件在上面执行的处理核心)。一个或多个固定功能单元40包含固定功能电路,所述固定功能电路经配置以以最小功能灵活性执行有限操作。着色器核心38和一个或多个固定功能单元40一起形成经配置以执行图形处理的图形管线。
着色器核心38可经配置以执行从CPU 6下载到GPU 12上的一或多个着色器程序。在一些实例中,着色器程序可为用高级着色语言(例如,OpenGL着色语言(OpenGL ShadingLanguage;GLSL)、高级着色语言(High Level Shading Language;HLSL)、用于图形的C(Cfor Graphics;Cg)着色语言等)编写的程序的经编译版本。在一些实例中,着色器核心38可包含经配置以平行操作的多个处理单元(例如,SIMD管线)。着色器核心38可具有存储着色器程序指令的程序存储器和执行状态寄存器,(例如,程序计数器寄存器),其指示程序存储器中正执行的当前指令或待提取的下一指令。在着色器核心38上执行的着色器程序的实例包含例如顶点着色器、像素着色器(也被称为片段着色器)、几何着色器、壳着色器、域着色器、计算着色器和/或统一着色器。
固定功能单元40可包含经硬连线以执行某些功能的硬件。尽管固定功能硬件可经由例如一或多个控制信号经配置以执行不同功能,但所述固定功能硬件通常不包含能够接收用户编译程序的程序存储器。在一些实例中,一或多个固定功能单元40包含(例如)执行光栅操作(例如深度测试、剪刀测试、α混合等)的处理单元。
CPU 6的GPU驱动器32可经配置以将命令流写入存储器10,且GPU 12的控制器36可经配置以从存储器10读取命令流中的一或多个命令。在一些实例中,可将命令流中的一或两个存储为存储器10中的环形缓冲器。环形缓冲器可为具有循环寻址方案的缓冲器,其中CPU 6及GPU 12维持与将数据写入到环形缓冲器及从环形缓冲器读取数据相关联的同步状态变量。举例来说,如果第一命令流是环形缓冲器,那么CPU 6及GPU 12中的每一者可存储指示待写入到环形缓冲器中的下一地址的写入指针及指示待从环形缓冲器中读取的下一地址的读取指针。
当CPU 6将新命令写入至环形缓冲区时,CPU 6可更新CPU 6中之写入指针且指导GPU 12更新GPU 12中之写入指针。类似地,当GPU 12从环形缓冲区读取新命令时,GPU 12可更新GPU 12中的读取指针且指导CPU 6更新CPU 6中的读取指针。其它同步机制是可能的。在读取和/或写入指针达到针对环形缓冲区所分配的地址范围内的最高地址时,读取和/或写入指针可环绕到最低地址以实施圆形寻址方案。
现相对于图2描述实例操作实例GPU驱动器32和实例GPU控制器36。GPU驱动器32从软件应用程序22接收指定待由GPU 12执行的图形操作和/或通用计算操作的一或多个指令。GPU驱动器32将输出命令流放置到可由GPU控制器36存取的存储器10中。GPU驱动器32通知GPU控制器36对应于软件应用程序22的命令流可用于处理。举例来说,GPU驱动器32可将指示命令流准备好执行的一或多个值写入到GPU寄存器(例如,由GPU 12轮询的GPU硬件寄存器及/或由GPU 12轮询的GPU存储器映射的寄存器)。
在通知命令流准备好执行之后,GPU 12的控制器36可确定资源在GPU 12上当前是否可用以开始执行命令流。如果资源可用,那么控制器36开始分派命令流中的命令。
作为图形处理的部分,CPU 6可将某些图形处理任务分担到GPU 12。举例来说,应用程序22可生成互连以形成图形对象的图元的多个顶点的属性的属性数据。应用程序22可将属性数据存储在存储器10中的顶点缓冲器中。图形驱动器32可指示控制器36检索顶点的属性的属性数据以用于处理以生成图形数据以供显示。
在本公开中所描述的实例中,应用程序22产生GPU驱动器32待发射到GPU 12的视觉聚焦信息。视觉聚焦信息定义GPU 12待应用的视觉聚焦量(例如,应用多少视觉聚焦,以及在哪里应用视觉聚焦)。同样,视觉聚焦定义区域表现为有多模糊。
作为实例,应用程序22可将每一个顶点的视觉聚焦信息定义为存储在顶点缓冲器中的属性数据的一部分。在本实例中,对于位于用户待观看的部分中的图元的顶点,应应用程序22可将那些区域定义为具有较低到没有视觉聚焦,且将用户不应该观看的其它部分定义为具有较高视觉聚焦。对于不同区域可能存在不同视觉聚焦水平(例如,第一部分不具有视觉聚焦、第二部分具有中间视觉聚焦,且第三部分具有高视觉聚焦)。以此方式,应用程序22可能定义视觉聚焦量。
在本公开中描述的技术中,PID电路24可截取指示待应用的视觉聚焦量的信息,且可调节实际应用的视觉聚焦量,而不是GPU驱动器32将待应用的视觉聚焦量输出到GPU 12。举例来说,PID电路24可基于性能测量电路42产生的信息,更新实际应用的视觉聚焦量。
仅作为出于说明目的的实例,PID电路24可从GPU驱动器32或甚至可能从应用程序22接收指示待应用的视觉聚焦量的信息。PID电路24可基于由性能测量电路42产生的信息来更新实际应用的视觉聚焦量,且将所确定的待应用的视觉聚焦量的信息输出到GPU驱动器32。GPU驱动器32随后将所确定的待应用的视觉聚焦量的信息输出到GPU 12,使得GPU 12基于所确定的待应用视觉聚焦量渲染图像帧。
仅作为出于说明目的的另一实例,PID电路可从GPU驱动器32或甚至可能从应用程序22接收指示待应用的视觉聚焦量的信息。PID电路24可基于性能测量电路42产生的信息,更新实际应用的视觉聚焦量。在本实例中,PID电路24可能在不使用GPU驱动器32的情况下将所确定的待应用视觉聚焦量的信息输出到GPU 12。
性能测量电路42可经配置以确定GPU 12或SoC的各种实例性能指标,且将所得的指标值作为一或多个性能值44存储在存储器10内。性能测量电路42可确定的一个实例性能指标(或因素)是GPU 12的功率。性能测量电路42可持续或定期地测量由GPU 12消耗的电压和电流,且将两个数值相乘以确定GPU 12的功率消耗。性能测量电路42可将功率消耗值存储为性能值44之一。
性能测量电路42可确定的另一实例性能指标或因素是GPU 12的带宽使用量。每当控制器36经由总线20从存储器10接收数据或将数据输出到所述存储器时,控制器36可将指示GPU 12向存储器10发射了或从所述存储器接收了多少数据的信息输出到性能测量电路42。性能测量电路42可划分跨越特定时间段发射或接收的数据量,以确定GPU 12的带宽使用量。性能测量电路42可将带宽使用量值存储为性能值44之一。
性能测量电路42可确定的另一实例性能指标或因素是GPU核心使用量。在着色器核心38或固定功能单元40执行操作的每一个时钟周期,着色器核心38或固定功能单元40可输出指示它们执行操作的数字高。性能测量电路42可包含或栅极,其在时钟周期期间从着色器核心38或固定功能单元40接收这些指示操作是否执行的信号。如果着色器核心38或固定功能单元40中的至少一个执行操作,那么或栅极的输出是数字一,且如果着色器核心38或固定功能单元40都未执行操作,那么或栅极的输出是数字零。性能测量电路42可将跨越特定数量的时钟循环,或栅极的输出是数字一的次数,确定为GPU核心使用量的指示。性能测量电路42可将所得GPU核心使用量值存储为性能值44之一。
在一些实例中,虽然未示出,但GPU 12或SoC可包含温度传感器,例如热敏电阻,其阻抗作为温度的函数而改变。性能测量电路42可确定热敏电阻的阻抗,且将所述阻抗与映射电阻值对应温度值的表相比较。性能测量电路42可将温度值存储为性能值44之一。
在一些实例中,控制器36可向性能测量电路42指示所使用的图形API,且性能测量电路42可基于图形API确定性能值。性能测量电路42可将从图形API使用量确定的性能值存储为性能值44之一。
性能测量电路42可能利用API使用量信息,确定调节视觉聚焦增益是否影响功率消耗。举例来说,CPU 6可接入利用各种API的GPU 12。作为一个实例,图形API 30可向GPU12提供符合OpenGL API的指令以用于一些操作,并且向GPU 12提供符合OpenCL API的指令以用于一些其它指令(例如,非图形相关处理)。基于OpenCL API指令操作的GPU 12可能不导致任何图形处理,但可能导致功率消耗增加。在这样的情况下,如果GPU 12主要通过使用OpenCL API操作,那么调节视觉聚焦增益可能不实际将功率消耗改变为可测量的量。
举例来说,GPU 12可能负责各种操作,包含不直接关于渲染图形数据的一些操作。在这样的情况下,GPU 12的温度和功率消耗可能增加,但因为功率消耗增加的原因与图形渲染不相关,所以对于视觉聚焦增益的任何调节可能不导致功率消耗减少。
性能测量电路42可跟踪GPU 12在执行关于图形处理的指令和执行关于非图形处理的指令时,执行多少处理。性能测量电路42可将这一信息提供到PE电路28。PE电路28可利用所述信息确定是否调节视觉聚焦增益。
作为实例,假设用户正在玩增强现实视频游戏。渲染可能是简单的;然而,摄像头可能持续地工作。在此情况下,CPU 6可能通过非图形相关API(例如,OpenCL)使用GPU计算(例如,非图形相关指令)。由于大部分功耗是来自不受OpenCL影响的GPU计算,因此对于视觉聚焦增益可能不存在改变,因为视觉聚焦增益的任何调节可能都不改变功率消耗。
如果PE电路28确定温度和功率消耗增加,但确定GPU 12主要执行非图形相关指令,那么PE电路28可能确定不应该对视觉聚焦增益作出改变,因为调节视觉聚焦增益可能不减小功率消耗。以此方式,PE电路28可能将API使用量信息本身用作确定是否调节视觉聚焦的因素,或可能结合其它因素使用API使用量信息来确定是否调节视觉聚焦。
PID电路24的PE电路28可从系统存储器10检索一或多个性能值44,且将所述一或多个性能值44与相应的性能阈值45比较(例如,将功率使用量与阈值功率使用量比较、将带宽使用量与阈值带宽使用量比较,以此类推)。如果PE电路28确定特定数量的性能值大于其相应的性能阈值45,那么PE电路28可指示(例如,基于PE电路28输出或经由控制信号的信息)FG电路26增加应用的视觉聚焦量。
如上文所述,在一些实例中,PID电路24从GPU驱动器32截取指示待应用的视觉聚焦量的输出。FG电路26可从由应用程序22确定的量增加待应用的视觉聚焦量。GPU驱动器32可随后将更新后的视觉聚焦增益值(例如,指示待应用的视觉聚焦量的信息)输出到系统存储器10。举例来说,如上文所述,GPU驱动器32可在存储器10内存储命令流。另外,GPU驱动器32可在存储器10内存储视觉聚焦增益(例如,待应用的视觉聚焦量)。如所说明,GPU驱动器32可在存储器10内将渲染的命令和视觉聚焦增益存储为渲染命令/视觉聚焦增益46。
GPU驱动器32和/或操作系统34可定义性能阈值,且在存储器10内将它们存储为性能阈值45。GPU驱动器32和/或操作系统34可能被预编程有指示每个性能指标或因素的最大水平的信息。GPU驱动器32和/或操作系统34可将相应的性能阈值设定为等于或小于每个性能指标或因素的最大水平,且在存储器10内将所述性能阈值存储为性能阈值45。
在某些情况下,由GPU 12确定的性能值44可能在短时间段内波动。这一波动可能导致性能值44在大于和小于性能阈值45之间振荡。由于性能值44小于或大于性能阈值45将确定视觉聚焦增益,因此性能值44小于并且随后大于性能阈值45的振荡可能持续地改变视觉聚焦增益。这种视觉聚焦增益的持续增加和减弱可能不利地影响用户体验。
在一些实例中,PE电路28可确定性能值44的运行平均值(或一些其它类型的平均值)来最大限度地减少视觉聚焦增益的持续增加和减小。在此类实例中,PE电路28可能将某一时间段内的平均化的性能值44与相应的性能阈值45比较,以确定是否导致FG栅极电路26增加所应用的视觉聚焦量。
在上述实例中,PE电路28被描述为将相应的性能值44与相应的性能阈值45比较。因此,PE电路28可能将性能值44之一与性能阈值45之一进行比较。在一些实例中,PE电路28可将性能值45中的一或多个组合为复合性能值。在此类实例中,PE电路28可将复合性能值与复合性能阈值比较。复合性能阈值可能是性能阈值45的另一实例,且可能替代或补充其它性能阈值45存储,且/或GPU驱动器32或操作系统34可在操作期间从性能阈值45确定复合性能阈值。
虽然性能测量电路42可确定多个性能值44,但每一个性能值44可能不相等地影响是否增加视觉聚焦增益的确定。举例来说,在控制视觉聚焦增益时,温度可能比带宽使用量更重要。PE电路28可经配置以不同地加权性能值,且将加权值组合在一起来确定复合的经加权性能值。举例来说,PE电路28可能将来自温度的性能值乘以第一比率(例如,0.9),且将带宽使用量性能值乘以第二比率(例如,0.1)。PE电路28可将两个经加权性能值相加,并且将所得值除以二。在本实例中,来自温度的性能值相比于带宽使用量,对于复合的经加权性能值的影响大得多。对温度和带宽加权、使用的比率和执行加权的方式都是作为实例提供的,且不应被视为具限制性。
在此类实例中,PE电路28可能将复合的经加权性能值与复合的经加权性能阈值进行比较。复合经加权性能阈值可能是性能阈值45的另一实例,且可能替代或补充其它性能阈值45存储,且/或GPU驱动器32或操作系统34可在操作期间从性能阈值45确定复合经加权性能阈值。
在上述实例中,PID电路24被描述为如应用程序22定义的那样调节待应用的视觉聚焦量。对于应用程序22不定义待应用视觉聚焦量的情况,PE电路28可能仍将性能值44与性能阈值45(实际值、复合值或经加权复合值)比较。FG电路26可基于比较,确定待应用的视觉聚焦量。举例来说,FG电路26可定义图像的中心不应该具有视觉聚焦,且定义从中心朝外的应该应用视觉聚焦的部分。
为了避免混淆,GPU性能值是用以指代实际性能值44、性能值44的平均值、性能值44的复合,或复合的经加权性能值44的通用术语。GPU性能阈值是用以指代实际性能阈值45、性能阈值45的平均值、性能阈值45的复合,或复合的经加权性能阈值45的通用术语。
在上述实例中,性能测量电路42、PE电路28和FG电路26形成反馈电路。在调节或设定视觉聚焦增益时,FG电路26可能每次以一个设定量增加视觉聚焦增益,且重复增加所应用的视觉聚焦量,直到GPU性能值小于或等于GPU性能阈值为止。作为另一实例,FG电路26可能大幅度增加视觉聚焦增益,且随后缓慢降低视觉聚焦增益,直到GPU性能值大约等于GPU性能阈值为止。
在一些实例中,CPU 6的本地存储器可能存储查找表,其提供对于GPU性能值与GPU性能阈值之间的各种差值,视觉聚焦增益应该是什么的一些近似。FG电路26可基于查找表,确定待应用的视觉聚焦增益量。
一旦FG电路26确定GPU 12待应用的视觉聚焦量,GPU驱动器32就可以将信息存储为渲染命令/视觉聚焦增益46。GPU驱动器32可能导致GPU 12基于所确定的待应用视觉聚焦量渲染图像。控制器36可能从渲染命令/视觉聚焦增益46检索视觉聚焦增益信息,且导致GPU 12应用合适的视觉聚焦水平。结果是GPU 12在帧缓冲器48内存储的经渲染图像帧。
可能存在GPU 12执行视觉聚焦的各种方式。作为一个实例,视觉聚焦增益信息可能指示应用多少视觉聚焦和将视觉聚焦应用到图像帧的哪些部分。作为一个实例,每个顶点信息可包含视觉聚焦增益。控制器36可基于视觉聚焦增益信息,确定顶点着色器在着色器核心38上执行的哪些投影矩阵应与顶点坐标数据相乘。投影矩阵将定义由顶点形成的图元将涵盖多少面积,且可将图元内的分辨率(例如,像素数目)设定为小于需要更高分辨率(例如,较少视觉聚焦)的其它图元的分辨率。当GPU 12渲染图元时,图元中的像素数目可能小于其它区域的像素数目。由于图元中的像素数目小于其它区域的像素数目,因此相比于其它区域,控制器36可执行更少的片段着色器实例化。
作为视觉聚焦的另一实例,控制器36可导致着色器核心38和固定功能单元40以相同的“较低”分辨率产生整个图像。控制器36可随后导致着色器核心38和固定功能单元40以高质量过滤图像帧的某些部分进行上采样。其它实例包含可变速率着色(variable rateshading;VRS)。
应理解,上文提供各种非限制性实例。一般来说,性能测量电路42可能确定除上述以外或代替上述性能值的性能值。PE电路28可确定GPU性能值,且使用上文所述的任一种技术或其它技术来执行GPU性能值与GPU性能阈值之间的比较。FG电路26可使用上文所述的技术或其它技术中的一种或任何组合,来增加或可能减弱待应用的视觉聚焦量。控制器36可导致GPU 12使用上文所述的任一种实例技术来执行视觉聚焦。
因此,PE电路28可接收指示GPU 12的性能的信息。FG电路26可基于接收到的信息,确定待应用的视觉聚焦量。举例来说,PE电路28可基于功率消耗、带宽使用量、GPU核心使用量和温度中的一或多个来确定GPU性能值,且将GPU性能值与GPU性能阈值进行比较。FG电路26可基于比较确定GPU 12将应用到图像帧的视觉聚焦量。作为实例,PE电路28可能确定GPU性能值大于GPU性能阈值。FG电路26可能反复地增加GPU 12所应用的视觉聚焦量,直到GPU性能值小于或等于GPU性能阈值为止。
以此方式,FG电路26和PE电路28可以持续地确定是否增加视觉聚焦。举例来说,FG电路26和PE电路28可确定是否在GPU 12渲染图像期间增加视觉聚焦。
在一些实例中,PE电路28可确定经加权复合性能值。举例来说,PE电路28可接收指示GPU 12的性能的第一值(例如,温度)和指示GPU 12的性能的第二值(例如,带宽使用量)。PE电路28可能以第一加权因子加权第一值来产生第一经加权因素(例如,将第一值乘以第一比率),且以第二不同加权因子加权第二值来产生第二经加权因素(例如,将第二值乘以第二比率)。FG电路26可至少部分地基于第一经加权因素和第二经加权因素来确定待应用的视觉聚焦量。举例来说,PE电路28可使用第一和第二经加权因素来确定GPU性能值(例如,第一和第二经加权因素的平均值),且基于GPU性能值与GPU性能阈值的比较,FG电路26可能确定待应用的视觉聚焦量。
举例来说,PE电路28可能将指示GPU性能值是否大于GPU性能阈值的信息输出到FG电路26,且作为响应,FG电路26可确定GPU 12待应用的视觉聚焦量。作为另一实例,PE电路28可将指示GPU性能值与GPU性能阈值之间的差值的信息输出到FG电路26,且作为响应,FG电路26可能确定GPU 12待应用的视觉聚焦量(例如,经由映射GPU性能值与GPU性能阈值的差值的查找表与待应用的视觉聚焦量)。
GPU驱动器32可能导致GPU 12基于所确定的待应用视觉聚焦量渲染图像。举例来说,GPU驱动器32可在存储器10内存储指示待应用的视觉聚焦量的信息。由于待应用的视觉聚焦量被持续地确定,因此在一些实例中,GPU驱动器32可在渲染图像期间更新GPU 12将应用的视觉聚焦量。
图3是说明根据本公开中所描述的一或多个实例技术的实例处理流程的概念图。应用程序22在CPU 6上执行且产生渲染命令和视觉聚焦增益(例如,GPU 12将应用的视觉聚焦量)。GPU驱动器32在存储器10内将渲染命令存储为渲染命令/视觉聚焦增益46的一部分。然而,GPU驱动器(GPU driver;GD)32和/或操作系统(operating system;OS)34并不立刻将视觉聚焦增益存储到存储器10。相反地,FG电路26接收视觉聚焦增益值且调节视觉聚焦增益。GPU驱动器32在存储器10内将所得的经调节或经更新视觉聚焦增益值存储为渲染命令/视觉聚焦增益46的一部分。
当GPU 12渲染图像帧时,GPU 12的性能测量电路42产生性能测量电路42存储在存储器10内的多个性能值44。PE电路28接收指示GPU 12的性能的信息(例如,接收性能值44)。PE电路28可基于性能值44确定GPU性能值,且将GPU性能值与GPU性能阈值进行比较。FG电路26可基于所述比较,确定待应用的视觉聚焦量。
举例来说,PE电路28可能确定GPU性能值大于GPU性能阈值。FG电路26可基于视觉聚焦增益和PE电路28的输出,反复地增加所应用的视觉聚焦量,直到GPU性能值小于或等于GPU性能阈值为止(例如,PE电路28的输出可能是指示性能值与性能阈值的差值的信息、指示FG电路26应增加或减弱视觉聚焦增益的控制信号等)。FG电路26可能通过在渲染图像期间更新GPU 12待应用的视觉聚焦量,来确定GPU 12待应用的视觉聚焦量。如上所述,GPU 12可通过以减少的分辨率渲染,并且上采样某些部分,或基于投影矩阵改变待渲染的图元大小,来应用视觉聚焦。
在所说明的实例中,FG电路26可接收指示待应用的视觉聚焦量的信息。举例来说,应用程序22可能已经确定了待应用的视觉聚焦量。FG电路26可通过调节待应用的视觉聚焦量来确定待应用的视觉聚焦量。在应用程序22不提供待应用的视觉聚焦量的实例中,FG电路26可能仍确定待应用的视觉聚焦量。举例来说,在本实例中,应用程序22可能被视为确定待应用的视觉聚焦量是零,且FG电路26可将非零值确定为待应用的视觉聚焦量。
以此方式,FG电路26、性能测量电路42和PE电路28形成比例积分微分(PID)循环50。PID循环50是持续地或定期(例如,一帧一次或每N帧一次)确定是否需要改变视觉聚焦量的反馈回路。如果改变待应用的视觉聚焦量,GPU 12可以能够以足够快速的速率渲染图形内容,来以最低的对用户体验负面影响实现所期望的帧率。举例来说,被视觉聚焦的部分不是用户可能观看的部分,并且因此在那些部分中高保真度不是必需的,但过多模糊可能影响用户体验。通过动态地控制所应用的视觉聚焦量,可减少关于以热节流呈现VR内容的问题。
GPU驱动器32可能导致GPU 12基于所确定的待应用视觉聚焦量渲染图像。结果是GPU 12在帧缓冲器48内存储的经渲染图像。显示器18可显示存储在帧缓冲器48中的内容。
图4是说明处理数据的实例方法的流程图。本实例可适用于虚拟现实(VR)应用程序的图像渲染。然而,技术不限于对于VR应用程序的图像渲染,且通常可适用于图形处理。
如所说明,在CPU 6上执行应用程序22(52),例如,以产生VR内容。执行的结果是应用程序22产生命令流(54)和产生指示待应用的视觉聚焦量的信息(56)。
在本公开中描述的技术中,FG电路26可基于GPU 12的性能,调节待应用的视觉聚焦量(58)。举例来说,PE电路28可接收由性能测量电路42确定的一或多个性能值44。性能值44可能指示GPU 12的性能。性能值44的实例包含温度、功率消耗、带宽使用量、GPU核心利用率,以及选择和图形API使用量。
FG电路26可基于接收到的信息,确定待应用的视觉聚焦量。举例来说,PE电路28可基于性能值44确定GPU性能值。在确定GPU性能值时,PE电路28可能对于不同性能值44应用不同加权(例如,以第一加权因子加权指示GPU 12的性能的第一值来产生第一经加权因素,且以第二不同加权因子加权指示GPU 12的性能的第二值来产生第二经加权因素)。FG电路26可至少部分地基于第一经加权因素和第二经加权因素来确定待应用的视觉聚焦量。
举例来说,PE电路28可基于性能值的不同加权确定复合性能值(例如,基于不同加权的加权平均值)且将复合性能值与阈值进行比较。如果复合性能值大于阈值,那么PE电路28将指示差值或控制信号的信息(例如,指示视觉聚焦增益有待调节的信息)输出到FG电路26,且FG电路26确定待应用的视觉聚焦。以此方式,FG电路26至少部分地基于第一经加权因素和第二经加权因素来确定待应用的视觉聚焦量。
FG电路26可能反复地增加所应用的视觉聚焦量,直到GPU性能值小于或等于GPU性能阈值为止。因此,FG电路26可在图像渲染期间确定所应用的视觉聚焦量,以使得GPU可在渲染图像期间应用视觉聚焦的已更新的量。
FG电路26可输出关于所确定的待应用于GPU 12的视觉聚焦量的信息,来基于所确定的待应用视觉聚焦量渲染图像(60)。FG电路26可将关于所确定的视觉聚焦量的信息输出到图形驱动器32,且图形驱动器32可能导致GPU 12基于视觉聚焦量渲染图像。举例来说,图形驱动器32可能输出指示控制器36将从存储器10检索渲染/视觉聚焦增益46的位置的信息。GPU 12可随后基于渲染命令/视觉聚焦增益46渲染图像,其中FG电路26根据从应用程序22接收的值调节视觉聚焦增益。图形驱动器32可能导致GPU 12在图像渲染期间更新待应用的视觉聚焦量,这是因为PE电路28可能持续地监测GPU 12的性能,且在需要时导致FG电路26甚至在图像帧的渲染期间调节视觉聚焦增益。
GPU 12可能利用各种技术,例如顶点信息与不同投影矩阵的选择性相乘,或以低分辨率渲染图像且上采样视觉聚焦增益最低的那些部分。GPU 12可在由应用程序22定义的特定部分应用视觉聚焦,或在应用程序22不定义部分时在图像帧中心应用视觉聚焦。通过调节待应用的GPU 12的视觉聚焦量,实例技术可控制由GPU 12消耗的功率量,且可将GPU12的温度控制为对观看者体验影响最低。通过将GPU 12的功率和温度(以及其它参数,例如带宽等)小于最大操作点,实例技术可以允许GPU 12产生VR内容而不伴随过多的帧丢失或其它影响观看者体验的改变。
本公开中所描述的技术可至少部分实施于硬件、软件、固件或其任何组合中。例如,所描述技术的各种方面可在一或多个处理器中实现,包含一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA),或任何其它等效集成或离散逻辑电路,以及此等组件的任何组合。术语“处理器”或“处理电路”可一般指代前述逻辑电路中的任一者(单独或结合其他逻辑电路)或例如执行处理的离散硬件的任何其它等效电路。
此类硬件、软件和固件可实施于同一装置内或单独装置内以支持本公开中所描述的各种操作和功能。另外,所描述单元、模块或组件中的任一者可一起或单独作为离散但可互操作逻辑装置而实施。将不同特征描述为模块或单元意图强调不同功能方面且未必暗示此等模块或单元必须由单独硬件或软件组件实现。相反地,与一或多个模块或单元相关联的功能性可由单独硬件、固件和/或软件组件执行,或整合在共用或单独硬件或软件组件内。
本公开中所描述的技术也可存储、实施或编码于计算机可读媒体,例如存储指令的计算机可读存储媒体中。嵌入或编码于计算机可读媒体中的指令可导致一或多个处理器执行本文中所描述的技术,例如当由一或多个处理器执行指令时。计算机可读存储媒体可包含随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘、CD-ROM、软盘、卡盒、磁性媒体、光学媒体或其他有形计算机可读存储媒体。
已描述各种方面和实例。然而,可在不脱离以下权利要求的范围的情况下对本发明的结构或技术作出修改。

Claims (22)

1.一种处理数据的方法,所述方法包括:
接收指示图形处理单元GPU的性能的信息;
基于接收到的信息,在图像的渲染期间,确定待应用的视觉聚焦量;
输出所确定的待应用的视觉聚焦量的信息,以使所述GPU基于所述所确定的待应用的视觉聚焦量渲染所述图像;以及
通过在所述图像的所述渲染期间,更新待应用的所述视觉聚焦量,导致所述GPU基于所确定的待应用的视觉聚焦量渲染所述图像。
2.根据权利要求1所述的方法,其进一步包括:接收指示待应用的视觉聚焦量的信息,
其中确定待应用的所述视觉聚焦量包括调节待应用的所述视觉聚焦量。
3.根据权利要求1所述的方法,
其中接收指示所述GPU的所述性能的信息包括接收指示功率消耗、带宽使用量、
GPU核心利用率和温度中的一或多个的信息,所述方法进一步包括:
基于所述功率消耗、所述带宽使用量、所述GPU核心利用率以及所述温度中的一或多个,确定GPU性能值;以及
将所述GPU性能值与GPU性能阈值比较,
其中确定待应用的所述视觉聚焦量包括基于所述比较,确定待应用的所述视觉聚焦量。
4.根据权利要求3所述的方法,其中基于所述比较确定待应用的所述视觉聚焦量包括反复地增加被应用的视觉聚焦量,直到所述GPU性能值小于或等于所述GPU性能阈值为止。
5.根据权利要求1所述的方法,
其中接收指示所述GPU的所述性能的信息包括接收指示所述GPU的所述性能的第一值,以及指示所述GPU的所述性能的第二值,
所述方法进一步包括:
通过第一加权因子加权所述第一值,来产生第一经加权因子;
通过第二不同加权因子加权所述第二值,来产生第二经加权因子;并且
其中确定待应用的所述视觉聚焦量包括至少部分地基于所述第一经加权因子和所述第二经加权因子,确定待应用的所述视觉聚焦量。
6.根据权利要求1所述的方法,
其中接收指示所述GPU的所述性能的信息包括接收温度、功率消耗、带宽使用量、GPU核心利用率,以及选择和图形应用程序编程接口API使用量中的一或多个,并且
其中确定待应用的所述视觉聚焦量包括基于所述温度、所述功率消耗、所述带宽使用量、所述GPU核心利用率,以及所述选择和图形API使用量中的一或多个,确定待应用的所述视觉聚焦量。
7.根据权利要求1所述的方法,其中所述图像是用于虚拟现实VR应用程序。
8.一种用于处理数据的装置,所述装置包括:
图形处理单元GPU;
性能估计电路,其经配置以接收指示所述GPU的性能的信息;以及视觉聚焦栅极电路,其经配置以:
基于接收到的信息,在图像的渲染期间,确定待应用的视觉聚焦量;
输出所确定的待应用的视觉聚焦量的信息,以使所述GPU基于所述所确定的待应用的视觉聚焦量渲染所述图像;以及
通过在所述图像的所述渲染期间,更新待应用的所述视觉聚焦量,导致所述GPU基于所确定的待应用的视觉聚焦量渲染所述图像。
9.根据权利要求8所述的装置,其中所述视觉聚焦栅极电路经配置以接收指示待应用的视觉聚焦量的信息,且其中为了确定待应用的所述视觉聚焦量,所述视觉聚焦电路经配置以调节待应用的所述视觉聚焦量。
10.根据权利要求8所述的装置,
其中,为了接收指示所述GPU的所述性能的信息,所述性能估计电路经配置以接收指示功率消耗、带宽使用量、GPU核心利用率以及温度中的一或多个的信息,
其中所述性能估计电路经配置以:
基于所述功率消耗、所述带宽使用量、所述GPU核心利用率以及所述温度中的一或多个,确定GPU性能值;以及
将所述GPU性能值与GPU性能阈值比较,以及
其中,为了确定待应用的所述视觉聚焦量,所述视觉聚焦栅极电路经配置以基于所述比较确定待应用的所述视觉聚焦量。
11.根据权利要求10所述的装置,其中为了基于所述比较确定待应用的所述视觉聚焦量,所述视觉聚焦栅极电路经配置以反复地增加被应用的视觉聚焦量,直到所述GPU性能值小于或等于所述GPU性能阈值为止。
12.根据权利要求8所述的装置,
其中,为了接收指示所述GPU的所述性能的信息,所述性能估计电路经配置以接收指示所述GPU的所述性能的第一值,以及指示所述GPU的所述性能的第二值,
其中所述性能估计电路经配置以:
通过第一加权因子加权所述第一值,来产生第一经加权因子,并且
通过第二不同加权因子加权所述第二值,来产生第二经加权因子;并且
其中,为了确定待应用的所述视觉聚焦量,所述视觉聚焦栅极电路经配置以至少部分地基于所述第一经加权因子和所述第二经加权因子,确定待应用的所述视觉聚焦量。
13.根据权利要求8所述的装置,
其中,为了接收指示所述GPU的所述性能的信息,所述性能估计电路经配置以接收温度、功率消耗、带宽使用量、GPU核心利用率,以及选择和图形应用程序编程接口API使用量中的一或多个,并且
其中,为了确定待应用的所述视觉聚焦量,所述视觉聚焦栅极电路经配置以基于所述温度、所述功率消耗、所述带宽使用量、所述GPU核心利用率,以及所述选择和图形API使用量中的一或多个,确定待应用的所述视觉聚焦量。
14.根据权利要求8所述的装置,其中所述图像是用于虚拟现实VR应用程序。
15.一种用于处理数据的装置,所述装置包括:
用于接收指示图形处理单元GPU的性能的信息的装置;
用于基于接收到的信息在图像的渲染期间确定待应用的视觉聚焦量的装置;
用于输出所确定的待应用的视觉聚焦量的信息以使所述GPU基于所述所确定的待应用的视觉聚焦量渲染所述图像的装置;以及
用于通过在所述图像的所述渲染期间,更新待应用的所述视觉聚焦量,导致所述GPU基于所确定的待应用的视觉聚焦量渲染所述图像的装置。
16.根据权利要求15所述的装置,其进一步包括:
用于接收指示待应用的视觉聚焦量的信息的装置,
其中所述用于确定待应用的所述视觉聚焦量的装置包括用于调节待应用的所述视觉聚焦量的装置。
17.根据权利要求15所述的装置,
其中所述用于接收指示所述GPU的所述性能的信息的装置包括接收指示功率消耗、带宽用法、GPU核心利用和温度中的一或多个的信息,
所述装置进一步包括:
用于基于所述功率消耗、所述带宽使用量、所述GPU核心利用率以及所述温度中的一或多个确定GPU性能值的装置;以及
用于将所述GPU性能值与GPU性能阈值比较的装置,
其中所述用于确定待应用的所述视觉聚焦量的装置包括用于基于所述比较确定待应用的所述视觉聚焦量的装置。
18.根据权利要求17所述的装置,其中所述用于基于所述比较确定待应用的所述视觉聚焦量的装置包括用于反复地增加被应用的视觉聚焦量,直到所述GPU性能值小于或等于所述GPU性能阈值为止的装置。
19.一种计算机可读存储媒体,其包括在被执行时导致用于处理数据的装置的一或多个处理器执行以下操作的指令:
接收指示图形处理单元GPU的性能的信息;
基于接收到的信息,在图像的渲染期间确定待应用的视觉聚焦量;
将所确定的待应用的视觉聚焦量的信息输出到所述GPU,以使所述GPU基于所述所确定的待应用的视觉聚焦量渲染所述图像;以及
通过在所述图像的所述渲染期间,更新待应用的所述视觉聚焦量,导致所述GPU基于所确定的待应用的视觉聚焦量渲染所述图像。
20.根据权利要求19所述的计算机可读存储媒体,其进一步包括导致所述一或多个处理器进行以下操作的指令:
接收指示待应用的视觉聚焦量的信息,
其中所述导致所述一或多个处理器确定待应用的所述视觉聚焦量的指令包括导致所述一或多个处理器调节待应用的所述视觉聚焦量的指令。
21.根据权利要求19所述的计算机可读存储媒体,
其中所述导致所述一或多个处理器接收指示所述GPU的所述性能的信息的指令包括导致所述一或多个处理器接收指示功率消耗、带宽使用量、GPU核心利用率和温度中的一或多个的信息的指令,
所述指令进一步包括导致所述一或多个处理器执行以下操作的指令:
基于所述功率消耗、所述带宽使用量、所述GPU核心利用率以及所述温度中的一或多个,确定GPU性能值;以及
将所述GPU性能值与GPU性能阈值比较,
其中所述导致所述一或多个处理器确定待应用的所述视觉聚焦量的指令包括导致所述一或多个处理器基于所述比较确定待应用的所述视觉聚焦量的指令。
22.根据权利要求21所述的计算机可读存储媒体,其中导致所述一或多个处理器基于所述比较确定待应用的所述视觉聚焦量的指令包括导致所述一或多个处理器反复地增加被应用的视觉聚焦量,直到所述GPU性能值小于或等于所述GPU性能阈值为止的指令。
CN201780044360.3A 2016-08-05 2017-05-19 动态视觉聚焦调节 Active CN109478150B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/230,073 2016-08-05
US15/230,073 US10410313B2 (en) 2016-08-05 2016-08-05 Dynamic foveation adjustment
PCT/US2017/033658 WO2018026414A1 (en) 2016-08-05 2017-05-19 Dynamic foveation adjustment

Publications (2)

Publication Number Publication Date
CN109478150A CN109478150A (zh) 2019-03-15
CN109478150B true CN109478150B (zh) 2021-10-01

Family

ID=59091560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780044360.3A Active CN109478150B (zh) 2016-08-05 2017-05-19 动态视觉聚焦调节

Country Status (8)

Country Link
US (1) US10410313B2 (zh)
EP (1) EP3494472B1 (zh)
JP (1) JP6724238B2 (zh)
KR (1) KR102065317B1 (zh)
CN (1) CN109478150B (zh)
BR (1) BR112019002042A2 (zh)
ES (1) ES2874200T3 (zh)
WO (1) WO2018026414A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936533B2 (en) * 2016-10-18 2021-03-02 Advanced Micro Devices, Inc. GPU remote communication with triggered operations
US10147227B2 (en) 2017-02-17 2018-12-04 Microsoft Technology Licensing, Llc Variable rate shading
US10591971B2 (en) * 2017-04-01 2020-03-17 Intel Corporation Adaptive multi-resolution for graphics
US10475149B2 (en) * 2017-09-25 2019-11-12 Intel Corporation Policies and architecture to dynamically offload VR processing to HMD based on external cues
US11388050B2 (en) * 2017-10-03 2022-07-12 Dell Products L.P. Accelerating machine learning and profiling over a network
US10796407B2 (en) 2018-05-11 2020-10-06 Samsung Electronics Co., Ltd. Foveated domain storage and processing
GB201809387D0 (en) * 2018-06-07 2018-07-25 Ucl Business Plc Perceptual Rasterization For Image Rendering
US20200066004A1 (en) * 2018-08-23 2020-02-27 International Business Machines Corporation Text focus for head mounted displays
US11721307B1 (en) 2018-11-02 2023-08-08 Meta Platforms Technologies, Llc Beam-racing pixel generation in a display engine
KR20230144093A (ko) * 2019-07-28 2023-10-13 구글 엘엘씨 포비에이티드 메시들로 몰입형 비디오 콘텐츠를 렌더링하기 위한 방법들, 시스템들, 및 매체들
GB2587230B (en) * 2019-09-20 2022-09-28 Sony Interactive Entertainment Inc Graphical rendering method and apparatus
US11694314B2 (en) 2019-09-25 2023-07-04 The Regents Of The University Of Michigan Digital foveation for machine vision
KR20210158144A (ko) 2020-06-23 2021-12-30 엘지디스플레이 주식회사 게이트 드라이버, 데이터 드라이버 및 이를 이용한 표시장치
WO2022165826A1 (en) * 2021-02-08 2022-08-11 Qualcomm Incorporated Frames-per-second thermal management
CN117063203A (zh) * 2021-03-30 2023-11-14 高通股份有限公司 用于移动游戏的基于启发式的可变率着色
CN114554284B (zh) * 2022-02-22 2023-08-11 网易(杭州)网络有限公司 画质信息处理方法、装置、计算机设备及存储介质
WO2023166852A1 (ja) * 2022-03-01 2023-09-07 ソニーグループ株式会社 情報処理装置、情報処理方法、および、コンピュータ読み取り可能な非一時的記憶媒体

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102449665A (zh) * 2009-06-02 2012-05-09 高通股份有限公司 显示经渲染的图形元素的性能度量的视觉表示

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7850306B2 (en) 2008-08-28 2010-12-14 Nokia Corporation Visual cognition aware display and visual data transmission architecture
US8860833B2 (en) * 2010-03-03 2014-10-14 Adobe Systems Incorporated Blended rendering of focused plenoptic camera data
US8913004B1 (en) 2010-03-05 2014-12-16 Amazon Technologies, Inc. Action based device control
US9727991B2 (en) * 2013-03-01 2017-08-08 Microsoft Technology Licensing, Llc Foveated image rendering
US20140347363A1 (en) 2013-05-22 2014-11-27 Nikos Kaburlasos Localized Graphics Processing Based on User Interest
US9261935B2 (en) * 2013-07-01 2016-02-16 Advanced Micro Devices, Inc. Allocating power to compute units based on energy efficiency
US20150042553A1 (en) 2013-08-09 2015-02-12 Nvidia Corporation Dynamic gpu feature adjustment based on user-observed screen area
US9420178B2 (en) * 2013-12-20 2016-08-16 Qualcomm Incorporated Thermal and power management
WO2015154004A1 (en) * 2014-04-05 2015-10-08 Sony Computer Entertainment America Llc Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
KR102330262B1 (ko) * 2015-06-02 2021-11-23 삼성전자주식회사 전자장치에서 디스플레이 제어 방법 및 그 장치
US10726619B2 (en) * 2015-10-29 2020-07-28 Sony Interactive Entertainment Inc. Foveated geometry tessellation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102449665A (zh) * 2009-06-02 2012-05-09 高通股份有限公司 显示经渲染的图形元素的性能度量的视觉表示

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Direct3D Player性能优化;周宽久等;《计算机工程与应用》;20070811(第23期);97-99、146 *
GPU并行计算编程技术介绍;王泽寰等;《科研信息化技术与应用》;20130120(第01期);81-87 *

Also Published As

Publication number Publication date
JP2019528514A (ja) 2019-10-10
US20180040097A1 (en) 2018-02-08
CN109478150A (zh) 2019-03-15
WO2018026414A1 (en) 2018-02-08
EP3494472B1 (en) 2021-02-24
KR20190031496A (ko) 2019-03-26
JP6724238B2 (ja) 2020-07-15
KR102065317B1 (ko) 2020-01-10
EP3494472A1 (en) 2019-06-12
BR112019002042A2 (pt) 2019-05-07
ES2874200T3 (es) 2021-11-04
US10410313B2 (en) 2019-09-10

Similar Documents

Publication Publication Date Title
CN109478150B (zh) 动态视觉聚焦调节
US10885607B2 (en) Storage for foveated rendering
US10573275B2 (en) Techniques for determining an adjustment for a visual output
KR102475212B1 (ko) 타일식 아키텍처들에서의 포비티드 렌더링
US20190035049A1 (en) Dithered variable rate shading
US10078883B2 (en) Writing graphics data from local memory to system memory
US9824458B2 (en) Dynamically switching between late depth testing and conservative depth testing
US10062139B2 (en) Vertex shaders for binning based graphics processing
TW201506844A (zh) 丟棄過濾器分接點之紋理位址模式
US9183652B2 (en) Variable rasterization order for motion blur and depth of field
US9959643B2 (en) Variable rasterization order for motion blur and depth of field
US10416808B2 (en) Input event based dynamic panel mode switch
US9262841B2 (en) Front to back compositing
CN112988364B (zh) 一种动态的任务调度方法、装置及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant