CN107885597B - Method for managing graphics rendering resources - Google Patents

Method for managing graphics rendering resources Download PDF

Info

Publication number
CN107885597B
CN107885597B CN201710846042.0A CN201710846042A CN107885597B CN 107885597 B CN107885597 B CN 107885597B CN 201710846042 A CN201710846042 A CN 201710846042A CN 107885597 B CN107885597 B CN 107885597B
Authority
CN
China
Prior art keywords
resource
rendering
graphics
graphic
resources
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
CN201710846042.0A
Other languages
Chinese (zh)
Other versions
CN107885597A (en
Inventor
陆巧
俞蔚
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.)
Zhejiang Kelan Information Technology Co ltd
Original Assignee
Zhejiang Kelan Information Technology Co ltd
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 Zhejiang Kelan Information Technology Co ltd filed Critical Zhejiang Kelan Information Technology Co ltd
Priority to CN201710846042.0A priority Critical patent/CN107885597B/en
Publication of CN107885597A publication Critical patent/CN107885597A/en
Application granted granted Critical
Publication of CN107885597B publication Critical patent/CN107885597B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Abstract

The invention discloses a management method of a graphic rendering resource, which comprises the following steps: when a scene is initialized, initializing various graphic resource managers of each graphic environment; in the scene updating or rendering process, acquiring a graphic resource manager through acquiring a graphic environment to allocate graphic resources; after the scene is updated, rendering data are uniformly submitted to a GPU before rendering, and a CPU memory occupied by the rendering data is released; recycling the rendering resources which are idle; before the rendering scene is finished, the graphics resource managers in the graphics environments release the rendering resources managed by the graphics environments, and the graphics environments destroy the rendering resource managers owned by the graphics environments. The invention solves the problems of random use of graphics rendering resources, high occupation rate of GPU video memory and low rendering efficiency when a rendering engine renders a large scene; the application and allocation of the graphics rendering resources are effectively controlled and managed, and the graphics rendering resources are used neatly and orderly.

Description

Method for managing graphics rendering resources
Technical Field
The invention relates to a method for efficiently organizing and managing OpenGL rendering resources in a rendering engine in the technical field of three-dimensional rendering, in particular to a method for managing graphics rendering resources.
Background
The user gives a three-dimensional scene graph structure, and the effect desired by the user is obtained through rendering by using different types of OpenGL rendering resources. When the data volume of the three-dimensional scene is huge, the texture data volume is especially huge, and the amount of graphics rendering resources applied to be used in the situation is also huge. If the graphics resource applicant can apply for, upload and release the graphics resources independently at will, the stability of the rendering engine and the control of the GPU video memory are very unfavorable, and in addition, the rendering efficiency of the rendering engine is greatly influenced by the frequent interaction time with the GPU. Therefore, it is important for the rendering engine to uniformly manage graphics rendering resources.
The management mechanism of the graphic rendering resources is added, so that the control of application, distribution, recovery and release of the rendering resources, the quantity control and the control of unified data submission can be realized, meanwhile, the interaction times with a GPU can be reduced, and the rendering efficiency is improved.
Disclosure of Invention
The invention provides a management method of graphics rendering resources, aiming at the phenomena of random use of the graphics rendering resources, high GPU video memory occupancy rate and low rendering efficiency when a rendering engine renders a large scene in the prior art.
In order to solve the technical problems, the invention is solved by the following scheme:
a method for managing graphics rendering resources, comprising the steps of:
when a scene is initialized, initializing various graphic resource managers of various graphic environments;
in the scene updating or rendering process, a resource applicant obtains a graphic resource manager by obtaining a graphic environment, and applies and allocates graphic resources through the graphic resource manager;
before rendering after scene updating, the graphics resource manager uniformly submits rendering data to a GPU and releases a CPU memory occupied by the rendering data;
the graphics resource manager will perform the operation of recovering the idle rendering resources released by the applicant in each frame;
before the rendering scene is finished, the graphics resource managers in the graphics environments release the rendering resources managed by the graphics environments, and the graphics environments destroy the rendering resource managers owned by the graphics environments.
The types of the graphics resource manager initialized in the step (1) are as follows: a texture resource manager (TextureResourceManager), a display list resource manager (ListResourceManager), a texture buffer resource manager (renderbuffereurcemanager), a frame buffer object resource manager (framebuffereurcemanager), a vertex buffer object resource manager (buffereurcemanager), a program resource manager (ProgramResourceManager), and a shader resource manager (shadereresourcemanager).
Wherein, each image resource manager in step (1) manages three graphics resource queues: an allocated data uncommitted resource queue, an allocated data committed queue, and a reclaimed free resource queue, each rendering resource having a rendering resource ID.
When the graphics resource manager applies for graphics rendering resources in step (2), firstly, fetching graphics resources from the idle resource queue, and if the idle resource queue is not empty, fetching the head of the queue to fetch a resource to allocate to the applicant; and if the idle resource queue is empty, calling an OpenGL resource application statement to apply for generating a new graphic resource from the GPU, and adding the graphic resource to the tail of the allocated data uncommitted resource queue.
And (4) in the process of uniformly submitting data by the graphic resource manager in the step (3), the graphic resource manager traverses the allocated data uncommitted resource queue, submits data to each graphic resource, releases memory operation, and then moves the graphic resource to the tail of the allocated data submitted queue.
In the step (4), the graphics resource manager traverses the allocated data submitted queue in the resource recovery stage, recovers the graphics resource if the applicant releases the occupation of the graphics resource, and moves the graphics resource to the tail of the recovered free resource queue.
The invention solves the problems of random use of graphics rendering resources, high occupation rate of GPU video memory and low rendering efficiency when a rendering engine renders a large scene; the application and allocation of the graphics rendering resources are effectively controlled and managed, and the graphics rendering resources are used neatly and orderly.
Drawings
FIG. 1 is a flow diagram of a method for managing graphics rendering resources consistent with an embodiment of the present invention;
FIG. 2 is a flow chart of a method for managing texture resources manager consistent with an embodiment of the present invention;
FIG. 3 is a flow chart of a method for managing resource managers for display lists consistent with an embodiment of the present invention
FIG. 4 is a flow chart of a method for managing a texture buffer (RenderBuffer) resource manager consistent with an embodiment of the present invention;
FIG. 5 is a flow chart of a method for managing a frame buffer object (FrameBufferObject) resource manager consistent with an embodiment of the present invention;
FIG. 6 is a flow chart of a method for managing a vertex buffer object (VertexBufferObject) explorer consistent with an embodiment of the present invention;
FIG. 7 is a flowchart of a method for managing a Program resource manager consistent with an embodiment of the present invention;
FIG. 8 is a flow diagram of a method for managing a shader resource (ShaderResource) manager consistent with embodiments of the invention;
FIG. 9 is a block diagram of a graphics rendering resource management system consistent with an embodiment of the present invention.
DETAILED DESCRIPTION OF EMBODIMENT (S) OF INVENTION
The invention discloses a method for effectively managing OpenGL graphics rendering resources, which comprises the following steps: (1) when a Scene (Scene) is initialized, initializing various graphic resource managers of each graphic environment (graphic context); (2) in the scene updating or rendering process, a graph resource manager (renderResourcemanager) is obtained by obtaining a graph environment to distribute graph resources (renderResource); (3) after the scene is updated, rendering data are uniformly submitted to a GPU before rendering, and a CPU memory occupied by the rendering data is released; (4) recycling the rendering resources which are idle; (5) before the rendering scene is finished, the graphics resource managers in the graphics environments release the rendering resources managed by the graphics environments, and the graphics environments destroy the rendering resource managers owned by the graphics environments.
Each type of graphics resource manager manages three resource queues respectively: an allocated data uncommitted resource queue (allocatederqueue), an allocated data committed queue (ActiveResourceQueue), and a reclaimed free resource queue (orphanederqueue), each rendering resource having a rendering resource ID. When applying for the graphics rendering resource, the graphics resource manager firstly fetches the graphics resource from the idle resource queue, if the idle resource queue is not empty, the head of the fetch queue fetches a resource to be allocated to the applicant; and if the idle resource queue is empty, calling an OpenGL resource application statement to apply for generating a new graphic resource from the GPU, and adding the graphic resource to the tail of the allocated data uncommitted resource queue. In the process of uniformly submitting data by the graphic resource manager, the graphic resource manager traverses the allocated data uncommitted resource queue, submits data to each graphic resource, releases memory operation, and then moves the graphic resource to the tail of the allocated data submitted queue. In the resource recycling stage, the graphics resource manager traverses the allocated data submitted queue, recycles the graphics resource if the applicant has released the occupation of the graphics resource, and moves the graphics resource to the tail of the recycled free resource queue.
The texture resource manager (TextureResourceManager) manages the use of texture resources (TextureResource) as follows:
the graphics environments generate respective texture resource managers TextureResourceMeanager when the scene is initialized, set the use upper limit of texture resources, prevent the GPU video memory from occupying too high, and initialize three queues managed by the texture resource managers: allocatedreurceQueue, ActiveResourceQueue, and OrphanedResourceQueue.
The texture resource applicant obtains the TextureResourceManager of the graphics environment where the texture resource applicant is located. The TextureResourceEmanager fetches a TextureResource from the OrphanedResourceQueue header managed by the TextureResourceEmanager, regenerates a TextureResource if the OrphanedResourceQueue is empty, and applies a texture unit to the GPU for assignment to the TextureResource. The TextureResource sets its texture type and texture reference according to the incoming texture pointer, assigns itself to the texture resource reference of the texture, and adds the TextureResource to the tail of the AllocatedResourceQueue.
Executing an UploadResource function of the TextureResourceAnager, traversing the AllocatedResourceQueue, acquiring a texture pointer bound by the TextureResource, executing a data uploading function of the texture, deleting image data of the texture, releasing a memory, and adding the TextureResource to the tail of the ActiveResourceQueue.
And in the texture resource recycling stage, executing a ReleaseResource function of the TextureResourceManager, traversing the ActiveResourceQueue, acquiring a texture pointer bound by the TextureResource, setting the TextureResource reference bound by the texture to NULL if the reference count of the texture is 1, releasing the binding of the TextureResource and the texture, and adding the TextureResource to the tail of the OrphanedResourceQueue.
Before the rendering scene is finished, the TextureResourceMeanagers in the graphic environments release all the TextureResources managed by the graphic environments, and the graphic environments destroy the TextureResourceMeanagers owned by the graphic environments.
The display list resource manager (ListResourceManager) manages the use of the display list resource (ListResource) as follows:
each graphic environment generates a respective display list resource manager ListResourceMenager when a scene is initialized, sets the use upper limit of display list resources, prevents the GPU video memory from occupying too high, and initializes three queues managed by the display list resource managers: allocatedreurceQueue, ActiveResourceQueue, and OrphanedResourceQueue.
The display list resource applicant obtains the ListResourceMenager of the graphic environment where the applicant is located. ListResourcemanager takes out a ListResource from the head of the OrphanedResourceQueue managed by the ListResourcemanager, and if the OrphanedResourceQueue is empty, a ListResource is regenerated and applies for a display list unit to be assigned to the ListResource from the GPU. ListResource sets its own geometry reference according to the incoming geometry pointer, assigns itself to the geometry's display list resource reference, and adds this ListResource to the AllocatedResourceQueue tail.
Executing the UplodResource function of ListResourcemanager, traversing AllocatedResourceQueue, acquiring a geometry pointer bound by ListResource, executing the data compiling function of geometry, and adding ListResource to the tail of the ActiveResourceQueue.
And in the display list resource recycling stage, due to the property that the display list units can not be reused, all display list units applied in ActiveResourceQueue are released in the stage, and the queue is emptied.
Before the rendering scene is finished, the ListResourceMeagers in the graphic environments release all the ListResources managed by the graphic environments, and the graphic environments destroy the ListResourceMeagers owned by the graphic environments.
The renderbufferuourcemanager (renderbufferumanager) manages the use of renderbufferuource (renderbufferusource) by the following operations:
each graphic environment generates a respective render buffer resource manager when a scene is initialized, sets an upper limit of the render buffer resource, prevents the GPU video memory from occupying too high, and initializes three queues managed by the render buffer resource manager: allocatedreurceQueue, ActiveResourceQueue, and OrphanedResourceQueue.
The renderBuffer resource manager acquires the renderBufferResourcemanager of the graphic environment where the renderBuffer resource manager is located. The RenderBufferResourcemanager takes out a RenderBufferResource from the head of the OrphanedResourceQueue managed by the RenderBufferResourcemanager, and if the OrphanedResourceQueue is empty, a RenderBufferResource is regenerated and applies a RenderBufferUnit to the RenderBufferResource for the GPU. RenderBufferResource sets its own RenderTarget reference according to the incoming render target (RenderTarget) pointer and assigns itself to the RenderBuffer resource reference of RenderTarget, adding this RenderBufferResource to the AllocatedResourceQueue tail.
And in the RenderBuffer resource recycling stage, executing a ReleaseResource function of a RenderBufferResourcemanager, traversing ActiveResourceQueue, acquiring a RenderTarget pointer bound by the RenderBufferResource, setting the bound RenderBufferResource reference as NULL if the reference count of the RenderTarget is 1, releasing the binding between the RenderBufferResource and the RenderTarget, and adding the RenderBufferResource to the tail of the OrphanedResourceQueue.
Before the rendering scene is finished, all managed renderBufferResourceMeagers in the graphic environments are released, and the graphic environments destroy the renderBufferResourceMeagers owned by the graphic environments.
The framebufferoobject resource manager (framebufferoresourcemanager) manages the use of framebufferoobject resources (framebufferoresource) by:
each graphic environment generates a respective FrameBufferObject resource manager framebufferoresourcemanager when a scene is initialized, sets an upper limit of the usage of FrameBufferObject resources, prevents the video memory occupancy of the GPU from being too high, and initializes three queues managed by the FrameBufferObject resource manager: allocatedreurceQueue, ActiveResourceQueue, and OrphanedResourceQueue.
The framebufferoobject resource manager obtains the framebufferoresourcemanager of the graphics environment where it is located. The FrameBufferResourcemanager takes out a FrameBufferResource from the OrphanedResourceQueue header managed by the FrameBufferResourcemanager, and if the OrphanedResourceQueue is empty, a FrameBufferResource is regenerated and applies a FrameBufferObject unit to the GPU to be assigned to the FrameBufferResource. The framebufferrResource sets its RenderTarget reference according to the incoming render target (RenderTarget) pointer and assigns itself to the renderObject resource reference of the RenderTarget, which is added to the allocatedResourceQueue tail.
In the resource recycling phase of the framebufferrObject, a ReleaseResource function of the framebufferrResourcemanager is executed, ActiveResourceQueue is traversed, a RenderTarget pointer bound by the framebufferrResource is obtained, if the reference count of the RenderTarget is 1, the FrameBufferResource reference bound by the RenderTarget is set to NULL, the binding between the FrameBufferResource and the RenderTarget is released, and the FrameBufferResource is added to the tail of the OrphanedResourceQueue.
Before the rendering of the scene is finished, all the FrameBufferResourceMeagers managed by the FrameBufferResourceMessargers in the graphic environments are released, and the FrameBufferResourceMeagerAgents owned by the graphic environments are destroyed.
The VertexBufferObject resource manager (BufferResourcemanager) manages the use of VertexBufferObject resources (BufferResource) as follows:
each graphic environment generates a respective VertexBufferObject resource manager BufferResourceMeanager when a scene is initialized, sets an upper limit of the VertexBufferObject resource, prevents the GPU video memory from occupying too high, and initializes three queues managed by the VertexBufferObject resource manager: allocatedreurceQueue, ActiveResourceQueue, and OrphanedResourceQueue.
The VertexBufferObject resource manager acquires the BufferResourcemanager of the graphic environment where the VertexBufferObject resource manager is located. The BufferResourcemanager takes out one BufferResource from the head of the OrphanedResourceQueue managed by the BufferResourcemanager, and if the OrphanedResourceQueue is empty, the BufferResource is regenerated and applies a VertexBufferObject unit to the GPU. The bufferrResource sets its VertexAttribute reference according to the incoming vertex attribute (VertexAttribute) pointer, assigns itself to the VertexBufferObject resource reference of VertexAttribute, and adds this bufferrResource to the AllocatedResourceQueue tail.
And in the resource recycling stage of the VertexBufferObject, executing a ReleaseResource function of the BufferResourcemanager, traversing the ActiveResourceQueue, acquiring a VertexAttribute pointer bound by the BufferResource, setting the bound BufferResource reference to NULL if the reference count of the VertexAttribute is 1, releasing the binding of the BufferResource and VertexAttribute, and adding the BufferResource to the tail of the OrphanedResourceQueue.
Before the rendering of the scene is finished, the bufferResourceMeagers in the graphic environments release all the bufferResources managed by the graphic environments, and the graphic environments destroy the bufferResourceMeagers owned by the graphic environments.
A Program resource manager (Program resource manager) manages the use of a Program resource (Program resource) by:
each graphic environment generates a respective Program resource manager (Program resource manager) when a scene is initialized, sets an upper limit of the use of Program resources, prevents the GPU video memory from occupying too high, and initializes three queues managed by the Program resource managers: allocatedreurceQueue, ActiveResourceQueue, and OrphanedResourceQueue.
The Program resource manager acquires the Program resource manager of the graphic environment where the Program resource manager is located. The ProgramResourceManager takes out a ProgramResource from the head of the OrphanedResourceQueue managed by the programResourcemanager, and if the OrphanedResourceQueue is empty, a ProgramResource is regenerated and applies for a Program unit to be assigned to the ProgramResource from the GPU. The Program resource sets its own Program reference according to the incoming Program pointer, assigns itself to the Program resource reference of the Program, and adds the Program resource to the tail of the allocated resource queue.
And in the Program resource recycling stage, executing a ReleaseResource function of a ProgramResourceMeanager, traversing ActiveResourceQueue, acquiring a Program pointer bound by the ProgramResource, setting the bound ProgramResource reference to NULL if the reference count of the Program is 1, releasing the binding between the ProgramResource and the Program, and adding the ProgramResource to the tail of the OrphanedResourceQueue.
Before the rendering scene is finished, the programresourcemanagers in the graphic environments release all the programresources managed by the graphic environments, and the graphic environments destroy the programresourcemanagers owned by the graphic environments.
The shader resource manager (shader resource manager) manages the use of shader resources (shader resource) by the following operations:
each graphics environment generates a respective shader resource manager ShaderResourceMeanager when a scene is initialized, sets the use upper limit of shader resources, prevents the GPU video memory from occupying too high, and initializes three queues managed by the shader resource managers: allocatedreurceQueue, ActiveResourceQueue, and OrphanedResourceQueue.
The shader resource manager obtains the ShaderResourceMeanager of the graphics environment in which it is located. ShaderResourcemanager fetches a ShaderResource from the OrphanedResourceQueue header it manages, and if OrphanedResourceQueue is empty, regenerates a ShaderResource and applies for a shader unit assignment to ShaderResource to the GPU. ShaderResource sets its shader references according to the incoming shader pointers and assigns itself to the shader resource references of the shaders, adding this ShaderResource to the AllocatedResourceQueue tail.
The seven types of graphics resource managers correspond to seven rendering resources of the GPU required for managing graphics rendering, and include: the texture rendering unit, the display list unit, the texture buffer unit, the frame buffer unit, the vertex buffer unit, the program unit and the shader unit are collectively called graphics rendering resources.
And in the shader resource recycling stage, executing a ReleaseResource function of the ShaderResourceAnager, traversing the ActiveResourceQueue, acquiring a shader pointer bound by the ShaderResource, setting the ShaderResource reference bound by the shader to NULL if the reference count of the shader is 1, unbinding the ShaderResource and the shader, and adding the ShaderResource to the tail of the OrphanedResourceQueue.
Before the rendering scene is finished, all the ShaderResourceMeanagers managed by the ShaderResourceMenagers in the graphic environments are released, and the ShaderResourceMenagers owned by the graphic environments are destroyed.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
While embodiments of the invention have been shown and described, it will be understood by those of ordinary skill in the art that: various changes, modifications, substitutions and alterations can be made to the embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents.

Claims (5)

1. A method for managing graphics rendering resources, comprising the steps of:
(1) initializing a scene, and initializing each graphics resource manager, wherein the graphics resource managers include: a texture resource manager, a display list resource manager, a texture buffer render buffer resource manager, a frame buffer object resource manager, a vertex buffer object resource manager, a Program resource manager and a shader resource manager;
(2) applying for and distributing the graphic resources;
(3) uniformly submitting the rendering data to a Graphics Processing Unit (GPU) and releasing a Central Processing Unit (CPU) memory;
(4) recovering GPU idle rendering resources;
(5) and after the rendering is finished, releasing all applied GPU rendering resources.
2. A method of managing graphics rendering resources as recited in claim 1, wherein: in the step (1), each image resource manager manages three image resource queues, wherein each image resource queue comprises an allocated data uncommitted resource queue, an allocated data committed queue and a recycled idle resource queue, and each rendering resource has a rendering resource ID.
3. A method of managing graphics rendering resources as recited in claim 1, wherein: when the graphics resource manager applies for graphics rendering resources in step (2), firstly obtaining graphics resources from an idle resource queue, and if the idle resource queue is not empty, taking out a graphics rendering resource from the head of the queue and allocating the graphics rendering resource to the graphics resource manager; and if the free resource queue is empty, applying for generating a new graphic resource from the GPU, and adding the graphic resource to the tail of the allocated data uncommitted resource queue.
4. A method of managing graphics rendering resources as recited in claim 1, wherein said step (3) comprises: in the process of uniformly submitting data to the GPU, the graphic resource manager traverses the allocated data uncommitted resource queue, submits data to each graphic resource, releases CPU memory operation, and then moves the graphic resource to the tail of the allocated data submitted queue.
5. A method of managing graphics rendering resources as recited in claim 1, wherein: in the step (4), the graphics resource manager traverses the allocated data submitted queue in the resource recovery stage, and if the graphics resource manager releases the occupation of the graphics resource, the graphics rendering resource is recovered, and the graphics rendering resource is moved to the tail of the recovered idle resource queue.
CN201710846042.0A 2017-09-19 2017-09-19 Method for managing graphics rendering resources Active CN107885597B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710846042.0A CN107885597B (en) 2017-09-19 2017-09-19 Method for managing graphics rendering resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710846042.0A CN107885597B (en) 2017-09-19 2017-09-19 Method for managing graphics rendering resources

Publications (2)

Publication Number Publication Date
CN107885597A CN107885597A (en) 2018-04-06
CN107885597B true CN107885597B (en) 2020-12-15

Family

ID=61780704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710846042.0A Active CN107885597B (en) 2017-09-19 2017-09-19 Method for managing graphics rendering resources

Country Status (1)

Country Link
CN (1) CN107885597B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888637B (en) * 2018-08-16 2023-09-26 龙芯中科技术股份有限公司 Vertex attribute processing method, vertex attribute processing device, vertex attribute processing equipment and computer readable storage medium
CN109976741B (en) * 2019-03-21 2022-06-14 深圳市腾讯信息技术有限公司 Computer resource management method and device, intelligent terminal and storage medium
CN110058913B (en) * 2019-03-25 2022-05-20 中国航空无线电电子研究所 Display list management method
CN116149866B (en) * 2023-04-14 2023-08-04 深圳市明源云科技有限公司 Working space adaptive rendering method, device, equipment and readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880464A (en) * 2012-08-31 2013-01-16 中山市世宇动漫科技有限公司 Three-dimensional game engine system
CN104102488A (en) * 2014-07-18 2014-10-15 无锡梵天信息技术股份有限公司 Multithread parallelization based 3D (three dimensional) engine system
CN105183566A (en) * 2015-10-16 2015-12-23 上海恺英网络科技有限公司 Resource management method for 3D game rendering engine
CN105413176A (en) * 2015-11-10 2016-03-23 内蒙古工业大学 3D engine system applied to games

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880464A (en) * 2012-08-31 2013-01-16 中山市世宇动漫科技有限公司 Three-dimensional game engine system
CN104102488A (en) * 2014-07-18 2014-10-15 无锡梵天信息技术股份有限公司 Multithread parallelization based 3D (three dimensional) engine system
CN105183566A (en) * 2015-10-16 2015-12-23 上海恺英网络科技有限公司 Resource management method for 3D game rendering engine
CN105413176A (en) * 2015-11-10 2016-03-23 内蒙古工业大学 3D engine system applied to games

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
3D游戏引擎的设计与实现;阮复初;《西南交通大学硕士学位论文》;20101115;全文 *

Also Published As

Publication number Publication date
CN107885597A (en) 2018-04-06

Similar Documents

Publication Publication Date Title
CN107885597B (en) Method for managing graphics rendering resources
JP5202319B2 (en) Scalable multithreaded media processing architecture
US9286119B2 (en) System, method, and computer program product for management of dependency between tasks
DE102013017640B4 (en) Distributed tiled caching
DE102013208554B4 (en) Method and system for managing nested execution streams
DE102013200991A1 (en) Automatic dependent-task-launching
TWI488118B (en) Signaling, ordering, and execution of dynamically generated tasks in a processing system
Steinberger et al. Whippletree: Task-based scheduling of dynamic workloads on the GPU
CN115100022B (en) Graphic processing method and system
DE102012220267A1 (en) Computational work distribution reference counter
DE112010003750T5 (en) Hardware for parallel command list generation
DE102013224160A1 (en) System, method, and computer program product for optimizing thread stack memory management
CN107292807A (en) A kind of figure synthetic method, window method to set up and system
DE102013208421A1 (en) Sharing a graphics processing unit among many applications
Ize et al. Real-Time Ray Tracer for Visualizing Massive Models on a Cluster.
DE102017109472A1 (en) STEREO MULTIPLE PROJECTION IMPLEMENTED BY USING A GRAPHIC PROCESSING PIPELINE
CN111316239B (en) Wave creation control with dynamic resource allocation
WO2016160035A1 (en) Persistent memory versioning and merging
TW201439762A (en) Technique for performing memory access operations via texture hardware
KR102114245B1 (en) Graphics state manage apparatus and method
JP6974510B2 (en) Methods, devices, devices and media for processing data
US20190163527A1 (en) Precise suspend and resume of workloads in a processing unit
US11734869B2 (en) Graphics processing
CN110084738B (en) Techniques for representing and processing geometry in an extended graphics processing pipeline
JP2022534438A (en) graphics context bouncing

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