CN117435521A - 基于gpu渲染的纹理显存映射方法、装置及介质 - Google Patents
基于gpu渲染的纹理显存映射方法、装置及介质 Download PDFInfo
- Publication number
- CN117435521A CN117435521A CN202311773204.4A CN202311773204A CN117435521A CN 117435521 A CN117435521 A CN 117435521A CN 202311773204 A CN202311773204 A CN 202311773204A CN 117435521 A CN117435521 A CN 117435521A
- Authority
- CN
- China
- Prior art keywords
- texture
- data
- texture data
- mapping
- video memory
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 234
- 238000013507 mapping Methods 0.000 title claims abstract description 128
- 238000009877 rendering Methods 0.000 title claims abstract description 105
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000001133 acceleration Effects 0.000 claims abstract description 44
- 230000006870 function Effects 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 9
- 230000000903 blocking effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本公开实施例公开了一种基于GPU渲染的纹理显存映射方法、装置及介质,该方法可以包括:当加载的纹理数据的大小大于显存剩余容量时,将所述纹理数据中满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存;将所述纹理数据中除所述第一部分纹理数据之外的第二部分纹理数据通过硬件加速方式存储至系统内存,在所述第二部分纹理数据中,将根据GPU的调度数据进行寻址所命中的第三部分纹理数据映射至纹理缓存;通过渲染应用程序读取已映射至纹理缓存的纹理数据以执行渲染并将渲染结果进行展示。通过该技术方案可以提高GPU渲染的质量和降低GPU渲染对显存空间的依赖。
Description
技术领域
本公开实施例涉及图像处理技术领域,尤其涉及一种基于图形处理器(GraphicProcessing Unit,GPU)渲染的纹理显存映射方法、装置及介质。
背景技术
当前大型的游戏场景几乎都使用纹理贴图方式进行渲染效果的显示,在程序执行阶段会加载各种各样的图片来进行最终视觉效果的逼真显示。也就是说,要实现复杂的且效果炫酷的场景必定会加载更多的纹理图片。其中,所述纹理是一张二维或三维图像,被应用到2D平面或3D模型的表面以模拟物体的外观细节,例如颜色、纹理、光照等,并且可以实现多种逼真的视觉效果,如表面、环境、法线、遮罩贴图等。
纹理数据的大小及完整性决定了GPU渲染的质量,而每个场景由于需求的不同,对GPU显存空间要求差别很大。例如,对于大型的游戏场景来说,用户想使用更多不同的纹理数据绘制绚丽复杂的场景,并且图形绘制过程中不能出现丢帧、失真等错误。现有的纹理显存映射方式为纹理数据全映射或者使用压缩纹理的方式,其中,所述纹理数据全映射,例如用户需要加载2G的纹理数据就要在GPU显存空间上分配2G的空间,因此,对显存空间占用高,严重依赖GPU显存空间的大小,对于大型的游戏场景,渲染程序在低显存空间的GPU上无法使用,降低了GPU渲染的质量。
发明内容
有鉴于此,本公开实施例期望提供一种基于GPU渲染的纹理显存映射方法、装置及介质,能够确保用户操作简单、渲染流畅并提高GPU渲染的质量和降低GPU渲染对显存空间的依赖。
本公开实施例的技术方案是这样实现的:
第一方面,本公开实施例提供一种基于GPU渲染的纹理显存映射方法,包括:
当加载的纹理数据的大小大于显存剩余容量时,将所述纹理数据中满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存;
将所述纹理数据中除所述第一部分纹理数据之外的第二部分纹理数据通过硬件加速方式存储至系统内存,在所述第二部分纹理数据中,将根据GPU的调度数据进行寻址所命中的第三部分纹理数据映射至纹理缓存;
通过渲染应用程序读取已映射至纹理缓存的纹理数据以执行渲染并将渲染结果进行展示。
第二方面,本公开实施例提供一种基于GPU渲染的纹理显存映射装置,所述装置包括:第一映射部分、第二映射部分以及读取部分;其中,
所述第一映射部分,经配置为当加载的纹理数据的大小大于显存剩余容量时,将所述纹理数据中满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存;
所述第二映射部分,经配置为将所述纹理数据中除所述第一部分纹理数据之外的第二部分纹理数据通过硬件加速方式存储至系统内存,在所述第二部分纹理数据中,将根据GPU的调度数据进行寻址所命中的第三部分纹理数据映射至纹理缓存;
所述读取部分,经配置为通过渲染应用程序读取已映射至纹理缓存的纹理数据以执行渲染并将渲染结果进行展示。
第三方面,本公开实施例提供了一种计算设备,所述计算设备包括:通信接口,存储器和处理器;各个组件通过总线系统耦合在一起;其中,
所述通信接口,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行第一方面所述基于GPU渲染的纹理显存映射方法。
第四方面,本公开实施例提供了一种计算机存储介质,所述计算机存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现第一方面所述基于GPU渲染的纹理显存映射方法。
本公开实施例提供了一种基于GPU渲染的纹理显存映射方法、装置及介质,通过加载纹理数据的过程中,根据加载的纹理数据的大小与显存剩余容量的关系,当加载的纹理数据的大小大于显存剩余容量时,则将满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存,并将所述纹理数据中除所述第一部分纹理数据之外的第二部分纹理数据通过硬件加速方式存储到系统内存中,然后根据GPU的调度数据进行寻址,将命中的第三部分纹理数据映射至纹理缓存以供GPU渲染使用。通过该技术方案,对于采用纹理数据全映射方式进行纹理显存映射的场景,依赖GPU显存空间的应用程序可正常进行GPU渲染,减少了GPU硬件的存储设计并降低了GPU渲染对显存空间的依赖。对于大型的渲染场景的应用程序,减少了显存占用率,以使得GPU能够支持更大的渲染场景,提升了图形图像渲染的性能。对于通过GPU驱动程序内部压缩纹理方式进行纹理显存映射的场景,可省去压缩纹理带来的延迟,可以直接进行渲染,提升了GPU渲染的质量。
附图说明
图1为本公开实施例提供的一种计算设备的组成示意图;
图2为本公开实施例提供的一种基于GPU渲染的纹理显存映射方法流程图;
图3为本公开实施例提供的一种纹理数据加载映射的模块处理流程图;
图4为本公开实施例提供的一种基于GPU渲染的纹理显存映射详细流程图;
图5为本公开实施例提供的一种基于GPU渲染的纹理显存映射装置示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
参见图1,其示出了能够实现本公开实施例技术方案的计算设备100的组成示意图,需注意,图1所示出的计算设备是可能的设备的仅一个示例,并且可根据需要在各种设备中的任一设备中实现本公开的实施方案。该计算设备100的组成具体可以为任意类型的计算装置,包括且不限于台式计算机、服务器、工作站、膝上计算机、基于计算机的仿真器、无线装置、移动或蜂窝电话(包含所谓的智能电话)、个人数字助理(PDA)、视频游戏控制台(包含视频显示器、移动视频游戏装置、移动视频会议单元)、膝上型计算机、桌上型计算机、电视机顶盒、平板计算装置、电子书阅读器、固定或移动媒体播放器等。如图1所示,计算设备100的组成可以包括中央处理器(Central Processing Unit,CPU),比如图1中示出的CPU10、GPU 20、系统内存30,还包括显示控制器40、显示器41以及通信接口50。显示控制器40可为与GPU 20相同的集成电路(Integrated Circuit,IC)的部分,也可在包含GPU20的一或多个IC的外部或可形成于在包含GPU 20的IC外部的IC中。
具体来说,CPU 10可包括控制计算设备100运算的通用或专用处理器,其经配置以处理供执行的计算机程序的指令。用户可经由通信接口50与耦合到计算设备100的另一输入装置(未图示)例如:轨迹球、键盘、鼠标、麦克风、触摸垫、触摸屏以及其他类型的装置,例如交换机接口,将输入提供给计算设备100组成中的CPU 10,以使得CPU 10执行至少一或多个软件应用程序11的指令。在CPU 10上执行的软件应用程序11可为利用GPU 20的功能性的任何应用程序,可包括图形用户接口(Graphic User Interface,GUI)应用程序、操作系统、便携式制图应用程序、用于工程或艺术应用的计算机辅助设计程序、视频游戏应用程序、文字处理器应用程序、电子邮件应用程序、电子表格应用程序、媒体播放器应用程序或使用2D、3D图形渲染应用程序等,本公开实施例以执行图形渲染应用程序为例,所述图形渲染应用程序也可以简称为应用程序或渲染程序。此外,CPU10上执行的图形渲染应用程序可包含一或多个图形渲染指令(也可以理解为待渲染的画面帧中包含一或多个所述图形),所述图形渲染指令可符合图形应用程序编程接口(Application Programming Interface,API),例如,开放式图形库API(OpenGL API)、开放式图形库嵌入系统(OpenGL ES)API、Direct3DAPI、X3DAPI、RenderMan API、WebGL API、开放式计算语言(OpenCLTM)、RenderScript或任何其它异构计算API或任何其它公用或专有标准图形或计算API,本公开下面的描述中将以OpenGL API为例进行说明。
GPU 20可经配置以执行图形运算,从而将一或多个图形图元渲染到显示器41进行展示。可以理解为,CPU 10通过软件应用程序11经由图形API 12调用GPU驱动程序13以控制GPU驱动程序13将渲染指令翻译为GPU 20可读的渲染命令,然后GPU 20根据收到的一或多个图形渲染命令,包括但不限于图形命令和图形数据,所述图形数据可包含绘制命令、状态信息、图元信息、纹理信息等,以使得GPU20执行所述图形渲染命令中的一些或者全部,从而将一或多个图形图元进行渲染并在显示器41上展示出来。GPU 20的内部结构包括但不限于纹理映射单元21、纹理采样单元22以及多个执行单元23,本公开实施例以两个执行单元23为例,其中,所述纹理映射单元21作为GPU 20的部件,可以对二进制图像旋转、缩放、扭曲,然后将其作为纹理放置到给定的3D模型的任意平面,即实现纹理数据的映射。所述纹理采样单元22用于计算纹理数据的大小、访问地址以及位置并读取纹理数据。所述执行单元23,用于根据读取的纹理数据执行渲染。在一些示例中,GPU 20可不包含单独的存储器,而是经由总线利用外置的显存31。在一些情况下,GPU 20可内置有高度并行结构,其提供比CPU 10高效的对复杂图形相关运算的处理。举例来说,GPU 20可包含经配置以并行方式对多个顶点或像素进行运算的多个处理元件。在一些情况下,GPU 20的高度并行性质允许GPU 20比使用CPU10更快速地将图形图像(例如,GUI和二维(2D)和/或三维(3D)图形场景)绘制到显示器41上。在一些情况下,可将GPU 20集成到目标设备的母板中。在其它情况下,GPU 20可存在于图形卡上,所述图形卡安装在目标设备的母板中的端口中,或可以其它方式并入在经配置以与目标设备互操作的外围装置内。GPU 20可包含一或多个处理器,例如一或多个微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它等效的集成或离散逻辑电路。GPU 20还可包含一或多个处理器核心,使得GPU 20可被称作多核处理器。
系统内存30,经配置用于存储能够在CPU 10上运行的应用程序指令、GPU 20执行需要的图形数据以及其运行结果数据。例如,GPU 20可将完全形成的图像存储在系统内存30中。在一些示例中,所述系统内存30可以包括显存31,在具体实施过程中,显存31也可与系统内存30分离,其中,所述显存31可存储经渲染图像数据,例如,像素数据以及任何其它数据,因此,显存31还可被称为帧缓冲器。显存31存储GPU20的目的地像素。每个目的地像素可与唯一屏幕像素位置相关联。在一些示例中,显存31可存储每个目的地像素的色彩分量和目的地α值。举例来说,显存31可存储每个像素的红色、绿色、蓝色、α(RGBA)分量,其中“RGB”分量对应于色彩值,并且“A”分量对应于目的地α值(例如,用于图像合成的不透明度值)。尽管将显存31和系统内存30说明为单独的存储器单元,但在其它示例中,显存31可以是系统内存30的一部分。此外,显存31还可能够存储除像素之外的任何合适的数据。显存31还可以包括纹理缓存32,通过所述纹理缓存32 可以对显存31存储的数据进行快速读写操作。然而,由于纹理缓存32的大小太小而无法保持整个图形数据,因此GPU 20需要执行多个渲染回合以再现整个图形数据。具体来说,纹理缓存32可包含一或多个易失性或非易失性存储器或存储装置,例如随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)等。在一些示例中,纹理缓存32可为芯片上缓冲器,芯片上缓冲器可指代形成于、定位于和/或安置于与上面形成、定位和/或安置GPU 20的微芯片、集成电路和/或裸片相同的微芯片、集成电路和/或裸片上的缓冲器。可以理解地,纹理缓存32也可以是与GPU20一起位于芯片上的少量的极高带宽存储器,即显存31和纹理缓存32是分离的。此外,当纹理缓存32实施在与GPU 20相同的芯片上时,可经由与GPU 20相同的芯片上实施的内部通信接口,例如,总线来存取纹理缓存32。因为此接口在芯片上,所以能够以比通信路径高的带宽操作。显示控制器40可从显存31检索图像且输出使显示器41的像素照亮以显示所述图像的值。显示器41可为计算设备100的显示器,其显示由GPU 20产生的图形图像内容。显示器41可为液晶显示器(LCD)、有机发光二极管显示器(OLED)、阴极射线管(CRT)显示器、等离子显示器或另一类型的显示装置。
结合图1所示的计算设备100,基于GPU 20执行所述图形渲染命令中的一些或者全部,从而将一或多个图形图元进行渲染以生成当前帧的渲染结果并展示在显示器41上。对于纹理数据的渲染,纹理数据的大小及完整性决定了GPU渲染的质量,现有的纹理显存映射方式为纹理数据全映射或者使用压缩纹理的方式,由于所述纹理数据全映射对显存空间占用高,严重依赖GPU显存空间的大小,对于大型的游戏场景,渲染应用程序在低显存空间的GPU上无法使用,降低了GPU渲染的质量。基于此,本公开实施例期望提供一种基于GPU渲染的纹理显存映射技术方案,采用软件显存空间判断和硬件加速方式进行纹理数据的加载及映射,通过该技术方案可以确保用户操作简单、渲染流畅并提高GPU渲染的质量和降低GPU渲染对显存空间的依赖。参见图2,其示出了本公开实施例提供的一种基于GPU渲染的纹理显存映射方法,该方法应用于如图1所示的包括CPU和GPU的计算设备100中,该方法包括:
S201:当加载的纹理数据的大小大于显存剩余容量时,将所述纹理数据中满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存;
S202:将所述纹理数据中除所述第一部分纹理数据之外的第二部分纹理数据通过硬件加速方式存储至系统内存,在所述第二部分纹理数据中,将根据GPU的调度数据进行寻址所命中的第三部分纹理数据映射至纹理缓存;
S203:通过渲染应用程序读取已映射至纹理缓存的纹理数据以执行渲染并将渲染结果进行展示。
根据上述方案的描述,本公开实施例通过加载纹理数据的过程中,根据加载的纹理数据的大小与显存剩余容量的关系,当加载的纹理数据的大小大于显存剩余容量时,则将满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存,并将所述纹理数据中除所述第一部分纹理数据之外的第二部分纹理数据通过硬件加速方式存储到系统内存中,然后根据GPU的调度数据进行寻址,将命中的第三部分纹理数据映射至纹理缓存以供GPU渲染使用。通过该技术方案,对于采用纹理数据全映射方式进行纹理显存映射的场景,依赖GPU显存空间的应用程序可正常进行GPU渲染,减少了GPU硬件的存储设计并降低了GPU渲染对显存空间的依赖。对于大型的渲染场景的应用程序,减少了显存占用率,以使得GPU能够支持更大的渲染场景,提升了图形图像渲染的性能。对于通过GPU驱动程序内部压缩纹理方式进行纹理显存映射的场景,可省去压缩纹理带来的延迟,可以直接进行渲染,提升了GPU渲染的质量。
针对图2所示的技术方案,在一些可能的实现方式中,所述当加载的纹理数据的大小大于显存剩余容量时,将所述纹理数据中满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存,包括:
加载纹理数据的过程中判断所述纹理数据的大小与所述显存剩余容量的关系;
根据所述关系执行按需映射,将满足所述显存剩余容量的第一部分纹理数据通过纹理映射mmap函数映射至纹理缓存。
对于上述实现方式,在一些示例中,所述加载纹理数据的过程中判断所述纹理数据的大小与所述显存剩余容量的关系,包括:
通过纹理加载glTexImage函数加载纹理数据;
在加载过程中根据判断逻辑判断所述纹理数据的大小与所述显存剩余容量的关系。
在一些示例中,所述在加载过程中根据判断逻辑判断所述纹理数据的大小与所述显存剩余容量的关系,包括:
调用GPU驱动程序中的纹理大小判断函数以确定所述纹理数据的大小;
将所述纹理数据的大小发送给GPU,通过GPU内部的判断逻辑判断所述纹理数据的大小与所述显存剩余容量的关系。
对于上述示例,具体来说,在CPU端的GPU驱动程序中存有所述判断逻辑,通过纹理大小判断函数,先判断所述纹理数据的大小,再根据CPU和GPU的交互,在GPU端的内部逻辑中判断所述纹理数据的大小与所述显存剩余容量的关系,即比较两者的大小关系。
对于上述实现方式,在一些示例中,所述根据所述关系执行按需映射,将满足所述显存剩余容量的第一部分纹理数据通过纹理映射mmap函数映射至纹理缓存,包括:
将纹理映射mmap函数携带的数据地址作为基地址;
根据所述基地址和所述显存剩余容量,将所述基地址加所述显存剩余容量的第一部分纹理数据映射至纹理缓存。
对于上述示例,具体来说,所述按需映射是根据GPU显存存储规划给纹理数据的存储空间进行映射的,例如,纹理数据大小为512M ,GPU显存存储规划给纹理数据的存储空间只有128M,通过纹理加载glTexImage函数传入的纹理数据如果超过128M,则需要按需映射。将纹理映射mmap函数携带的数据地址作为基地址,基地址+128M的第一部分纹理数据映射至纹理缓存中,基地址偏移所述显存剩余空间的剩余部分的纹理数据大小,即调度地址偏移128M的纹理数据大小为384M的第二部分纹理数据分块存储到系统内存或硬盘中,本公开实施例以存储到系统内存中为例。GPU通过如图1所示的纹理采样单元22进行数据采样时,会根据纹理坐标(x,y)+基地址进行最终数据位置的获取。
需要说明的是,由于纹理缓存是在显存中的划分的一块空间,因此,对显存剩余容量的判断即为对纹理缓存剩余容量的判断,本公开实施例为了便于阐述,均以对显存剩余容量进行描述。
针对图2所示的技术方案,在一些可能的实现方式中,所述方法还包括:
当加载的纹理数据的大小小于等于显存剩余容量时,则将所述纹理数据直接映射至显存。
对于上述实现方式,在一些示例中,所述当加载的纹理数据的大小小于等于显存剩余容量时,则将所述纹理数据直接映射至显存,包括:
通过纹理映射mmap函数将所述纹理数据从系统内存直接映射至显存;
将已直接映射至显存的纹理数据读入纹理缓存中。
对于上述实现方式,具体来说,通过纹理加载glTexImage函数进行纹理数据加载时会触发GPU驱动程序中的逻辑进行数据的映射,由于在未映射前,已将所述纹理数据的存储地址存储到系统内存中,根据所述存储地址,通过纹理映射mmap函数将所述纹理数据从系统内存直接映射至显存,即完成一次纹理数据的拷贝过程。GPU渲染时获取已直接映射至显存的纹理数据时,还需要先将所述已直接映射至显存的纹理数据读入纹理缓存中以使得应用程序执行时可以快速获取。
针对图2所示的技术方案,在一些可能的实现方式中,所述将所述纹理数据中除所述第一部分纹理数据之外的第二部分纹理数据通过硬件加速方式存储至系统内存,在所述第二部分纹理数据中,将根据GPU的调度数据进行寻址所命中的第三部分纹理数据映射至纹理缓存,包括:
将所述第二部分纹理数据通过硬件加速方式分块存储至系统内存以生成数据块;
通过CPU为所述系统内存中的所述数据块划分调度地址;
根据GPU的调度数据按照所述调度地址进行寻址访问,将命中的第三部分纹理数据映射至纹理缓存。
对于上述实现方式,在一些示例中,所述将所述第二部分纹理数据通过硬件加速方式分块存储至系统内存以生成数据块,具体来说,根据纹理映射mmap函数携带的数据地址作为基地址,将所述基地址偏移所述显存剩余容量的第二部分纹理数据,通过硬件加速方式分块存储至系统内存以生成数据块,并通过CPU 为系统内存中的所述数据块分配调度地址。
对于上述实现方式,在一些示例中,所述根据GPU的调度数据按照所述调度地址进行寻址访问,将命中的第三部分纹理数据映射至纹理缓存,包括:
根据所述调度地址向所述纹理缓存获取GPU的调度数据,若未命中,则向显存获取所述GPU的调度数据;
若仍未命中,则通过硬件加速方式向系统内存获取所述GPU的调度数据,将根据所述GPU的调度数据进行寻址所命中的第三部分纹理数据映射至纹理缓存。
对于上述实现方式或示例的阐述,详细来说,根据所述纹理数据大小与显存剩余容量的关系,当所述纹理数据大小大于所述显存剩余容量时,将所述纹理数据分为第一部分纹理数据和第二部分纹理数据,其中,所述第一部分纹理数据为满足所述显存剩余容量大小的纹理数据,将所述第一部分纹理数据映射至纹理缓存;所述第二部分纹理数据为大于所述显存剩余容量的纹理数据,将所述第二部分纹理数据分块存储至系统内存。GPU执行渲染时需要获取GPU的调度数据,即GPU所需调度的纹理数据,在获取的过程中会触发所述硬件加速方式调度数据,对于纹理数据的读取,根据GPU渲染时的调度数据和调度地址,若所述纹理采样单元在所述纹理缓存中未获取到所述GPU的调度数据,则需要向显存获取所述GPU的调度数据。若从显存中仍未获取到,则通过硬件加速方式从已经存储至系统内存或硬盘上第二部分纹理数据中获取所述GPU的调度数据,即向系统内存中的所述第二部分纹理数据进行寻址,将寻址命中的第三部分纹理数据映射至纹理缓存,未命中的纹理数据仍然存储在系统内存或硬盘中。因此,所述第三部分纹理数据可以是第二部分纹理数据的部分或全部纹理数据,将在所述第二部分纹理数据进行寻址命中的纹理数据均称之为第三部分纹理数据。若从系统内存中仍未获取到,则有相应的报错机制。
结合图1所示的计算设备100以具体的实施例阐述图2所示的技术方案,参见图3,其示出了本公开实施例提供的一种纹理数据加载映射的模块处理流程图,各模块的组成包括:纹理加载模块、显存判断模块、直接映射模块、数据存储模块、硬件加速模块、GPU模块以及显示模块,其中,数据存储模块位于如图1所示的CPU 10的系统内存30中,其他模块在GPU20内,为了便于阐述各模块之间的交互,将GPU 20内的各模块作为一个单独的组成的部分进行说明。具体来说,各模块可以实现的功能为:
所述纹理加载模块:通过渲染程序将用户的纹理数据通过纹理加载glTexImage函数加载至显存。
所述显存判断模块:获取纹理数据大小和显存剩余容量,如果纹理数据大小小于等于显存剩余容量则通过直接映射模块将所述纹理数据直接映射至显存以供渲染使用,否则,将使用硬件加速模块将所述纹理数据中满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存,并将所述纹理数据中除所述第一部分纹理数据之外的第二部分纹理数据存储至系统内存或硬盘中以供后续GPU渲染时进行调度。
所述直接映射模块:将纹理数据大小小于等于显存剩余容量的纹理数据直接映射至显存。
所述硬件加速模块:为GPU上的一块单独的硬件加速电路,通过调用数据存储模块将纹理数据大小大于显存剩余容量的第二部分纹理数据进行存储并划分调度地址,并且根据GPU的调度数据,在所述第二部分纹理数据中,按照调度地址进行寻址访问,将命中的第三部分纹理数据经过硬件加速电路映射至纹理缓存以供渲染使用。
所述数据存储模块:将纹理数据大小大于显存剩余容量的第二部分纹理数据按照硬件加速模块执行的规则进行纹理数据的分块存储及调度地址划分。
所述GPU模块:执行应用程序的渲染流程并调度所需的纹理数据。
所述显示模块:查看最终GPU渲染完成后的渲染结果。
结合图3所示的各模块的组成,纹理数据加载映射的模块处理流程为:首先,所述纹理加载模块通过纹理加载glTexImage函数加载纹理数据。其次,在加载过程中通过所述显存判断模块判断所述纹理数据大小与所述显存剩余容量的关系,若显存剩余容量高,即所述纹理数据大小小于等于所述显存剩余容量,则通过所述直接映射模块将所述纹理数据映射至显存,例如,可以通过如图1所示的纹理映射单元21实现所述直接映射模块的功能;若显存剩余容量低,即所述纹理数据大小大于所述显存剩余容量,则将满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存,并且通过硬件加速模块调用所述数据存储模块将大于所述显存剩余容量的第二部分纹理数据分块存储至所述数据存储模块中,并且所述数据存储模块为所述第二部分纹理数据划分调度地址。所述GPU模块执行渲染时,若在纹理缓存中未获取到所述GPU的调度数据,则需要向显存获取,若从显存中仍未获取到,则通过所述硬件加速模块向系统内存中的所述数据存储模块调度数据。所述硬件加速模块根据所述GPU模块的调度数据和调度地址向所述数据存储模块进行数据寻址,所述数据存储模块将命中的第三部分纹理数据发送至所述硬件加速模块,所述硬件加速模块将寻址所命中的所述第三部分纹理数据映射到纹理缓存中以供GPU模块渲染使用。然后,将GPU模块的渲染结果通过显示模块展示在屏幕上。
结合图1所示的计算设备100以及图3所示的纹理数据加载映射的模块处理流程来阐述图2所示的技术方案,参见图4,其示出了本公开实施例提供的一种基于GPU渲染的纹理显存映射详细流程图,具体步骤如下:
S401:加载渲染程序;
CPU通过软件应用程序经由图形API 接口调用GPU驱动程序以将渲染指令翻译为GPU可读的渲染命令。
S402纹理数据加载映射;
通过GPU的纹理加载模块中的纹理加载glTexImage函数加载纹理数据,在加载过程中判断所述纹理数据的大小与显存剩余容量的关系并执行纹理映射。
S403:显存剩余容量是否足够,若是,则跳转到步骤S404;否则跳转到步骤S405;
具体来说,先通过CPU端的纹理大小判断函数确定纹理数据的大小,根据CPU和GPU的交互,再通过GPU内部的显存判断模块判断所述纹理数据大小与显存剩余容量的关系。
S404:显存剩余容量高,则将所述纹理数据直接映射到GPU显存;
如果纹理数据大小小于等于显存剩余容量,则通过直接映射模块将所述纹理数据直接映射到显存以供如图1所示的执行单元23执行渲染时使用。
S405:显存剩余容量低,则启动硬件加速方式映射和存储纹理数据;
如果所述纹理数据大小大于所述显存剩余容量,则启动硬件加速。
S406:将满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存;
将满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存中以供如图1所示的纹理采样单元22进行数据获取。
S407:通过硬件加速方式将第二部分纹理数据存储到系统内存或硬盘;
将大于显存剩余容量的第二部分纹理数据通过所述硬件加速模块调用所述数据存储模块分块存储到系统内存或硬盘上以供后续调度使用,并且通过所述数据存储模块为所述第二部分纹理数据划分调度地址。
S408:GPU执行渲染时获取已映射的纹理数据;
首先,GPU通过如图1所示的纹理映射单元21完成所述纹理数据的映射。其次,通过纹理采样单元22获取到已映射的纹理数据的访问地址以及位置,从显存或纹理缓存中读取映射后的纹理数据。然后,通过执行单元23执行渲染以获取到渲染结果。在一些示例中,对于纹理数据的读取,具体来说,对于直接映射到显存的纹理数据,需要将所述显存中纹理数据读取到纹理缓存中以便所述纹理采样单元22快速读取。
S409:GPU渲染时未在纹理缓存或显存中获取到所需的纹理数据,则启动硬件加速方式调度数据;
对于启动硬件加速方式进行所述纹理数据的映射、存储以及调度,本公开实施例中有两种情况,第一种情况是当调用了纹理加载glTexImage函数时,在加载的过程中通过CPU端的GPU驱动程序中的纹理大小判断函数以确定所述纹理数据的大小,然后根据CPU和GPU之间的交互,通过如图3中的所述显存判断模块判断所述纹理数据的大小与所述显存剩余容量之间的关系,此时,会触发所述硬件加速模块启动工作。第二种情况是GPU执行渲染时获取GPU的调度数据时,也会触发所述硬件加速模块启动工作,如图4中虚线箭头所示,即步骤S408-S409-S407-S406的交互所示,属于第二种情况。
GPU执行渲染时会对已映射至纹理缓存或显存中的纹理数据进行读取的操作,在一些示例中,对于已映射至纹理缓存或显存中的纹理数据的读取操作,在首次运行渲染程序时,当GPU接收到纹理渲染请求之后,通常会执行对纹理数据的读取流程,首先,根据纹理数据的基地址以及纹理数据的坐标,向如图1中的纹理缓存32请求已映射至纹理缓存的纹理数据。其次,若所述纹理缓存32接收到纹理数据请求,此时会出现未命中所述GPU的调度数据,因为是第一次向所述纹理缓存发送数据请求或所述纹理缓存中没有所述GPU的调度数据。然后,所述纹理缓存31向显存31发送纹理数据请求。同样的,也会出现未命中。接着,通过硬件加速方式向系统内存30中的数据存储模块发送纹理数据请求。由于,第二部分纹理数据已经由所述硬件加速模块调用所述数据存储模块分块存储至系统内存30中了,所以,此时能够获取到所述GPU的调度数据。最后,将命中的第三部分纹理数据映射至纹理缓存以供GPU模块渲染使用。
S410:将GPU渲染结果显示在屏幕上。
基于前述技术方案相同的发明构思,参见图5,其示出了本公开实施例提供的一种基于GPU渲染的纹理显存映射装置500,所述装置500包括:第一映射部分501、第二映射部分502以及读取部分503;其中,
所述第一映射部分501,经配置为当加载的纹理数据的大小大于显存剩余容量时,将所述纹理数据中满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存;
所述第二映射部分502,经配置为将所述纹理数据中除所述第一部分纹理数据之外的第二部分纹理数据通过硬件加速方式存储至系统内存,在所述第二部分纹理数据中,将根据GPU的调度数据进行寻址所命中的第三部分纹理数据映射至纹理缓存;
所述读取部分503,经配置为通过渲染应用程序读取已映射至纹理缓存的纹理数据以执行渲染并将渲染结果进行展示。
在一些示例中,所述第一映射部分501,经配置为:
加载纹理数据的过程中判断所述纹理数据的大小与所述显存剩余容量的关系;
根据所述关系执行按需映射,将满足所述显存剩余容量的第一部分纹理数据通过纹理映射mmap函数映射至纹理缓存。
在一些示例中,所述第一映射部分501,经配置为:
通过纹理加载glTexImage函数加载纹理数据;
在加载过程中根据判断逻辑判断所述纹理数据的大小与所述显存剩余容量的关系。
在一些示例中,所述第一映射部分501,经配置为:
将纹理映射mmap函数携带的数据地址作为基地址;
根据所述基地址和所述显存剩余容量,将所述基地址加所述显存剩余容量的第一部分纹理数据映射至纹理缓存。
在一些示例中,所述第一映射部分501,经配置为:
当加载的纹理数据的大小小于等于显存剩余容量时,则将所述纹理数据直接映射至显存。
在一些示例中,所述第二映射部分502,经配置为:
将所述第二部分纹理数据通过硬件加速方式分块存储至系统内存以生成数据块;
通过CPU为所述系统内存中的所述数据块划分调度地址;
根据GPU的调度数据按照所述调度地址进行寻址访问,将命中的第三部分纹理数据映射至纹理缓存。
在一些示例中,所述第二映射部分502,经配置为:
根据所述调度地址向所述纹理缓存获取GPU的调度数据,若未命中,则向显存获取所述GPU的调度数据;
若仍未命中,则通过硬件加速方式向系统内存获取所述GPU的调度数据,将根据所述GPU的调度数据进行寻址所命中的第三部分纹理数据映射至纹理缓存。
可以理解地,上述基于GPU渲染的纹理显存映射装置500的示例性技术方案,与前述基于GPU渲染的纹理显存映射方法的技术方案属于同一构思,因此,上述基于GPU渲染的纹理显存映射装置500的技术方案未详细描述的细节内容,均可以参见前述基于GPU渲染的纹理显存映射方法的技术方案的描述。本公开实施例对此不做赘述。
除此之外,本领域技术人员可以理解,上述附图所示出的计算设备的结构并不构成对计算设备的限定,计算设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,计算设备中还包括显示屏、摄像组件、麦克风、扬声器、射频电路、输入单元、传感器(比如加速度传感器、角速度传感器、光纤传感器等等)、音频电路、WiFi模块、电源、蓝牙模块等部件,在此不再赘述。
本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如上各个实施例所述的基于GPU渲染的纹理显存映射方法。
本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算设备执行以实现上述各个实施例所述的基于GPU渲染的纹理显存映射方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本公开实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种基于GPU渲染的纹理显存映射方法,其特征在于,所述方法应用于包括CPU和GPU的计算设备,所述方法包括:
当加载的纹理数据的大小大于显存剩余容量时,将所述纹理数据中满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存;
将所述纹理数据中除所述第一部分纹理数据之外的第二部分纹理数据通过硬件加速方式存储至系统内存,在所述第二部分纹理数据中,将根据GPU的调度数据进行寻址所命中的第三部分纹理数据映射至纹理缓存;
通过渲染应用程序读取已映射至纹理缓存的纹理数据以执行渲染并将渲染结果进行展示。
2.根据权利要求1所述方法,其特征在于,所述当加载的纹理数据的大小大于显存剩余容量时,将所述纹理数据中满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存,包括:
加载纹理数据的过程中判断所述纹理数据的大小与所述显存剩余容量的关系;
根据所述关系执行按需映射,将满足所述显存剩余容量的第一部分纹理数据通过纹理映射mmap函数映射至纹理缓存。
3.根据权利要求2所述方法,其特征在于,所述加载纹理数据的过程中判断所述纹理数据的大小与所述显存剩余容量的关系,包括:
通过纹理加载glTexImage函数加载纹理数据;
在加载过程中根据判断逻辑判断所述纹理数据的大小与所述显存剩余容量的关系。
4.根据权利要求2所述方法,其特征在于,所述根据所述关系执行按需映射,将满足所述显存剩余容量的第一部分纹理数据通过纹理映射mmap函数映射至纹理缓存,包括:
将纹理映射mmap函数携带的数据地址作为基地址;
根据所述基地址和所述显存剩余容量,将所述基地址加所述显存剩余容量的第一部分纹理数据映射至纹理缓存。
5.根据权利要求1所述方法,其特征在于,所述方法还包括:
当加载的纹理数据的大小小于等于显存剩余容量时,则将所述纹理数据直接映射至显存。
6.根据权利要求1所述方法,其特征在于,所述将所述纹理数据中除所述第一部分纹理数据之外的第二部分纹理数据通过硬件加速方式存储至系统内存,在所述第二部分纹理数据中,将根据GPU的调度数据进行寻址所命中的第三部分纹理数据映射至纹理缓存,包括:
将所述第二部分纹理数据通过硬件加速方式分块存储至系统内存以生成数据块;
通过CPU为所述系统内存中的所述数据块划分调度地址;
根据GPU的调度数据按照所述调度地址进行寻址访问,将命中的第三部分纹理数据映射至纹理缓存。
7.根据权利要求6所述方法,其特征在于,所述根据GPU的调度数据按照所述调度地址进行寻址访问,将命中的第三部分纹理数据映射至纹理缓存,包括:
根据所述调度地址向所述纹理缓存获取GPU的调度数据,若未命中,则向显存获取所述GPU的调度数据;
若仍未命中,则通过硬件加速方式向系统内存获取所述GPU的调度数据,将根据所述GPU的调度数据进行寻址所命中的第三部分纹理数据映射至纹理缓存。
8.一种基于GPU渲染的纹理显存映射装置,其特征在于,所述装置包括:第一映射部分、第二映射部分以及读取部分;其中,
所述第一映射部分,经配置为当加载的纹理数据的大小大于显存剩余容量时,将所述纹理数据中满足所述显存剩余容量的第一部分纹理数据映射至纹理缓存;
所述第二映射部分,经配置为将所述纹理数据中除所述第一部分纹理数据之外的第二部分纹理数据通过硬件加速方式存储至系统内存,在所述第二部分纹理数据中,将根据GPU的调度数据进行寻址所命中的第三部分纹理数据映射至纹理缓存;
所述读取部分,经配置为通过渲染应用程序读取已映射至纹理缓存的纹理数据以执行渲染并将渲染结果进行展示。
9.一种计算设备,其特征在于,所述计算设备包括:通信接口,处理器,存储器;各个组件通过总线系统耦合在一起;其中,
所述通信接口,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行权利要求1至7任一所述方法。
10.一种计算机存储介质,其特征在于,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现如权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311773204.4A CN117435521B (zh) | 2023-12-21 | 2023-12-21 | 基于gpu渲染的纹理显存映射方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311773204.4A CN117435521B (zh) | 2023-12-21 | 2023-12-21 | 基于gpu渲染的纹理显存映射方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117435521A true CN117435521A (zh) | 2024-01-23 |
CN117435521B CN117435521B (zh) | 2024-03-22 |
Family
ID=89558727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311773204.4A Active CN117435521B (zh) | 2023-12-21 | 2023-12-21 | 基于gpu渲染的纹理显存映射方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117435521B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100164983A1 (en) * | 2008-12-29 | 2010-07-01 | Microsoft Corporation | Leveraging graphics processors to optimize rendering 2-d objects |
CN110928695A (zh) * | 2020-02-12 | 2020-03-27 | 南京芯瞳半导体技术有限公司 | 一种关于显存的管理方法、装置及计算机存储介质 |
CN111508051A (zh) * | 2020-04-22 | 2020-08-07 | 浙江无端科技股份有限公司 | 一种纹理加载方法及相关装置 |
CN111737019A (zh) * | 2020-08-31 | 2020-10-02 | 西安芯瞳半导体技术有限公司 | 一种显存资源的调度方法、装置及计算机存储介质 |
US10810784B1 (en) * | 2019-07-22 | 2020-10-20 | Nvidia Corporation | Techniques for preloading textures in rendering graphics |
CN113467958A (zh) * | 2021-09-02 | 2021-10-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及可读存储介质 |
CN113674133A (zh) * | 2021-07-27 | 2021-11-19 | 阿里巴巴新加坡控股有限公司 | Gpu集群共享显存系统、方法、装置及设备 |
CN114253724A (zh) * | 2021-12-15 | 2022-03-29 | 中煤科工重庆设计研究院(集团)有限公司 | 一种bim模型渲染方法及系统 |
CN114443263A (zh) * | 2020-11-03 | 2022-05-06 | 阿里巴巴集团控股有限公司 | 显存管理方法、装置、设备及系统 |
CN117170883A (zh) * | 2023-11-02 | 2023-12-05 | 西安芯云半导体技术有限公司 | 渲染显示的方法、装置、设备及存储介质 |
-
2023
- 2023-12-21 CN CN202311773204.4A patent/CN117435521B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100164983A1 (en) * | 2008-12-29 | 2010-07-01 | Microsoft Corporation | Leveraging graphics processors to optimize rendering 2-d objects |
US10810784B1 (en) * | 2019-07-22 | 2020-10-20 | Nvidia Corporation | Techniques for preloading textures in rendering graphics |
CN110928695A (zh) * | 2020-02-12 | 2020-03-27 | 南京芯瞳半导体技术有限公司 | 一种关于显存的管理方法、装置及计算机存储介质 |
CN111508051A (zh) * | 2020-04-22 | 2020-08-07 | 浙江无端科技股份有限公司 | 一种纹理加载方法及相关装置 |
CN111737019A (zh) * | 2020-08-31 | 2020-10-02 | 西安芯瞳半导体技术有限公司 | 一种显存资源的调度方法、装置及计算机存储介质 |
CN114443263A (zh) * | 2020-11-03 | 2022-05-06 | 阿里巴巴集团控股有限公司 | 显存管理方法、装置、设备及系统 |
CN113674133A (zh) * | 2021-07-27 | 2021-11-19 | 阿里巴巴新加坡控股有限公司 | Gpu集群共享显存系统、方法、装置及设备 |
CN113467958A (zh) * | 2021-09-02 | 2021-10-01 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备以及可读存储介质 |
CN114253724A (zh) * | 2021-12-15 | 2022-03-29 | 中煤科工重庆设计研究院(集团)有限公司 | 一种bim模型渲染方法及系统 |
CN117170883A (zh) * | 2023-11-02 | 2023-12-05 | 西安芯云半导体技术有限公司 | 渲染显示的方法、装置、设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
ZOU, HUE等: "GPU-Based Medical Visualization for Large Datasets", 《JOURNAL OF MEDICAL IMAGING AND HEALTH INFORMATICS》, vol. 5, 28 October 2015 (2015-10-28) * |
周圣川等: "大规模城市场景图形图像混合建模与视觉无损渲染技术", 《中国优秀硕士学位论文全文数据库(信息科技辑)》, no. 11, 15 November 2014 (2014-11-15) * |
李辉等: "虚拟超大纹理的设计与实现", 《四川大学学报(工程科学版)》, no. 6, 20 November 2006 (2006-11-20) * |
程龙;郭立;史鸿声;: "一种纹理映射算法的FPGA实现", 小型微型计算机系统, no. 09, 15 September 2009 (2009-09-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN117435521B (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10242481B2 (en) | Visibility-based state updates in graphical processing units | |
US9489313B2 (en) | Conditional page fault control for page residency | |
US9569862B2 (en) | Bandwidth reduction using texture lookup by adaptive shading | |
US9679347B2 (en) | Shader pipeline with shared data channels | |
CN111737019B (zh) | 一种显存资源的调度方法、装置及计算机存储介质 | |
KR101563070B1 (ko) | 그래픽 프로세싱을 위한 데이터 저장 어드레스 할당 | |
EP3350766B1 (en) | Storing bandwidth-compressed graphics data | |
CN114972607B (zh) | 加速图像显示的数据传输方法、装置及介质 | |
CN116185743B (zh) | OpenGL接口的双显卡对比调试方法、装置及介质 | |
US10825129B2 (en) | Eliminating off screen passes using memoryless render target | |
CN111209116A (zh) | 一种分配显存空间的方法、装置及计算机存储介质 | |
US20190172213A1 (en) | Tile-based low-resolution depth storage | |
CN106575428B (zh) | 图形处理单元中的高阶滤波 | |
CN117170883B (zh) | 渲染显示的方法、装置、设备及存储介质 | |
CN111311478A (zh) | 一种gpu渲染核数据的预读取方法、装置及计算机存储介质 | |
CN113256764A (zh) | 一种光栅化装置、方法及计算机存储介质 | |
US10445902B2 (en) | Fetch reduction for fixed color and pattern sub-frames | |
CN116909511A (zh) | 提升gpu双缓冲显示效率的方法、装置及存储介质 | |
CN117435521B (zh) | 基于gpu渲染的纹理显存映射方法、装置及介质 | |
US10157443B1 (en) | Deferred batching of incremental constant loads |
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 |