CN117873736B - 一种用于渲染的gpu虚拟化方法 - Google Patents

一种用于渲染的gpu虚拟化方法 Download PDF

Info

Publication number
CN117873736B
CN117873736B CN202410272312.1A CN202410272312A CN117873736B CN 117873736 B CN117873736 B CN 117873736B CN 202410272312 A CN202410272312 A CN 202410272312A CN 117873736 B CN117873736 B CN 117873736B
Authority
CN
China
Prior art keywords
virtual
scene
rendering
sub
characteristic
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
CN202410272312.1A
Other languages
English (en)
Other versions
CN117873736A (zh
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.)
Hunan Malanshan Video Advanced Technology Research Institute Co ltd
Original Assignee
Hunan Malanshan Video Advanced Technology Research Institute 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 Hunan Malanshan Video Advanced Technology Research Institute Co ltd filed Critical Hunan Malanshan Video Advanced Technology Research Institute Co ltd
Priority to CN202410272312.1A priority Critical patent/CN117873736B/zh
Publication of CN117873736A publication Critical patent/CN117873736A/zh
Application granted granted Critical
Publication of CN117873736B publication Critical patent/CN117873736B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • 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/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters

Landscapes

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

Abstract

本发明涉及游戏虚拟渲染领域,尤其涉及一种用于渲染的GPU虚拟化方法,本发明通过采集若干用户端的移动操作指令,预测未来时间段内各虚拟场景的虚拟人物数量以及虚拟人物汇集速度,进而识别特征虚拟场景,并且,在用户端控制虚拟人物处于虚拟场景中时,对用户端所配置虚拟GPU的渲染方式以及虚拟GPU节点数量进行调整,本发明通过预测网络虚拟游戏中虚拟人物在特定时间段大量聚集的现象,并适应性的选择调整虚拟GPU节点数量,或采用局部渲染将局部渲染画面组的方式,进而减少渲染算力过载或画面卡顿的情况。

Description

一种用于渲染的GPU虚拟化方法
技术领域
本发明涉及游戏虚拟渲染领域,尤其涉及一种用于渲染的GPU虚拟化方法。
背景技术
一些计算机被配置成提供虚拟化执行环境,超虚拟化执行环境允许客软件共享单个计算机系统的硬件设备。通过虚拟设备和系统管理程序的软件接口分区提供对物理设备的访问,尤其是,在虚拟化执行环境中提供对一个或多个物理图形处理单元(“GPU”)的虚拟化访问,实现GPU虚拟化,提高资源利用效率,被广泛应用在云端渲染领域、云端桌面领域。
例如,中国专利申请公开号:CN109712060A,公开了一种基于GPU容器技术的云桌面显卡共享方法及系统,用于解决现有基于显卡虚拟化技术实现多个云桌面的显卡共享的方法导致的显存容量固定不变、使用成本高、兼容性差的技术问题;本发明将物理显卡抽象为GPU容器并绑定至云主机,使得该云主机下的多个云桌面可共享该云主机绑定的GPU容器,以实现多个云桌面的虚拟化显卡、普通图形显卡或游戏显卡的共享,且可根据每个云桌面的自身负载动态地为每个云桌面分配显存资源;该发明可避免出现显卡资源闲置的情况,提高了显卡资源利用率,降低了使用成本。
但是,现有技术中还存在以下问题,
现有技术中采用GPU虚拟化对网络虚拟游戏中的场景进行渲染时,未考虑网络虚拟游戏场景内渲染目标的实时切换,未适应性配置渲染资源,容易导致画面卡顿,例如,在网络虚拟游戏中常在特定时间点进行游戏活动,导致玩家控制的虚拟人物短时间内在特定的场景或区域中大量聚集,导致显示画面卡顿。
发明内容
为此,本发明提供一种用于渲染的GPU虚拟化方法,用以克服现有技术中采用虚拟GPU对网络虚拟游戏进行渲染时,由于网络虚拟游戏常在特定时间点进行游戏活动,导致玩家控制的虚拟人物短时间内在特定的场景或区域中大量聚集,导致显示渲染资源过载,容易造成画面卡顿的问题。
为实现上述目的,本发明提供一种用于渲染的GPU虚拟化方法,其包括:
步骤S1,采集当前时间段内若干用户端的移动操作指令,根据所述移动操作指令结合所控制虚拟人物的移动速度预测虚拟人物到达目标场景的时间,以确定未来时间段内各虚拟场景的虚拟人物数量以及虚拟人物汇集速度,所述移动操作指令包括用户端控制虚拟人物移动至目标场景对应的操作指令;
步骤S2,基于未来时间段内的虚拟场景的虚拟人物数量以及虚拟人物汇集速度计算汇集参数,以识别特征虚拟场景;
步骤S3,响应于预设条件,根据虚拟人物的分布对特征虚拟场景进行划分分类,所述预设条件为用户端控制虚拟人物在特征虚拟场景中移动或静止时;
步骤S4,根据用户端所控制虚拟人物所处子场景的类别选定对用户端所配置虚拟GPU的调整方式,包括,
调整所述用户端所配置虚拟GPU节点的数量,
或,调整所述用户端所配置虚拟GPU节点的渲染方式,包括,对子场景进行二次划分得到二级子场景,并根据二级子场景中模型的移动向量以及模型的色度变化量计算局部变化参数,识别特征二级子场景,以调用虚拟GPU节点仅对特征二级子场景实时渲染,将所得若干特征局部渲染画面与非特征二级子场景对应的非特征局部渲染画面组合后得到若干完整渲染画面。
进一步地,步骤S2中,根据公式(1)计算各虚拟场景对应的汇集参数,
公式(1)中,K表示汇集参数,N表示虚拟场景在未来时间段内所汇集虚拟人物的数量,N0表示预设的汇集数量标准值,V表示虚拟场景在未来时间段内虚拟人物的汇集速度,V0表示预设的汇集速度标准值,α表示数量权重系数,β表示速度权重系数。
进一步地,步骤S2中,识别特征虚拟场景的过程包括,
将虚拟场景对应的汇集参数与预设的汇集参数阈值进行对比,
若所述汇集参数大于预设的汇集参数阈值,则判定所述虚拟场景为特征虚拟场景。
进一步地,所述步骤S3中,对特征虚拟场景进行划分分类的过程包括,
将特征虚拟场景划分为若干子场景,确定子场景内虚拟人物的分布密集度,若所述分布密集度大于或等于预定的密集度阈值,则判定所述子场景为密集类别,
若所述分布密集度小于预定的密集度阈值,则判定所述子场景为非密集类别。
进一步地,所述步骤S4中,根据用户端所控制虚拟人物所处子场景的类别选定对用户端所配置虚拟GPU的调整方式的过程包括,
若所述子场景为密集类别,则选定调整所述用户端所配置虚拟GPU节点的数量;
若所述子场景为非密集类别,则选定调整所述用户端所配置虚拟GPU节点的渲染方式。
进一步地,所述步骤S4中,调整所述用户端所配置虚拟GPU节点的数量的过程包括,
调整所述用户端所配置虚拟GPU节点的数量与所述子场景中虚拟人物的分布密集度呈正相关。
进一步地,所述步骤S4中,确定二级子场景中的模型,以模型中心为基准,根据模型移动方向以及位移速度构建模型的移动向量。
进一步地,根据模型的移动向量以及模型在预定时间内的色度变化量按照公式(2)计算局部变化参数,
公式(2)中,E表示局部变化参数,Pi表示第i模型的移动向量,Li表示第i模型的色度变化量,P0表示预设的移动向量标准值,L0表示预设的色度变化量阈值,n表示二级子场景中模型的数量,i为大于0的整数。
进一步地,所述步骤S4中,识别特征二级子场景的过程包括,
将二级子场景对应的局部变化参数与预定的局部变化参数阈值进行对比,
若所述二级子场景对应的局部变化参数大于预定的局部变化参数阈值,则判定所述二级子场景为特征二级子场景。
进一步地,所述步骤S4中,局部渲染画面组合的过程包括,仅对非特征二级子场景进行单次渲染,得到单个非特征局部渲染画面,将所述非特征局部渲染画面复制预定数量后分别与对特征二级子场景实时渲染所得的特征局部渲染画面组合。
与现有技术相比,本发明通过采集若干用户端的移动操作指令,预测未来时间段内各虚拟场景的虚拟人物数量以及虚拟人物汇集速度,进而识别特征虚拟场景,并且,在用户端控制虚拟人物处于虚拟场景中时,对用户端所配置虚拟GPU的渲染方式以及虚拟GPU节点数量进行调整,本发明通过预测网络虚拟游戏中虚拟人物在特定时间段大量聚集的现象,并适应性的选择调整虚拟GPU节点数量,或采用局部渲染将局部渲染画面组的方式,进而减少渲染算力过载或画面卡顿的情况。
尤其,本发明通过采集当前时间段内若干用户端的移动操作指令以计算汇集参数,识别特征虚拟场景,网络虚拟游戏常在特定时间段内进行游戏活动,导致玩家控制的虚拟人物在短时间内在特定的场景或区域中大量聚集,在实际情况中,尤其是活动开始前,部分玩家会控制虚拟人物由其他虚拟场景向举行活动的虚拟场景移动,进而会导致对应虚拟场景中短时间内大量虚拟人物聚集,导致未来短时间内的所需渲染资源会急剧增加,若届时再对GPU节点进行调整则仍然会导致渲染画面卡顿,本发明通过识别特征虚拟场景,表征容易出现上述现象的虚拟场景,进而为提前适应性调整虚拟GPU提供数据支持。
尤其,本发明对特征虚拟场景进行划分分类,在实际情况中,网络虚拟游戏的虚拟场景中玩家所控制的虚拟人物常常大量聚集于部分区域中,例如部分区域中存在大量可交互NPC,而部分区域由于可交互内容较少,则所聚集的虚拟人物较少,因此,本发明预先根据虚拟人物的分布对特征虚拟场景进行划分,为后续选定对用户端所配置虚拟GPU的调整方式提供数据支持。
尤其,本发明对密集类别的子场景调整用户端所配置虚拟GPU节点的数量,对于密集类别的子场景虚拟人物聚集较多,内部模型复杂,仅调整渲染方式已不能满足算力需求,因此,提前适应性的调整虚拟GPU节点的数量,对于非密集类别的子场景,进一步划分二级子场景,并根据局部变化参数识别特征二级子场景,特征二级子场景表征了场景内的模型变化程度大,对视觉的影响较大,因此,对于该特征二级子场景需要实时渲染,保证渲染画面的观感,而非特征二级子场景表征了场景内的模型变化程度小,对视觉的影响较小,因此,对该区域仅进行单次渲染,得到非特征局部渲染画面,作为基准复制后与实时渲染所得的特征局部渲染画面组合,得到完整渲染画面,进而在保证画面观感的前提下减少渲染资源,进而减少渲染算力过载或画面卡顿的情况。
附图说明
图1为发明实施例的用于渲染的GPU虚拟化方法步骤图;
图2为发明实施例的特征虚拟场景判定逻辑图;
图3为发明实施例的子场景分类逻辑图;
图4为发明实施例的特征二级子场景判定逻辑图。
具体实施方式
为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。
请参阅图1至图4所示,图1为本发明实施例的用于渲染的GPU虚拟化方法步骤图,图2为发明实施例的特征虚拟场景判定逻辑图,图3为发明实施例的子场景分类逻辑图,图4为发明实施例的特征二级子场景判定逻辑图,本发明的一种用于渲染的GPU虚拟化方法包括:
步骤S1,采集当前时间段内若干用户端的移动操作指令,根据所述移动操作指令结合所控制虚拟人物的移动速度预测虚拟人物到达目标场景的时间,以确定未来时间段内各虚拟场景的虚拟人物数量以及虚拟人物汇集速度,所述移动操作指令包括用户端控制虚拟人物移动至目标场景对应的操作指令;
步骤S2,基于未来时间段内的虚拟场景的虚拟人物数量以及虚拟人物汇集速度计算汇集参数,以识别特征虚拟场景;
步骤S3,响应于预设条件,根据虚拟人物的分布对特征虚拟场景进行划分分类,所述预设条件为用户端控制虚拟人物在特征虚拟场景中移动或静止时;
步骤S4,根据用户端所控制虚拟人物所处子场景的类别选定对用户端所配置虚拟GPU的调整方式,包括,
调整所述用户端所配置虚拟GPU节点的数量,
或,调整所述用户端所配置虚拟GPU节点的渲染方式,包括,对子场景进行二次划分得到二级子场景,并根据二级子场景中模型的移动向量以及模型的色度变化量计算局部变化参数,识别特征二级子场景,以调用虚拟GPU节点仅对特征二级子场景实时渲染,将所得若干特征局部渲染画面与非特征二级子场景对应的非特征局部渲染画面组合后得到若干完整渲染画面。
具体而言,以某大型3D网络虚拟游戏为例,可以理解的是,本发明中虚拟场景均为网络虚拟游戏中的虚拟场景,虚拟人物则为网络虚拟游戏中由用户端操控的虚拟人物,用户端通过操作指令控制虚拟人物动作,操作指令可以是多样的,例如控制虚拟人物释放“技能”、移动、执行特定动作等等,此不再赘述。
具体而言,对于根据移动操作指令结合所控制虚拟人物的移动速度预测虚拟人物到达目标场景的时间的形式,本发明不做具体限定,可以理解的是,虚拟人物在虚拟场景中移动时具备一定的移动速度,不同虚拟人物的移动速度可能是不同的,当用户端发出移动操作指令后则可获知当前虚拟人物的目标场景,根据虚拟人物当前所处位置距离目标场景的距离结合移动速度即可得到虚拟人物到达目标场景的时间,此不再赘述。
具体而言,本发明对获知用户端操作指令的具体方式不做限定,在本实施例中,可通过网络虚拟游戏的后台服务器获知用户端的操作指令。
具体而言,本发明对虚拟GPU及虚拟GPU节点的构造不做具体限定,可以理解的时,虚拟GPU节点是一种在云环境中提供图形处理能力的虚拟机实例。它通常由云服务提供商基于物理GPU设备创建,可以通过网络连接远程访问,用户端远程访问后虚拟GPU节点可被配置于为用户端提供相关服务,例如游戏场景渲染、图像渲染等等,此为现有技术,不再赘述。
具体而言,步骤S2中,根据公式(1)计算各虚拟场景对应的汇集参数,
公式(1)中,K表示汇集参数,N表示虚拟场景在未来时间段内所汇集虚拟人物的数量,N0表示预设的汇集数量标准值,V表示虚拟场景在未来时间段内虚拟人物的汇集速度,V0表示预设的汇集速度标准值,α表示数量权重系数,β表示速度权重系数,
当前时间段以及未来时间段可以相同,在区间[5,10]内选定,区间单位为分钟。
具体而言,在本实施例中汇集数量标准值N0为预先测试所得,获取网络虚拟游戏的若干虚拟场景内不同时间段的虚拟人物的平均数量,并求解各时间段内平均数量的平均值ΔN,设定N0=ΔN×g;
汇集速度V为计算所得,V=N/T,T表示未来时间段的时长。
汇集速度标准值V0为预先测试所得,获取网络虚拟游戏的若干虚拟场景内不同时间段的虚拟人物的平均数量,用以求解对应时间段内的汇集速度并记录,求解汇集速度平均值ΔV,设定V0=ΔV×g,g表示偏移参数,1.2<g<1.4。
在本实施例中,α取0.7,β取0.3。
具体而言,步骤S2中,识别特征虚拟场景的过程包括,
将虚拟场景对应的汇集参数与预设的汇集参数阈值进行对比,
若所述汇集参数大于预设的汇集参数阈值,则判定所述虚拟场景为特征虚拟场景。
在本实施例中汇集参数阈值在区间[1.15,1.3]内选定。
本发明通过采集当前时间段内若干用户端的移动操作指令以计算汇集参数,识别特征虚拟场景,网络虚拟游戏常在特定时间段内进行游戏活动,导致玩家控制的虚拟人物在短时间内在特定的场景或区域中大量聚集,在实际情况中,尤其是活动开始前,部分玩家会控制虚拟人物由其他虚拟场景向举行活动的虚拟场景移动,进而会导致对应虚拟场景中短时间内大量虚拟人物聚集,导致未来短时间内的所需渲染资源会急剧增加,若届时再对GPU节点进行调整则仍然会导致渲染画面卡顿,本发明通过识别特征虚拟场景,表征容易出现上述现象的虚拟场景,进而为提前适应性调整虚拟GPU提供数据支持。
具体而言,所述步骤S3中,对特征虚拟场景进行划分分类的过程包括,
将特征虚拟场景划分为若干子场景,确定子场景内虚拟人物的分布密集度,若所述分布密集度大于或等于预定的密集度阈值,则判定所述子场景为密集类别,
若所述分布密集度小于预定的密集度阈值,则判定所述子场景为非密集类别。
具体而言,在本实施例中,各所述子场景的大小均相等,可以理解的是,对一定大小的虚拟场景进行渲染可得到对应的渲染画面,因此,可首先确定用户端所需的渲染画面的大小然后划分对应大小的子场景,以对单个子场景进行渲染后得到用户端所需的渲染画面。
密集度为子场景内虚拟人物的数量与子场景面积的比值,
密集度阈值G0为预先测试所得,记录网络虚拟游戏的若干时间段内若干虚拟场景中的虚拟人物分布情况,将各虚拟场景划分为若干子场景后计算各子场景内虚拟人物的分布密集度,并求解平均值ΔG,设定G0=b×ΔG,b表示密集度偏移系数,0.75<b<85。
具体而言,所述步骤S4中,根据用户端所控制虚拟人物所处子场景的类别选定对用户端所配置虚拟GPU的调整方式的过程包括,
若所述子场景为密集类别,则选定调整所述用户端所配置虚拟GPU节点的数量;
若所述子场景为非密集类别,则选定调整所述用户端所配置虚拟GPU节点的渲染方式。
本发明对特征虚拟场景进行划分分类,在实际情况中,网络虚拟游戏的虚拟场景中玩家所控制的虚拟人物常常大量聚集于部分区域中,例如部分区域中存在大量可交互NPC,而部分区域由于可交互内容较少,则所聚集的虚拟人物较少,因此,本发明预先根据虚拟人物的分布对特征虚拟场景进行划分,为后续选定对用户端所配置虚拟GPU的调整方式提供数据支持。
具体而言,所述步骤S4中,调整所述用户端所配置虚拟GPU节点的数量的过程包括,
调整所述用户端所配置虚拟GPU节点的数量与所述子场景中虚拟人物的分布密集度呈正相关。
在本实施例中提供调整虚拟GPU节点的示例,
将用户端所控制虚拟人物所处子场景中虚拟人物的分布密集度与预设的第一密集度阈值G1以及第二密集度阈值G2进行对比,
若G<G1,则将虚拟GPU节点数量调整至第一数量Ng1,设定Ng1=[1.2×Ng0];
若G1≤G≤G2,则将虚拟GPU节点数量调整至第二数量Ng2,Ng2=[1.4×Ng0];
若G2<G,则将虚拟GPU节点数量调整至第三数量Ng3,Ng3=[1.6×Ng0];
Ng0表示用户端当期所配置虚拟GPU节点的数量,G1=1.25G0,G2=1.5G0。
具体而言,所述步骤S4中,确定二级子场景中的模型,以模型中心为基准,根据模型移动方向以及位移速度构建模型的移动向量,模型移动方向对应移动向量的方向,模型位移速度对应移动向量的大小,结合模型在预定时间内的色度变化量按照公式(2)计算局部变化参数,
公式(2)中,E表示局部变化参数,Pi表示第i模型的移动向量,Li表示第i模型的色度变化量,P0表示预设的移动向量标准值,L0表示预设的色度变化量阈值,n表示二级子场景中模型的数量,i为大于0的整数。
在本实施例中,移动向量标准值基于虚拟人物在网络虚拟游戏中的平均移动速度V0所确定,设定P0=V0;
色度变化量为预定时间内模型表面的最大平均色度值与模型表面的最小平均色度值的差,预定时间为5s;
本实施例中,以RGB色彩模型为例,色度变化阈值在区间[0,100]内选定;
具体而言,所述步骤S4中,识别特征二级子场景的过程包括,
将二级子场景对应的局部变化参数与预定的局部变化参数阈值进行对比,
若所述二级子场景对应的局部变化参数大于预定的局部变化参数阈值,则判定所述二级子场景为特征二级子场景。
具体而言,局部变化阈值在区间[1.4,1.5]内选定。
具体而言,所述步骤S4中,局部渲染画面组合的过程包括,仅对非特征二级子场景进行单次渲染,得到单个非特征局部渲染画面,将所述非特征局部渲染画面复制预定数量后分别与对特征二级子场景实时渲染所得的特征局部渲染画面组合。
可以理解的是,在局部渲染中,可得到完整画面的局部渲染画面,进而,对于缺失的渲染画面可进行填充或使用其他局部渲染画面进行组合,得到完整的渲染画面,此不再赘述。
本发明对密集类别的子场景调整用户端所配置虚拟GPU节点的数量,对于密集类别的子场景虚拟人物聚集较多,内部模型复杂,仅调整渲染方式已不能满足算力需求,因此,提前适应性的调整虚拟GPU节点的数量,对于非密集类别的子场景,进一步划分二级子场景,并根据局部变化参数识别特征二级子场景,特征二级子场景表征了场景内的模型变化程度大,对视觉的影响较大,因此,对于该特征二级子场景需要实时渲染,保证渲染画面的观感,而非特征二级子场景表征了场景内的模型变化程度小,对视觉的影响较小,因此,对该区域仅进行单次渲染,得到非特征局部渲染画面,作为基准复制后与实时渲染所得的特征局部渲染画面组合,得到完整渲染画面,进而在保证画面观感的前提下减少渲染资源,进而减少渲染算力过载或画面卡顿的情况。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

Claims (5)

1.一种用于渲染的GPU虚拟化方法,其特征在于,包括:
步骤S1,采集当前时间段内若干用户端的移动操作指令,根据所述移动操作指令结合所控制虚拟人物的移动速度预测虚拟人物到达目标场景的时间,以确定未来时间段内各虚拟场景的虚拟人物数量以及虚拟人物汇集速度,所述移动操作指令包括用户端控制虚拟人物移动至目标场景对应的操作指令;
步骤S2,基于未来时间段内的虚拟场景的虚拟人物数量以及虚拟人物汇集速度计算汇集参数,以识别特征虚拟场景;
步骤S3,响应于预设条件,根据虚拟人物的分布对特征虚拟场景进行划分分类,所述预设条件为用户端控制虚拟人物在特征虚拟场景中移动或静止时;
步骤S4,根据用户端所控制虚拟人物所处子场景的类别选定对用户端所配置虚拟GPU的调整方式,包括,
调整所述用户端所配置虚拟GPU节点的数量,
或,调整所述用户端所配置虚拟GPU节点的渲染方式,包括,对非密集类别的子场景进行二次划分得到二级子场景,并根据二级子场景中模型的移动向量以及模型的色度变化量计算局部变化参数,识别特征二级子场景,以调用虚拟GPU节点仅对特征二级子场景实时渲染,将特征二级子场景实时渲染所得若干特征局部渲染画面与非特征二级子场景对应的非特征局部渲染画面组合后得到若干完整渲染画面;
步骤S2中,根据公式(1)计算各虚拟场景对应的汇集参数,
公式(1)中,K表示汇集参数,N表示虚拟场景在未来时间段内所汇集虚拟人物的数量,N0表示预设的汇集数量标准值,V表示虚拟场景在未来时间段内虚拟人物的汇集速度,V0表示预设的汇集速度标准值,α表示数量权重系数,β表示速度权重系数;
所述步骤S3中,对特征虚拟场景进行划分分类的过程包括,
将特征虚拟场景划分为若干子场景,确定子场景内虚拟人物的分布密集度,若所述分布密集度大于或等于预定的密集度阈值,则判定所述子场景为密集类别,
若所述分布密集度小于预定的密集度阈值,则判定所述子场景为非密集类别;
所述步骤S4中,根据用户端所控制虚拟人物所处子场景的类别选定对用户端所配置虚拟GPU的调整方式的过程包括,
若所述子场景为密集类别,则选定调整所述用户端所配置虚拟GPU节点的数量;
若所述子场景为非密集类别,则选定调整所述用户端所配置虚拟GPU节点的渲染方式;
所述步骤S4中,识别特征二级子场景的过程包括,
将二级子场景对应的局部变化参数与预定的局部变化参数阈值进行对比,
若所述二级子场景对应的局部变化参数大于预定的局部变化参数阈值,则判定所述二级子场景为特征二级子场景;
所述步骤S4中,根据模型的移动向量以及模型在预定时间内的色度变化量按照公式(2)计算局部变化参数,
公式(2)中,E表示局部变化参数,Pi表示第i模型的移动向量,Li表示第i模型的色度变化量,P0表示预设的移动向量标准值,L0表示预设的色度变化量阈值,n表示二级子场景中模型的数量,i为大于0的整数。
2.根据权利要求1所述的用于渲染的GPU虚拟化方法,其特征在于,步骤S2中,识别特征虚拟场景的过程包括,
将虚拟场景对应的汇集参数与预设的汇集参数阈值进行对比,
若所述汇集参数大于预设的汇集参数阈值,则判定所述虚拟场景为特征虚拟场景。
3.根据权利要求1所述的用于渲染的GPU虚拟化方法,其特征在于,所述步骤S4中,调整所述用户端所配置虚拟GPU节点的数量的过程包括,
调整所述用户端所配置虚拟GPU节点的数量与所述子场景中虚拟人物的分布密集度呈正相关。
4.根据权利要求1所述的用于渲染的GPU虚拟化方法,其特征在于,所述步骤S4中,确定二级子场景中的模型,以模型中心为基准,根据模型移动方向以及位移速度构建模型的移动向量。
5.根据权利要求1所述的用于渲染的GPU虚拟化方法,其特征在于,所述步骤S4中,局部渲染画面组合的过程包括,仅对非特征二级子场景进行单次渲染,得到单个非特征局部渲染画面,将所述非特征局部渲染画面复制预定数量后分别与对特征二级子场景实时渲染所得的特征局部渲染画面组合。
CN202410272312.1A 2024-03-11 2024-03-11 一种用于渲染的gpu虚拟化方法 Active CN117873736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410272312.1A CN117873736B (zh) 2024-03-11 2024-03-11 一种用于渲染的gpu虚拟化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410272312.1A CN117873736B (zh) 2024-03-11 2024-03-11 一种用于渲染的gpu虚拟化方法

Publications (2)

Publication Number Publication Date
CN117873736A CN117873736A (zh) 2024-04-12
CN117873736B true CN117873736B (zh) 2024-05-28

Family

ID=90588796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410272312.1A Active CN117873736B (zh) 2024-03-11 2024-03-11 一种用于渲染的gpu虚拟化方法

Country Status (1)

Country Link
CN (1) CN117873736B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109712060A (zh) * 2018-12-04 2019-05-03 成都雨云科技有限公司 一种基于gpu容器技术的云桌面显卡共享方法及系统
CN113018846A (zh) * 2020-10-15 2021-06-25 顾春健 结合数据分析和动态渲染的游戏画面处理方法及存储介质
WO2023273131A1 (zh) * 2021-06-30 2023-01-05 上海完美时空软件有限公司 游戏场景的生成方法及装置、存储介质、电子装置
CN116028205A (zh) * 2022-05-16 2023-04-28 荣耀终端有限公司 资源调度方法和电子设备
CN116777730A (zh) * 2023-08-25 2023-09-19 湖南马栏山视频先进技术研究院有限公司 一种基于资源调度的gpu效能提高方法
CN116863058A (zh) * 2023-09-05 2023-10-10 湖南马栏山视频先进技术研究院有限公司 一种基于gpu的视频数据处理系统
CN117115326A (zh) * 2023-08-28 2023-11-24 咪咕文化科技有限公司 三维场景模型的渲染方法、装置及分布式渲染服务器
CN117319661A (zh) * 2023-09-26 2023-12-29 中移凯普(北京)技术服务有限公司 一种用于视觉传达展示的图像传输系统
CN117599412A (zh) * 2023-11-30 2024-02-27 炫彩互动网络科技有限公司 一种基于云游戏业务质量检测的自适应渲染系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9524138B2 (en) * 2009-12-29 2016-12-20 Nvidia Corporation Load balancing in a system with multi-graphics processors and multi-display systems

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109712060A (zh) * 2018-12-04 2019-05-03 成都雨云科技有限公司 一种基于gpu容器技术的云桌面显卡共享方法及系统
CN113018846A (zh) * 2020-10-15 2021-06-25 顾春健 结合数据分析和动态渲染的游戏画面处理方法及存储介质
WO2023273131A1 (zh) * 2021-06-30 2023-01-05 上海完美时空软件有限公司 游戏场景的生成方法及装置、存储介质、电子装置
CN116028205A (zh) * 2022-05-16 2023-04-28 荣耀终端有限公司 资源调度方法和电子设备
CN116777730A (zh) * 2023-08-25 2023-09-19 湖南马栏山视频先进技术研究院有限公司 一种基于资源调度的gpu效能提高方法
CN117115326A (zh) * 2023-08-28 2023-11-24 咪咕文化科技有限公司 三维场景模型的渲染方法、装置及分布式渲染服务器
CN116863058A (zh) * 2023-09-05 2023-10-10 湖南马栏山视频先进技术研究院有限公司 一种基于gpu的视频数据处理系统
CN117319661A (zh) * 2023-09-26 2023-12-29 中移凯普(北京)技术服务有限公司 一种用于视觉传达展示的图像传输系统
CN117599412A (zh) * 2023-11-30 2024-02-27 炫彩互动网络科技有限公司 一种基于云游戏业务质量检测的自适应渲染系统及方法

Also Published As

Publication number Publication date
CN117873736A (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
US11909984B2 (en) Video encoding and decoding for cloud gaming
US9479358B2 (en) Managing graphics load balancing strategies
US10601885B2 (en) Adaptive scene complexity based on service quality
US20140267564A1 (en) System and method for managing multimedia data
CN102195831B (zh) 端对端传输质量检测方法及系统
CN109756511B (zh) 一种数据处理方法及装置、一种计算设备及存储介质
US11229838B2 (en) Massive multi-player compute
CN110659103A (zh) 资源分配方法及装置
CN110935169B (zh) 虚拟对象的控制方法、信息显示方法、装置、设备及介质
CN107948731B (zh) 视频流合并方法、服务器及计算机可读存储介质
CN116777730B (zh) 一种基于资源调度的gpu效能提高方法
US20210291058A1 (en) Live camera video character representations
CN109933383A (zh) 调整游戏app运行帧率的方法及设备
CN117979097B (zh) 一种体积视频流式调度方法、装置、终端及介质
US20210291061A1 (en) Video Game Player, Spectator and Audience Interaction
CN117873736B (zh) 一种用于渲染的gpu虚拟化方法
US20210291062A1 (en) Video game waiting queue and audience interaction
CN118159341A (zh) 一种图像帧的渲染方法及相关装置
CN114042312A (zh) 一种角色皮肤绘制方法、系统、电子设备
CN118132278B (zh) Android容器优化方法、装置及电子设备
CN116637358B (zh) 一种数据传输的方法、相关装置、设备以及存储介质
Athrij et al. Dynamic Load Distribution in web-based AR
CN115515692A (zh) 视频游戏玩家、观众和受众交互
CN116980696A (zh) 一种图像处理方法、装置、设备、存储介质及产品
Vattipally Measurement and Enhancement of Cloud-based Online Gaming Systems

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