WO2022048098A1 - 一种基于多显卡的游戏画面渲染方法和系统 - Google Patents

一种基于多显卡的游戏画面渲染方法和系统 Download PDF

Info

Publication number
WO2022048098A1
WO2022048098A1 PCT/CN2021/070651 CN2021070651W WO2022048098A1 WO 2022048098 A1 WO2022048098 A1 WO 2022048098A1 CN 2021070651 W CN2021070651 W CN 2021070651W WO 2022048098 A1 WO2022048098 A1 WO 2022048098A1
Authority
WO
WIPO (PCT)
Prior art keywords
rendering
physical
task
graphics cards
graphics
Prior art date
Application number
PCT/CN2021/070651
Other languages
English (en)
French (fr)
Inventor
吴越昕
郭建君
孙华庆
Original Assignee
北京蔚领时代科技有限公司
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 北京蔚领时代科技有限公司 filed Critical 北京蔚领时代科技有限公司
Priority to US17/598,679 priority Critical patent/US20220193547A1/en
Priority to EP21772660.3A priority patent/EP3984609A4/en
Priority to JP2021555100A priority patent/JP7323948B2/ja
Publication of WO2022048098A1 publication Critical patent/WO2022048098A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/06Use of more than one graphics processor to process data before displaying to one or more screens

Definitions

  • the present invention relates to the technical field of cloud games, and in particular, to a method and system for rendering game scenes based on multiple graphics cards.
  • Multi-graphics card rendering has certain applications in the field of cloud games and professional graphics.
  • the current method of using multi-graphics card rendering is Nvidia's SLI, NVLink and AMD's Crossfire technology.
  • Nvidia's SLI and NVLink need to ensure that the multiple graphics cards used are of the same model, and need to connect accessories for physical connection before they can be used.
  • Most AMD graphics cards also require a bridge to carry out crossfire. Although a small number of devices do not require a bridge, crossfire between A card and N card cannot be carried out.
  • the prior art can only meet the usage scenario of a single process and a single graphics card, and the graphics card cannot be switched in the middle.
  • the purpose of the present invention is to provide a method for rendering game images using multiple graphics cards from different manufacturers, different models and different computing capabilities without the intervention of SLI and NVLink connection devices.
  • the present invention provides a method for rendering game images based on multiple graphics cards, the method comprising:
  • M is an integer greater than 1
  • a graphics API is loaded on the physical host, and a graphics card driver of the physical host controls the M physical graphics cards,
  • M physical graphics cards on the physical host including:
  • the M physical graphics cards are identified through the graphics card driver and the graphics API.
  • the determined rendering task is divided into at least one rendering part, including:
  • the rendering task is a game screen rendering task of a single user
  • the rendering task is divided into at least one rendering part, wherein each rendering part is a frame of the user's game screen or a part of a frame of the game screen ;
  • the rendering task is a game screen rendering task of multiple users
  • the rendering task is divided into multiple rendering parts, wherein each rendering part is a frame of a game screen of a user or a frame of a game of a user part of the screen.
  • the rendering task is a game screen rendering task of a single user
  • determining the target physical graphics card according to the at least one rendering part includes:
  • one physical graphics card among the M physical graphics cards is determined as the target physical graphics card
  • N physical graphics cards in the M physical graphics cards are determined as the target physical graphics cards, where N is an integer greater than 1 and less than or equal to M.
  • the rendering task is a game screen rendering task of multiple users
  • determining the target physical graphics card according to the at least one rendering part includes:
  • N N physical graphics cards among the M physical graphics cards as the target physical graphics cards, where N is an integer greater than 1 and less than or equal to M.
  • the at least one rendering part is rendered by the target physical graphics card, including:
  • the at least one renderer is assisted by the target physical graphics card to perform rendering processing on the at least one rendering part.
  • the renderer exports the rendering result to the output device swap chain, and the output device obtains the rendering result from the output device swap chain.
  • the creating at least one logical device includes:
  • a logical device is created from each physical graphics card of the target physical graphics card, wherein one physical graphics card corresponds to at least one logical device.
  • the outputting the rendering result through the output device includes:
  • the output device When the rendering task is divided into a rendering part, the output device outputs a rendering result
  • the output device When the rendering task is divided into multiple rendering parts, the output device combines and outputs the rendering results of the at least one rendering part.
  • the physical host is loaded with a graphics API
  • the method further includes: creating a corresponding Context for the at least one logical device, wherein one of the rendering parts is associated with one of the Contexts, and the graphics API is invoked and an identifier of the logical device is provided through the Context.
  • a rendering thread is allocated to each of the rendering parts for rendering.
  • a plurality of the rendering threads share a common rendering resource manager.
  • the rendering thread obtains the rendering resources required for the current rendering part from the common rendering resource manager.
  • the rendering thread invokes the rendering resource through the rendering resource manager according to the current rendering part, and after the renderer executes the rendering process, the rendering result is output through the output device swap chain.
  • the present invention also provides a game screen rendering system based on multiple graphics cards, the system comprising:
  • An identification unit for identifying M physical graphics cards on a physical host where M is an integer greater than 1;
  • a task segmentation unit which is used to determine the rendering task and divide it into at least one rendering part
  • a graphics card allocation unit configured to determine a target physical graphics card according to the at least one rendering part, wherein the target physical graphics card is one or more of the M physical graphics cards;
  • a rendering unit configured to render the at least one rendering part through the target physical graphics card
  • Output unit for outputting rendering results.
  • the identifying unit identifies the M physical graphics cards through a graphics card driver and a graphics API loaded on the physical host.
  • the rendering unit renders the at least one rendering part through the target physical graphics card, including:
  • the at least one renderer is assisted by the target physical graphics card to perform rendering processing on the at least one rendering part.
  • the renderer exports the rendering result to the output device swap chain, and the output device obtains the rendering result from the output device swap chain.
  • the creating at least one logical device includes:
  • a logical device is created from each physical graphics card of the target physical graphics card, wherein one physical graphics card corresponds to at least one logical device.
  • the beneficial effects of the present invention are as follows: in the game process in which a single process serves multiple users, multiple physical graphics cards in the physical host are fully utilized to complete the rendering task, and different graphics cards can be used for each access user to render the game screen, or Render a game screen for a single user using multiple graphics cards simultaneously.
  • Using one or more graphics cards in a single process for graphics rendering through the graphics API can make full use of multiple graphics card resources, improve rendering capabilities, and achieve higher frame rates.
  • FIG. 1 is a schematic flowchart of a method for rendering game images based on multiple graphics cards according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a multi-graphics card structure of a game screen rendering method based on multiple graphics cards according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a rendering process of a method for rendering game images based on multiple graphics cards according to an embodiment of the present invention
  • FIG. 4 is a schematic diagram of a system structure of a game screen rendering system based on multiple graphics cards according to an embodiment of the present invention.
  • a method for rendering game images based on multiple graphics cards includes:
  • M is an integer greater than 1
  • the target physical graphics card is one or more of the M physical graphics cards
  • a graphics API is uploaded on the physical host, and the graphics card driver of the physical host controls M physical graphics cards,
  • M physical graphics cards on the physical host including:
  • the graphics API is, for example, the Vulkan API.
  • the Vulkan API is used to select a physical graphics card and create a logical device from the physical graphics card.
  • M (1 ⁇ M ⁇ number of graphics cards) physical graphics cards are selected as required.
  • N N ⁇ M logical devices, and then create corresponding rendering resource managers, renderers, and output device swap chains corresponding to output targets based on the logical devices.
  • the at least one rendering part is rendered by the target physical graphics card, including:
  • the at least one renderer is assisted by the target physical graphics card to perform rendering processing on at least one rendering part.
  • one renderer corresponds to one output device swap chain
  • the renderer exports the rendering result to the output device swap chain
  • the output device obtains the rendering result of the corresponding renderer from the output device swap chain.
  • the output device swap chain is the SwapChain in Figure 3.
  • At least one logical device creates a corresponding Context, wherein a rendering part is associated with a Context, and the graphics API is invoked through the Context and an identifier of the logical device is provided.
  • the game process allocates a rendering thread for each rendering part for rendering.
  • a plurality of the rendering threads share a common rendering resource manager.
  • Rendering resources contain data such as models and textures that are needed for the current rendering part.
  • the rendering thread obtains the rendering resources needed for the current rendering part from the common rendering resource manager.
  • the renderer When the rendering task is a rendering part and is rendered by one renderer, the renderer outputs the rendering result to the output device through the output device swap chain and displays it; when the rendering task is divided into multiple rendering parts and rendered through multiple renderers, the output The device swap chain outputs the rendering results to the output device, and the output device combines the rendering results of multiple renderers and displays them.
  • the rendering task is determined and divided into at least one rendering part, including:
  • the rendering task is a game screen rendering task of a single user
  • the rendering task is divided into at least one rendering part, wherein each rendering part is one frame of the user's game screen or a part of one frame of the game screen;
  • the rendering task is a game screen rendering task of multiple users
  • the rendering task is divided into multiple rendering parts, wherein each rendering part is a frame of a user's game screen or a part of a user's one frame of game screen .
  • the rendering part is a part of a frame of the game screen
  • a segmentation method is: based on the plane divided into equal parts by grid, the width and height of the entire plane can be determined, and the coordinates of each small block of the grid, The size and offset can also be determined, thereby determining the position information of each segment, and subsequent synthesis is performed based on the above position information.
  • output rendering results through output devices including:
  • the output device When the rendering task is divided into a rendering part, the output device outputs the rendering result
  • the output device When the rendering task is divided into multiple rendering parts, the output device combines the rendering results of at least one rendering part and outputs the result.
  • the rendering data flows to the swap chain of the readable buffer, the graphics card that assists rendering outputs the data to the buffer, and then the graphics card responsible for synthesizing the picture is responsible for outputting the data to the buffer. It can be combined and output through the exchange chain output to the screen, so that by rationally allocating rendering resources, rendering targets and combining rendering effects, the ability of multiple graphics cards to jointly render a scene can be fully utilized.
  • the specific process is as follows: select the number of graphics cards involved in rendering according to the complexity of the scene, and divide the scene picture into blocks according to the number of graphics cards allocated, provide resources required for rendering for each segmented graphics card, and allow the graphics cards responsible for rendering to execute in parallel Rendering work, all the rendering results are combined and the rendering results become a complete game screen, and finally the completed game screen is output to a display device or an encoding device.
  • the rendering task is a game screen of a single user, the rendering task is divided into a rendering part, the rendering part is a frame of the user's game screen, a target physical graphics card is determined according to the rendering part, and a logic is created correspondingly.
  • Devices, logical devices correspond to a renderer.
  • the renderer renders one frame of game image correspondingly, and the rendered one frame of game image is output through the output device.
  • the above method can write an independent rendering program in the same way as the scene rendered by a single graphics card.
  • the rendering task is a game screen of a single user, the rendering task is divided into multiple rendering parts, the rendering part is a frame of the user's game screen, and multiple target physical graphics cards are determined according to the rendering part, corresponding to Create multiple logical devices, each logical device corresponds to a renderer and an output device swap chain, the renderer renders a frame of game screen correspondingly, and outputs the rendered frame of game screen to the corresponding output device swap chain, the output device Obtain the rendered frame of the game image from the exchange chain of each output device, and integrate the acquired multi-frame game image into a video stream according to the time stamp identifier of the frame image recorded when the rendering task is split and the logical device identifier that performs the rendering operation. form output.
  • the rendering task is a game screen of a single user, the rendering task is divided into multiple rendering parts, the rendering part is a part of the user's game screen in one frame, and multiple target physics are determined according to the rendering part.
  • Graphics card corresponding to the creation of multiple logical devices, each logical device corresponds to a renderer and an output device swap chain, the renderer corresponds to rendering a part of a frame of game screen, and outputs a part of the rendered frame of game screen to the corresponding The output device swap chain, the output device obtains a part of the game screen after rendering from the output device swap chain, and according to the label ID of each rendering part and the logical device ID that performs the rendering operation when the rendering task is divided, the obtained multiple slices
  • the game screen is merged into a complete one-frame game screen output.
  • the rendering task is a game screen of multiple users, the rendering task is divided into multiple rendering parts, the rendering part is a frame of game screen of one user, and multiple target physical graphics cards are determined according to the rendering part, Correspondingly create multiple logical devices, each logical device corresponds to a renderer and an output device swap chain, and assign multiple renderers to each user to render the user's game screen, one renderer corresponds to rendering a frame of game screen, and Output a rendered frame of game screen to the corresponding output device swap chain, the output device obtains the rendered game screen from each output device swap chain, and records the user ID and the time stamp ID of the frame screen when splitting according to the rendering task and the logical device identifier for performing the rendering operation, respectively integrate the rendered multi-frame game images of each user and output them in the form of video streams.
  • the rendering task is a game screen of multiple users, the rendering task is divided into multiple rendering parts, the rendering part is a part of a frame of a user's game screen, and multiple targets are determined according to the rendering part Physical graphics card, corresponding to the creation of multiple logical devices, each logical device corresponds to a renderer and an output device swap chain, the renderer corresponds to rendering a part of the current user's one-frame game screen, and renders the current user's one-frame game after rendering.
  • a part of the screen is output to the corresponding output device swap chain, and the output device obtains a part of a frame of the current user's game screen after rendering from the output device swap chain, and records the user ID and the ID of each rendering part according to the user ID recorded when the rendering task is split. and the identifier of the logical device that performs the rendering operation, and combine the acquired multiple pieces of the game picture of the current user's one frame of the game picture into a complete one frame of the game picture for output.
  • the game process runs on the cloud server.
  • the multiple physical graphics cards are managed by the graphics card driver, and the game process is managed by the graphics card.
  • the driver and graphics API recognize the physical graphics card, and through the graphics API, each physical device can be abstracted into multiple logical devices, and a renderer is created for each logical device.
  • Each renderer has relatively independent graphics card resources, Each renderer corresponds to an output device for outputting and displaying rendering results.
  • the game process starts, initializes the game process, initializes the Vulkan API, identifies all physical graphics cards on the physical host, and records;
  • the renderer performs the rendering task
  • the method of the present invention can be encapsulated into a graphics API library with the calling capability of multiple graphics cards, and developers can use one or more graphics cards to perform graphics rendering in a single process by using the provided API.
  • a single process can use multiple graphics cards to work at the same time, and even a single process can fully use the resources of multiple graphics cards; in complex scenes that cannot be rendered smoothly by one graphics card, you can rely on the rendering capabilities of multiple graphics cards to achieve higher frame rates; It can also use the remaining computing power of the graphics card to reduce waste.
  • a game screen rendering system based on multiple graphics cards includes an identification unit, a task segmentation unit, a graphics card allocation unit, a rendering unit, and an output unit.
  • the identification unit is used to identify M physical graphics cards on the physical host, where M is an integer greater than 1;
  • the task division unit is used to determine the rendering task and divide it into at least one rendering part;
  • the graphics card allocation unit is used to determine the rendering task according to the at least one A rendering part determines a target physical graphics card, wherein the target physical graphics card is one or more of the M physical graphics cards;
  • a rendering unit is used to render the at least one rendering part through the target physical graphics card; outputting Unit, used to output rendering results.
  • the aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes .

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

一种基于多显卡的游戏画面渲染方法及系统,该方法包括:识别物理主机上的M个物理显卡;确定渲染任务并切分为至少一个渲染部分;根据至少一个渲染部分确定目标物理显卡,其中,该目标物理显卡为所述M个物理显卡中的一个或多个;通过该目标物理显卡对至少一个渲染部分进行渲染;通过输出设备输出渲染结果。在单进程服务多用户的游戏进程中充分利用物理主机内的多张物理显卡完成渲染任务,既可以为每个接入用户分别用不同的显卡渲染游戏画面,也可以为单个用户同时使用多张显卡渲染一个游戏画面,能充分利用多显卡资源,提高渲染能力,达到更高的帧率。

Description

一种基于多显卡的游戏画面渲染方法和系统 技术领域
本发明涉及云游戏技术领域,具体而言,涉及一种基于多显卡的游戏场景渲染方法和系统。
背景技术
传统的游戏和游戏引擎只提供了单显卡的调用和渲染能力。多显卡渲染在云游戏及专业图形领域有一定的应用,使用多显卡渲染目前的方法是Nvidia的SLI、NVLink和AMD的交火技术。Nvidia的SLI和NVLink需要保证使用的多张显卡是同型号,并且需要连接配件进行物理连接后才能使用。AMD大多数显卡也是需要桥接器才能进行交火的,虽然少部分设备不需要桥接器,但A卡和N卡间的交火是无法进行的。另外,现有技术只能满足单进程单显卡的使用场景,中途也无法切换显卡。
发明内容
为解决上述问题,本发明的目的在于提供一种在无SLI和NVLink连接设备介入的情况下,使用多张来自不同的厂商、不同的型号和不同的运算能力的显卡进行游戏画面渲染的方法。
为实现上述目的,本发明提供了一种基于多显卡的游戏画面渲染方法,该方法包括:
识别物理主机上的M个物理显卡,其中,M为大于1的整数;
确定渲染任务并切分为至少一个渲染部分;
根据所述至少一个渲染部分确定目标物理显卡,其中,所述目标物理显卡为所述M个物理显卡中的一个或多个;
通过所述目标物理显卡对所述至少一个渲染部分进行渲染;
通过输出设备输出渲染结果。
作为本发明进一步的改进,所述物理主机上载有图形API,所述物理主机的显卡驱动程序控制所述M个物理显卡,
其中,识别物理主机上的M个物理显卡,包括:
通过所述显卡驱动程序和所述图形API识别所述M个物理显卡。
作为本发明进一步的改进,所述确定渲染任务并切分为至少一个渲染部 分,包括:
当所述渲染任务为单个用户的游戏画面渲染任务时,将所述渲染任务切分为至少一个渲染部分,其中,每个渲染部分为该用户的一帧游戏画面或一帧游戏画面中的一部分;
当所述渲染任务为多个用户的游戏画面渲染任务时,将所述渲染任务切分为多个渲染部分,其中,每个渲染部分为一个用户的一帧游戏画面或一个用户的一帧游戏画面中的一部分。
作为本发明进一步的改进,所述渲染任务为单个用户的游戏画面渲染任务,
其中,所述根据所述至少一个渲染部分确定目标物理显卡,包括:
当所述渲染任务切分为一个渲染部分时,将所述M个物理显卡中的一个物理显卡确定为所述目标物理显卡;
当所述渲染任务切分为多个渲染部分时,将所述M个物理显卡中的的N个物理显卡确定为所述目标物理显卡,其中,N为大于1,小于或等于M的整数。
作为本发明进一步的改进,所述渲染任务为多个用户的游戏画面渲染任务,
其中,所述根据所述至少一个渲染部分确定目标物理显卡,包括:
将所述M个物理显卡中N个物理显卡确定为所述目标物理显卡,其中,N为大于1,小于或等于M的整数。
作为本发明进一步的改进,通过所述目标物理显卡对所述至少一个渲染部分进行渲染,包括:
创建至少一个逻辑设备;
创建与所述至少一个逻辑设备对应的至少一个渲染器,其中,一个逻辑设备对应一个渲染器;
通过所述目标物理显卡辅助所述至少一个渲染器,对所述至少一个渲染部分进行渲染处理。
作为本发明进一步的改进,所述渲染器将渲染结果导出至输出设备交换 链,所述输出设备从所述输出设备交换链获取渲染结果。
作为本发明进一步的改进,所述创建至少一个逻辑设备,包括:
根据确定的所述目标物理显卡,分别从所述目标物理显卡的各个物理显卡中创建逻辑设备,其中,一个物理显卡对应至少一个逻辑设备。
作为本发明进一步的改进,所述通过输出设备输出渲染结果,包括:
当所述渲染任务切分为一个渲染部分时,所述输出设备输出渲染结果;
当所述渲染任务切分为多个渲染部分时,所述输出设备将所述至少一个渲染部分的渲染结果合并后输出。
作为本发明进一步的改进,所述物理主机上载有图形API,
其中,所述方法还包括:为所述至少一个逻辑设备创建对应的Context,其中,一个所述渲染部分关联一个所述Context,通过所述Context调用所述图形API和提供逻辑设备的标识。
作为本发明进一步的改进,为每个所述渲染部分分配一个渲染线程进行渲染。
作为本发明进一步的改进,多个所述渲染线程共用一个公共渲染资源管理器。
作为本发明进一步的改进,所述渲染线程从所述公共渲染资源管理器获取当前渲染部分所需的渲染资源。
作为本发明进一步的改进,所述渲染线程根据当前渲染部分通过渲染资源管理器调用渲染资源,渲染器执行渲染过程后,通过输出设备交换链将渲染结果输出。
本发明还提供了一种基于多显卡的游戏画面渲染系统,该系统包括:
识别单元,用于识别物理主机上的M个物理显卡,其中,M为大于1的整数;
任务切分单元,用于确定渲染任务并切分为至少一个渲染部分;
显卡分配单元,用于根据所述至少一个渲染部分确定目标物理显卡,其中,所述目标物理显卡为所述M个物理显卡中的一个或多个;
渲染单元,用于通过所述目标物理显卡对所述至少一个渲染部分进行渲 染;
输出单元,用于输出渲染结果。
作为本发明进一步的改进,所述识别单元通过所述物理主机上载有的显卡驱动程序和图形API识别所述M个物理显卡。
作为本发明进一步的改进,渲染单元通过所述目标物理显卡对所述至少一个渲染部分进行渲染,包括:
创建至少一个逻辑设备;
创建与所述至少一个逻辑设备对应的至少一个渲染器,其中,一个逻辑设备对应一个渲染器;
通过所述目标物理显卡辅助所述至少一个渲染器,对所述至少一个渲染部分进行渲染处理。
作为本发明进一步的改进,所述渲染器将渲染结果导出至输出设备交换链,所述输出设备从所述输出设备交换链获取渲染结果。
作为本发明进一步的改进,所述创建至少一个逻辑设备,包括:
根据确定的所述目标物理显卡,分别从所述目标物理显卡的各个物理显卡中创建逻辑设备,其中,一个物理显卡对应至少一个逻辑设备。
本发明的有益效果为:在单进程服务多用户的游戏进程中充分利用物理主机内的多张物理显卡完成渲染任务,既可以为每个接入用户分别用不同的显卡渲染游戏画面,也可以为单个用户同时使用多张显卡渲染一个游戏画面。通过图形API在单个进程内使用一张或多张显卡进行图形渲染,能充分利用多显卡资源,提高渲染能力,达到更高的帧率。
附图说明
图1为本发明实施例所述的一种基于多显卡的游戏画面渲染方法的流程示意图;
图2为本发明实施例所述的一种基于多显卡的游戏画面渲染方法的多显卡结构示意图;
图3为本发明实施例所述的一种基于多显卡的游戏画面渲染方法的渲染流程示意图;
图4为本发明实施例所述的一种基于多显卡的游戏画面渲染系统的系统 结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对发明开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明的描述中,所用术语仅用于说明目的,并非旨在限制本公开的范围。术语“包括”和/或“包含”用于指定元件、步骤、操作和/或组件的存在,但并不排除存在或添加一个或多个其他元件、步骤、操作和/或组件的情况。术语“第一”、“第二”等可能用于描述各种元件,不代表顺序,且不对这些元件起限定作用。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个及两个以上。这些术语仅用于区分一个元素和另一个元素。结合以下附图,这些和/或其他方面变得显而易见,并且,本领域普通技术人员更容易理解关于本发明实施例的说明。附图仅出于说明的目的用来描绘本公开实施例。本领域技术人员将很容易地从以下说明中认识到,在不背离本公开原理的情况下,可以采用本发明所示结构和方法的替代实施例。
本发明实施例所述的一种基于多显卡的游戏画面渲染方法,如图1-3所示,该方法包括:
识别物理主机上的M个物理显卡,其中,M为大于1的整数;
确定渲染任务并切分为至少一个渲染部分;
根据至少一个渲染部分确定目标物理显卡,其中,目标物理显卡为M个物理显卡中的一个或多个;
通过目标物理显卡对至少一个渲染部分进行渲染;
通过输出设备输出渲染结果。
进一步的,物理主机上载有图形API,物理主机的显卡驱动程序控制M 个物理显卡,
其中,识别物理主机上的M个物理显卡,包括:
通过显卡驱动程序和图形API识别M个物理显卡。
一种可选的实施方式,图形API例如为Vulkan API,通过Vulkan API选择物理显卡并从物理显卡创建逻辑设备,在游戏进程中,根据需要,选择M(1≤M≤显卡数)个物理显卡创建N(N≥M)个逻辑设备,再基于逻辑设备创建对应的渲染资源管理器、渲染器和对应输出目标的输出设备交换链。
进一步的,通过所述目标物理显卡对所述至少一个渲染部分进行渲染,包括:
创建至少一个逻辑设备;
创建与至少一个逻辑设备对应的至少一个渲染器,其中,一个逻辑设备对应一个渲染器;
通过目标物理显卡辅助至少一个渲染器,对至少一个渲染部分进行渲染处理。
进一步的,一个渲染器对应一个输出设备交换链,渲染器将渲染结果导出至输出设备交换链,输出设备从输出设备交换链获取与之对应的渲染器的渲染结果。输出设备交换链即为图3中SwapChain。
进一步的,至少一个逻辑设备创建对应的Context,其中,一个渲染部分关联一个Context,通过Context调用图形API和提供逻辑设备的标识。
进一步的,游戏进程为每个渲染部分分配一个渲染线程进行渲染。
进一步的,多个所述渲染线程共用一个公共渲染资源管理器。渲染资源包含当前渲染部分需要使用到的模型、纹理等数据。渲染线程从公共渲染资源管理器获取当前渲染部分所需的渲染资源。渲染任务为一个渲染部分并通过一个渲染器渲染时,渲染器通过输出设备交换链输出渲染结果至输出设备后显示;渲染任务切分为多个渲染部分,并通过多个渲染器渲染时,输出设备交换链输出渲染结果至输出设备,输出设备将多个渲染器的渲染结果合成后显示。
进一步的,确定渲染任务并切分为至少一个渲染部分,包括:
当渲染任务为单个用户的游戏画面渲染任务时,将渲染任务切分为至少一个渲染部分,其中,每个渲染部分为该用户的一帧游戏画面或一帧游戏画面中的一部分;
当渲染任务为多个用户的游戏画面渲染任务时,将渲染任务切分为多个渲染部分,其中,每个渲染部分为一个用户的一帧游戏画面或一个用户的一帧游戏画面中的一部分。
其中,渲染部分为一帧游戏画面中的一部分是,一种切分方式为:基于平面按网格等分切分的,整个平面的宽高可以确定,网格的每个小块的坐标、大小和偏移也是可以确定的,从而确定了每个切分部分的位置信息,后续合成基于上述位置信息进行合成。
进一步的,通过输出设备输出渲染结果,包括:
当渲染任务切分为一个渲染部分时,输出设备输出渲染结果;
当渲染任务切分为多个渲染部分时,输出设备将至少一个渲染部分的渲染结果合并后输出。
一种可选的实施方式,当需要使用多张显卡完成同一个渲染任务时,渲染数据流向可读缓冲区的交换链,辅助渲染的显卡把数据输出到缓冲区,再由负责合成画面的显卡进行组合,并通过输出到屏幕的交换链进行输出即可,以此通过合理分配渲染资源、渲染目标和组合渲染效果,就可以充分发挥多显卡共同渲染一个场景的能力。具体过程为:根据场景复杂度选择参与渲染的显卡数量,并根据分配的显卡数量对场景画面进行分块,为每个分块的显卡提供渲染所需的资源,让负责渲染的显卡并行的执行渲染工作,渲染完成所有的渲染结果组合渲染结果成为完整的游戏画面,最后将完成的游戏画面输出到显示设备或编码设备。
一种渲染的实施方式,渲染任务为单个用户的游戏画面,将渲染任务切分为一个渲染部分,渲染部分为该用户的一帧游戏画面,根据渲染部分确定一个目标物理显卡,对应创建一个逻辑设备,逻辑设备对应一个渲染器。渲染器对应渲染一帧游戏画面,渲染后的一帧游戏画面通过输出设备输出。上述方式与单显卡渲染的场景一样编写独立的渲染程序即可。
另一种渲染的实施方式,渲染任务为单个用户的游戏画面,将渲染任务切分为多个渲染部分,渲染部分为该用户的一帧游戏画面,根据渲染部分确定多个目标物理显卡,对应创建多个逻辑设备,每个逻辑设备对应一个渲染器和一个输出设备交换链,渲染器对应渲染一帧游戏画面,并将渲染后的一帧游戏画面输出至相应的输出设备交换链,输出设备从各输出设备交换链获取渲染后一帧游戏画面,并根据渲染任务切分时记录的帧画面的时间标标识和执行渲染操作的逻辑设备标识,将获取的多帧游戏画面整合以视频流的形式输出。
另一种渲染的实施方式,渲染任务为单个用户的游戏画面,将渲染任务切分为多个渲染部分,渲染部分为该用户的一帧游戏画面中的一部分,根据渲染部分确定多个目标物理显卡,对应创建多个逻辑设备,每个逻辑设备对应一个渲染器和一个输出设备交换链,渲染器对应渲染一帧游戏画面的一部分,并将渲染后的一帧游戏画面的一部分输出至相应的输出设备交换链,输出设备从输出设备交换链获取渲染后一帧游戏画面的一部分,并根据渲染任务切分时每个渲染部分的标标识和执行渲染操作的逻辑设备标识,将获取的多片游戏画面合并为一个完整的一帧游戏画面输出。
另一种渲染的实施方式,渲染任务为多个用户的游戏画面,将渲染任务切分为多个渲染部分,渲染部分为一个用户的一帧游戏画面,根据渲染部分确定多个目标物理显卡,对应创建多个逻辑设备,每个逻辑设备对应一个渲染器和一个输出设备交换链,并为每个用户分配多个渲染器渲染该用户的游戏画面,一个渲染器对应渲染一帧游戏画面,并将渲染后的一帧游戏画面输出至相应的输出设备交换链,输出设备从各输出设备交换链获取渲染后一帧游戏画面,并根据渲染任务切分时记录用户标识、帧画面的时间标标识和执行渲染操作的逻辑设备标识,分别将每个用户的渲染后的多帧游戏画面整合以视频流的形式输出。
另一种渲染的实施方式,渲染任务为多个用户的游戏画面,将渲染任务切分为多个渲染部分,渲染部分为一个用户的一帧游戏画面中的一部分,根据渲染部分确定多个目标物理显卡,对应创建多个逻辑设备,每个逻辑设备 对应一个渲染器和一个输出设备交换链,渲染器对应渲染当前用户的一帧游戏画面的一部分,并将渲染后的当前用户的一帧游戏画面的一部分输出至相应的输出设备交换链,输出设备从输出设备交换链获取渲染后当前用户的一帧游戏画面的一部分,并根据渲染任务切分时记录的用户标识、每个渲染部分的标识和执行渲染操作的逻辑设备标识,将获取的当前用户的一帧游戏画面的多片游戏画面合并为一个完整的一帧游戏画面输出。
在一个游戏进程中为一个或多个用户执行渲染程序时,游戏进程运行在云服务器上,云服务器的物理主机上存在多张物理显卡,多张物理显卡通过显卡驱动程序管理,游戏进程通过显卡驱动程序和图形API识别物理显卡,并通过图形API可以将每个物理设备抽象成多个逻辑设备,并为每个逻辑设备对应创建一个渲染器,每个渲染器拥有的相对独立的显卡资源,每个渲染器对应一个输出设备用于输出和展示渲染结果。
具体的工作流程为:
(1)游戏进程开始,初始化游戏进程,初始化Vulkan API,识别物理主机上的所有物理显卡,并记录;
(2)初始化公共资源管理器;
(3)根据收到渲染任务(如加入一个用户),创建渲染部分,为渲染部分创建逻辑设备,并为渲染部分分配的逻辑设备创建渲染资源管理器、渲染器、输出设备交换链;
(4)渲染器执行渲染任务;
(5)渲染结束(如用户退出),销毁渲染部分,销毁分配的逻辑设备;
(6)进程结束,销毁公共渲染资源管理器,销毁Vulkan对象。
本发明的方法可被封装成为一个具有多显卡调用能力的图形API库,开发者可以通过使用提供的API就可以在单个进程内使用一张或多张显卡进行图形渲染。单个进程可以使用多张显卡同时工作,即便是单个进程,也能充分使用多显卡资源;在一张显卡无法流畅渲染的复杂场景,可以依靠多张显卡的渲染能力,达到更高的帧率;而且还能把显卡的剩余计算力利用起来,减少浪费。
本发明实施例的一种基于多显卡的游戏画面渲染系统,如图4所示,该系统包括识别单元、任务切分单元、显卡分配单元、渲染单元和输出单元。识 别单元用于识别物理主机上的M个物理显卡,其中,M为大于1的整数;任务切分单元用于确定渲染任务并切分为至少一个渲染部分;显卡分配单元用于根据所述至少一个渲染部分确定目标物理显卡,其中,所述目标物理显卡为所述M个物理显卡中的一个或多个;渲染单元用于通过所述目标物理显卡对所述至少一个渲染部分进行渲染;输出单元,用于输出渲染结果。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
此外,本领域普通技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

  1. 一种基于多显卡的游戏画面渲染方法,其特征在于,该方法包括:
    识别物理主机上的M个物理显卡,其中,M为大于1的整数;
    确定渲染任务并切分为至少一个渲染部分;
    根据所述至少一个渲染部分确定目标物理显卡,其中,所述目标物理显卡为所述M个物理显卡中的一个或多个;
    通过所述目标物理显卡对所述至少一个渲染部分进行渲染;
    通过输出设备输出渲染结果。
  2. 根据权利要求1所述的基于多显卡的游戏画面渲染方法,其特征在于,所述物理主机上载有图形API,所述物理主机的显卡驱动程序控制所述M个物理显卡,
    其中,识别物理主机上的M个物理显卡,包括:
    通过所述显卡驱动程序和所述图形API识别所述M个物理显卡。
  3. 根据权利要求1所述的基于多显卡的游戏画面渲染方法,其特征在于,所述确定渲染任务并切分为至少一个渲染部分,包括:
    当所述渲染任务为单个用户的游戏画面渲染任务时,将所述渲染任务切分为至少一个渲染部分,其中,每个渲染部分为该用户的一帧游戏画面或一帧游戏画面中的一部分;
    当所述渲染任务为多个用户的游戏画面渲染任务时,将所述渲染任务切分为多个渲染部分,其中,每个渲染部分为一个用户的一帧游戏画面或一个用户的一帧游戏画面中的一部分。
  4. 根据权利要求3所述的基于多显卡的游戏画面渲染方法,其特征在于,所述渲染任务为单个用户的游戏画面渲染任务,
    其中,所述根据所述至少一个渲染部分确定目标物理显卡,包括:
    当所述渲染任务切分为一个渲染部分时,将所述M个物理显卡中的一个物理显卡确定为所述目标物理显卡;
    当所述渲染任务切分为多个渲染部分时,将所述M个物理显卡中的的N个物理显卡确定为所述目标物理显卡,其中,N为大于1,小于或等于M的整数。
  5. 根据权利要求3所述的基于多显卡的游戏画面渲染方法,其特征在于,所述渲染任务为多个用户的游戏画面渲染任务,
    其中,所述根据所述至少一个渲染部分确定目标物理显卡,包括:
    将所述M个物理显卡中N个物理显卡确定为所述目标物理显卡,其中,N为大于1,小于或等于M的整数。
  6. 根据权利要求1所述的基于多显卡的游戏画面渲染方法,其特征在于,通过所述目标物理显卡对所述至少一个渲染部分进行渲染,包括:
    创建至少一个逻辑设备;
    创建与所述至少一个逻辑设备对应的至少一个渲染器,其中,一个逻辑设备对应一个渲染器;
    通过所述目标物理显卡辅助所述至少一个渲染器,对所述至少一个渲染部分进行渲染处理。
  7. 根据权利要求6所述的基于多显卡的游戏画面渲染方法,其特征在于,所述创建至少一个逻辑设备,包括:
    根据确定的所述目标物理显卡,分别从所述目标物理显卡的各个物理显卡中创建逻辑设备,其中,一个物理显卡对应至少一个逻辑设备。
  8. 根据权利要求1所述的基于多显卡的游戏画面渲染方法,其特征在于,所述通过输出设备输出渲染结果,包括:
    当所述渲染任务切分为一个渲染部分时,所述输出设备输出渲染结果;
    当所述渲染任务切分为多个渲染部分时,所述输出设备将所述至少一个渲染部分的渲染结果合并后输出。
  9. 根据权利要求1所述的基于多显卡的游戏画面渲染方法,其特征在于,为每个所述渲染部分分配一个渲染线程进行渲染。
  10. 一种基于多显卡的游戏画面渲染系统,其特征在于,该系统包括:
    识别单元,用于识别物理主机上的M个物理显卡,其中,M为大于1的整数;
    任务切分单元,用于确定渲染任务并切分为至少一个渲染部分;
    显卡分配单元,用于根据所述至少一个渲染部分确定目标物理显卡,其 中,所述目标物理显卡为所述M个物理显卡中的一个或多个;
    渲染单元,用于通过所述目标物理显卡对所述至少一个渲染部分进行渲染;
    输出单元,用于输出渲染结果。
PCT/CN2021/070651 2020-09-02 2021-01-07 一种基于多显卡的游戏画面渲染方法和系统 WO2022048098A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/598,679 US20220193547A1 (en) 2020-09-02 2021-01-07 Method and system for game screen rendering based on multiple graphics cards
EP21772660.3A EP3984609A4 (en) 2020-09-02 2021-01-07 METHOD AND SYSTEM OF GAME SCREEN RENDERING BASED ON MULTIPLE GRAPHICS CARDS
JP2021555100A JP7323948B2 (ja) 2020-09-02 2021-01-07 複数のビデオカードに基づくゲーム画面のレンダリング方法及びシステム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010907905.2A CN112057852B (zh) 2020-09-02 2020-09-02 一种基于多显卡的游戏画面渲染方法和系统
CN202010907905.2 2020-09-02

Publications (1)

Publication Number Publication Date
WO2022048098A1 true WO2022048098A1 (zh) 2022-03-10

Family

ID=73665195

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/070651 WO2022048098A1 (zh) 2020-09-02 2021-01-07 一种基于多显卡的游戏画面渲染方法和系统

Country Status (5)

Country Link
US (1) US20220193547A1 (zh)
EP (1) EP3984609A4 (zh)
JP (1) JP7323948B2 (zh)
CN (1) CN112057852B (zh)
WO (1) WO2022048098A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112057852B (zh) * 2020-09-02 2021-07-13 北京蔚领时代科技有限公司 一种基于多显卡的游戏画面渲染方法和系统
CN112416605B (zh) * 2020-12-16 2021-11-05 北京蔚领时代科技有限公司 一种基于互联网的分布式显卡调用方法及装置
CN114632329B (zh) * 2022-05-16 2022-10-25 荣耀终端有限公司 终端设备性能调节方法和相关装置
CN115129483B (zh) * 2022-09-01 2022-12-02 武汉凌久微电子有限公司 一种基于显示区域划分的多显卡协同显示方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100007668A1 (en) * 2008-07-08 2010-01-14 Casparian Mark A Systems and methods for providing scalable parallel graphics rendering capability for information handling systems
CN103927780A (zh) * 2014-05-05 2014-07-16 广东威创视讯科技股份有限公司 一种多显卡渲染的方法与三维显示系统
CN107958437A (zh) * 2017-11-24 2018-04-24 中国航空工业集团公司西安航空计算技术研究所 一种多gpu大分辨率多屏图形分块并行渲染方法
CN109285108A (zh) * 2017-07-20 2019-01-29 伊艾斯伊有限公司 用于图像并行渲染处理的图像处理装置及方法
CN109978751A (zh) * 2017-12-28 2019-07-05 辉达公司 多gpu帧渲染
CN112057852A (zh) * 2020-09-02 2020-12-11 北京蔚领时代科技有限公司 一种基于多显卡的游戏画面渲染方法和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7119808B2 (en) * 2003-07-15 2006-10-10 Alienware Labs Corp. Multiple parallel processor computer graphics system
US20080030510A1 (en) * 2006-08-02 2008-02-07 Xgi Technology Inc. Multi-GPU rendering system
US9275430B2 (en) * 2006-12-31 2016-03-01 Lucidlogix Technologies, Ltd. Computing system employing a multi-GPU graphics processing and display subsystem supporting single-GPU non-parallel (multi-threading) and multi-GPU application-division parallel modes of graphics processing operation
CN103105895A (zh) * 2011-11-15 2013-05-15 辉达公司 计算机系统及其显示卡及该系统进行图形处理的方法
CN104822429A (zh) * 2012-11-28 2015-08-05 辉达公司 掌上游戏机
EP3188013B1 (en) * 2015-12-29 2022-07-13 Dassault Systèmes Management of a plurality of graphic cards
CN108960408B (zh) * 2018-06-12 2021-07-13 杭州米绘科技有限公司 一种面向超高清分辨率图案的风格化系统及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100007668A1 (en) * 2008-07-08 2010-01-14 Casparian Mark A Systems and methods for providing scalable parallel graphics rendering capability for information handling systems
CN103927780A (zh) * 2014-05-05 2014-07-16 广东威创视讯科技股份有限公司 一种多显卡渲染的方法与三维显示系统
CN109285108A (zh) * 2017-07-20 2019-01-29 伊艾斯伊有限公司 用于图像并行渲染处理的图像处理装置及方法
CN107958437A (zh) * 2017-11-24 2018-04-24 中国航空工业集团公司西安航空计算技术研究所 一种多gpu大分辨率多屏图形分块并行渲染方法
CN109978751A (zh) * 2017-12-28 2019-07-05 辉达公司 多gpu帧渲染
CN112057852A (zh) * 2020-09-02 2020-12-11 北京蔚领时代科技有限公司 一种基于多显卡的游戏画面渲染方法和系统

Also Published As

Publication number Publication date
CN112057852B (zh) 2021-07-13
US20220193547A1 (en) 2022-06-23
CN112057852A (zh) 2020-12-11
EP3984609A4 (en) 2022-08-10
JP7323948B2 (ja) 2023-08-09
EP3984609A1 (en) 2022-04-20
JP2022551206A (ja) 2022-12-08

Similar Documents

Publication Publication Date Title
WO2022048098A1 (zh) 一种基于多显卡的游戏画面渲染方法和系统
WO2022048097A1 (zh) 一种基于多显卡的单帧画面实时渲染方法
CN102707986B (zh) 子分区与父分区之间的共享存储器
US8159505B2 (en) System and method for efficient digital video composition
US8547378B2 (en) Time-based degradation of images using a GPU
WO2021008424A1 (zh) 图像合成方法、装置、电子设备及存储介质
CN113457160B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
KR101279680B1 (ko) 모션 데스크톱
EP3311565B1 (en) Low latency application streaming using temporal frame transformation
CN112189219A (zh) 低分辨率深度预过程
CN112596843A (zh) 图像处理方法、装置、电子设备及计算机可读存储介质
CN113473226B (zh) 提高视频渲染效率的方法、装置、计算机设备及存储介质
CN110647378A (zh) 动态图像的加载方法、装置和电子设备
JP2024061779A (ja) グラフィック処理のためのアセット認識コンピューティングアーキテクチャ
US6987516B2 (en) Rendering animated image data
US20150189012A1 (en) Wireless display synchronization for mobile devices using buffer locking
US20230394701A1 (en) Information processing apparatus, information processing method, and storage medium
CA2365561A1 (en) Multi-rate real-time players
US20050021552A1 (en) Video playback image processing
CN111785229B (zh) 一种显示方法、装置及系统
CN113051032A (zh) 应用画面处理方法、装置和系统
CN116670719A (zh) 一种图形处理方法、装置及电子设备
CN113676753B (zh) Vr场景中展示视频的方法、装置、电子设备和存储介质
CN111738903B (zh) 物体分层材质的优化方法、装置及设备
CN114071225B (zh) 一种帧动画播放方法、装置和系统

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021555100

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2021772660

Country of ref document: EP

Effective date: 20210927

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21772660

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE