CN118312297A - 云终端的渲染方法及装置 - Google Patents
云终端的渲染方法及装置 Download PDFInfo
- Publication number
- CN118312297A CN118312297A CN202211720677.3A CN202211720677A CN118312297A CN 118312297 A CN118312297 A CN 118312297A CN 202211720677 A CN202211720677 A CN 202211720677A CN 118312297 A CN118312297 A CN 118312297A
- Authority
- CN
- China
- Prior art keywords
- rendering
- cloud
- instruction
- terminal
- type
- 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.)
- Pending
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 783
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000012545 processing Methods 0.000 claims description 38
- 230000015654 memory Effects 0.000 claims description 31
- 230000001960 triggered effect Effects 0.000 claims description 25
- 230000003993 interaction Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 206010047289 Ventricular extrasystoles Diseases 0.000 description 8
- 238000005129 volume perturbation calorimetry Methods 0.000 description 8
- 238000004088 simulation Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
本申请公开了一种云终端的渲染方法及装置,属于云计算技术领域。该方法包括:云终端获取渲染指令,渲染指令由云终端产生;云终端确定渲染指令的渲染类型,渲染类型指示执行渲染指令指示的操作后,是否返回渲染指令指示的渲染画面;云终端基于渲染类型和渲染指令,执行渲染指令指示的操作,其中,当渲染类型指示不返回渲染画面时,不为渲染指令分配渲染资源。本申请提高了部署有云终端的云主机的资源利用率。
Description
技术领域
本申请涉及云计算技术领域,特别涉及一种云终端的渲染方法及装置。
背景技术
使用云上资源对终端的软硬件系统进行模拟,使得基于云平台进行终端的仿真、规模测试、终端应用协同开发、移动办公和终端游戏试玩推广等成为可能,有广泛的应用前景和带来新的商业模式的可能。通过云平台仿真得到的终端称为云终端。例如,通过云平台仿真得到的手机可称为云手机。
目前,用户的终端接入云终端后,可以向云终端发送操作指令。云终端可以使用其所在的云主机的云资源,执行操作指令涉及的渲染操作,并向终端发送渲染得到的渲染画面,以便于终端对渲染画面进行显示。
但是,目前部署有云终端的云主机的资源利用率较低。
发明内容
本申请提供了一种云终端的渲染方法及装置。本申请提高了部署有云终端的云主机的资源利用率。本申请提供的技术方案如下:
第一方面,本申请提供了一种云终端的渲染方法。该方法包括:云终端获取渲染指令,渲染指令由云终端产生;云终端确定渲染指令的渲染类型,渲染类型指示执行渲染指令指示的操作后,是否返回渲染指令指示的渲染画面;云终端基于渲染类型和渲染指令,执行渲染指令指示的操作,其中,当渲染类型指示不返回渲染画面时,不为渲染指令分配渲染资源。
在本申请提供的云终端的渲染方法中,由于渲染类型指示不返回渲染画面时,不为渲染指令分配渲染资源,使得不需要实际渲染操作的渲染指令不会占用渲染资源,就能够将渲染资源分配给其他的需要实际渲染操作的云终端,提高了部署有云终端的云主机的资源利用率。并且,由于云主机服务器上部署的所有云终端的共享云主机的硬件资源,则在相同硬件资源的情况下,通过该云终端的渲染方法能够有助于在云主机上部署更多的云终端,增加云主机上云终端的并发路数,并降低云终端的单路成本。或者,能够减少云主机的硬件配置,例如减少为云主机配置的GPU的数量,降低云主机的成本。
可选的,渲染类型包括:真实渲染和空渲染。真实渲染指示执行渲染指令指示的操作后,返回渲染指令指示的渲染画面。空渲染指示执行渲染指令指示的操作后,不返回渲染指令指示的渲染画面。
在一种实现方式中,在渲染指令由接入云终端的终端向云终端发送的操作指令触发时,渲染指令的渲染类型为真实渲染,否则为空渲染。也即是,用户对终端进行操作的过程中触发的渲染指令的渲染类型为真实渲染,用户未对终端进行操作的过程中触发的渲染指令的渲染类型为空渲染。
进一步地,在用户使用终端的过程中,根据使用情况,其触发的渲染指令可能需要在终端中显示渲染画面,也可能不需要终端显示渲染画面。则真实渲染进一步可以包括:在线渲染和离线渲染。在线渲染指示在接入云终端的终端上显示渲染画面。离线渲染指示不在终端上显示渲染画面。
在一种实现方式中,在渲染指令由接入云终端的终端向云终端发送的渲染画面获取请求触发时,渲染指令的渲染类型为在线渲染,否则为离线渲染。并且,对于在线渲染,云终端可以通过截屏的方式获取渲染画面,并向终端提供渲染画面,则对于渲染指令流中的第二个及之后的渲染指令,若云终端对该渲染指令之前的渲染指令的渲染画面有截屏操作,则该渲染指令的渲染类型为在线渲染。
可选的,当渲染类型为在线渲染时,在云终端基于渲染类型和渲染指令,执行渲染指令指示的操作之后,该方法还包括:云终端发送渲染画面至终端进行显示。在一种实现方式中,云终端具有模拟的物理屏或虚拟屏,通过渲染操作得到渲染画面后,云终端的模拟的物理屏或虚拟屏上会显示渲染画面,云终端可以对渲染画面截屏得到渲染画面,并对渲染指令流指示的渲染画面编码成视频流,并向终端传输该视频流。
在一种实现方式中,当云主机未部署本地资源时,云终端可以从云资源池中获取执行渲染指令指示的操作的目标资源,并使用目标资源执行该操作。例如,当渲染类型指示返回渲染画面时,云终端基于渲染类型和渲染指令,执行渲染指令指示的操作,包括:云终端基于渲染类型和渲染指令,在云资源池中获取执行操作的目标渲染资源;云终端使用目标渲染资源执行操作。
在另一种实现方式中,当云主机部署有本地资源时,云终端可以优先从云资源池或本地资源中获取执行渲染指令指示的操作的目标资源,并使用目标资源执行该操作。并且,当云终端优先从本地资源中获取目标资源时,在云终端需要获取目标资源之前,可以先查询本地资源是否能够满足渲染指令指示的操作,并在本地资源能够满足操作时,在本地资源中获取执行操作的目标资源,在本地资源不能满足操作时,在云资源池中获取执行操作的目标资源。例如,当渲染类型指示返回渲染画面时,云终端基于渲染类型和渲染指令,执行渲染指令指示的操作,包括:云终端基于渲染类型和渲染指令,在云主机的渲染资源能够满足操作时,在云主机的渲染资源中获取执行操作的目标渲染资源,云终端部署在云主机中;云终端基于渲染类型和渲染指令,在云主机的渲染资源不能满足操作时,在云资源池中获取执行操作的目标渲染资源;云终端使用目标渲染资源执行操作。
当渲染类型指示不需要返回渲染指令指示的渲染画面时,不需要执行实际的渲染操作,即不需要使用渲染资源执行指示渲染画面的渲染指令,则不需要向渲染指令分配渲染资源。此时,当渲染类型指示不返回渲染画面时,云终端基于渲染类型和渲染指令,执行渲染指令指示的操作,包括:云终端基于渲染类型和渲染指令,为渲染指令分配计算资源;云终端使用计算资源执行操作。
第二方面,本申请提供了一种云终端的渲染装置。该装置包括:获取模块,用于获取渲染指令,渲染指令由云终端产生;确定模块,用于确定渲染指令的渲染类型,渲染类型指示执行渲染指令指示的操作后,是否返回渲染指令指示的渲染画面;处理模块,用于基于渲染类型和渲染指令,执行渲染指令指示的操作,其中,当渲染类型指示不返回渲染画面时,不为渲染指令分配渲染资源。
可选的,渲染类型包括:真实渲染和空渲染,真实渲染指示返回渲染画面,空渲染指示不返回渲染画面。
可选的,在渲染指令由接入云终端的终端向云终端发送的操作指令触发时,渲染指令的渲染类型为真实渲染。
可选的,真实渲染包括:在线渲染和离线渲染,在线渲染指示在接入云终端的终端上显示渲染画面,离线渲染指示不在终端上显示渲染画面。
可选的,在渲染指令由接入云终端的终端向云终端发送的渲染画面获取请求触发时,渲染指令的渲染类型为在线渲染。
可选的,当渲染类型为在线渲染时,该装置还包括:交互模块,用于发送渲染画面至终端进行显示。
可选的,当渲染类型指示返回渲染画面时,处理模块,具体用于:基于渲染类型和渲染指令,在云资源池中获取执行操作的目标渲染资源;使用目标渲染资源执行操作。
可选的,当渲染类型指示返回渲染画面时,处理模块,具体用于:基于渲染类型和渲染指令,在云主机的渲染资源能够满足操作时,在云主机的渲染资源中获取执行操作的目标渲染资源,云终端部署在云主机中;基于渲染类型和渲染指令,在云主机的渲染资源不能满足操作时,在云资源池中获取执行操作的目标渲染资源;使用目标渲染资源执行操作。
可选的,当渲染类型指示不返回渲染画面时,处理模块,具体用于:基于渲染类型和渲染指令,为渲染指令分配计算资源;使用计算资源执行操作。
第三方面,本申请提供了一种计算设备,包括存储器和处理器,存储器存储有程序指令,处理器运行程序指令以执行本申请第一方面以及其任一种可能的实现方式中提供的方法。
第四方面,本申请提供了一种计算机集群,包括多个计算设备,多个计算设备包括多个处理器和多个存储器,多个存储器中存储有程序指令,多个处理器运行程序指令,使得计算机集群执行本申请第一方面以及其任一种可能的实现方式中提供的方法。
第五方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质为非易失性计算机可读存储介质,该计算机可读存储介质包括程序指令,当程序指令在计算设备上运行时,使得计算设备执行本申请第一方面以及其任一种可能的实现方式中提供的方法。
第六方面,本申请提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本申请第一方面以及其任一种可能的实现方式中提供的方法。
附图说明
图1是本申请实施例提供的一种云终端的渲染方法涉及的实施环境的结构示意图;
图2是本申请实施例提供的另一种云终端的渲染方法涉及的实施环境的结构示意图;
图3是本申请实施例提供的一种云终端的渲染方法的流程图;
图4是本申请实施例提供的一种云终端的渲染资源的示意图;
图5是本申请实施例提供的一种云终端的渲染装置的示意图;
图6是本申请实施例提供的另一种云终端的渲染装置的示意图;
图7是本申请实施例提供的一种计算设备的结构示意图;
图8是本申请实施例提供的一种计算设备集群的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为便于理解,下面先对本申请实施例中涉及的关联技术和背景进行介绍。
主机(physical machine,PM):用于承载虚拟化技术的物理资源。主机也称物理机。通常的,用于部署虚拟实例的主机通常为物理服务器。物理机具有多个物理设备。例如,物理服务器具有处理器和存储器等物理设备。
一台主机中可以部署多个虚拟实例,部署在同一台主机上的多个虚拟实例共享主机的物理资源。按照不同的使用情况,一台主机可以仅部署属于一个用户的虚拟实例,也可以部署属于多个用户的虚拟实例。
资源池是云计算数据中心中所涉及到的各种硬件资源和软件资源的集合。通常的,按资源的类型,资源池中的资源可分为计算资源、存储资源和网络资源。
虚拟实例运行在主机的操作系统上,且虚拟实例自身设置有操作系统,虚拟实例的操作系统运行有应用程序,该应用程序用于实现用户的业务。虚拟实例可使用主机的硬件资源,不同虚拟实例之间相互隔离。通常的,虚拟实例可以为虚拟机或容器。
虚拟机(virtual machine,VM):指通过虚拟化技术模拟得到的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整的计算机系统。虚拟机的部分指令子集可以在宿主(host)机中处理,其它部分指令可以以仿真的方式执行。虚拟机也称虚拟服务器。
虚拟机可视为若干个虚拟设备的集合,该若干个设备的集合为具有完整硬件系统功能的、且运行在一个完全隔离环境中的完整的计算机系统。虚拟设备通过利用虚拟化技术,在能够被共享资源的物理设备的基础上虚拟得到。例如,利用虚拟化技术,在处理器的基础上虚拟得到的虚拟处理器是一种虚拟设备。又例如,利用虚拟化技术,在现场可编程逻辑门阵列(field-programmable gate array,FPGA)的基础上虚拟得到的训练卡也是一种虚拟设备。
容器提供了一个轻量级的虚拟运行环境。容器可以将用户的应用程序的所有代码、库和依赖关系等打包成镜像。执行镜像时,镜像运行在该虚拟运行环境中。该镜像不会与其他镜像共享宿主机的内存、处理器(如中央处理器(central processing unit,CPU))以及磁盘等资源,实现了该镜像与主机之间、该镜像与其他镜像之间的容器隔离,保证了容器内的进程不能监控容器外的任何进程或资源。在本申请中的云终端可以通过容器实现。
云终端是对终端的模拟,用于执行原本需要终端执行的操作。在用户使用云终端的场景中,终端用于与用户进行交互,并在云终端与用户之间传递信息。例如,用户在终端上执行操作后,终端可将该操作触发的指令传递至云终端,云终端用于对该指令进行响应,并向终端反馈响应结果。在一种实现方式中,用户操作触发的指令可以为渲染指令,云终端可以基于该渲染指令执行渲染操作,并向终端反馈渲染得到的渲染画面。在一种实现方式中,云终端可以对渲染画面截屏,然后把截屏的画面编码成视频流,并向终端传递视频流,终端可以根据该视频流向用户显示渲染画面。由此可见,云终端可视为云主机使用云上资源模拟出的具有手机功能的虚拟实例,而接入该云终端的终端可视为该云终端的外接显示器。
使用云资源对终端的软硬件系统进行模拟,使得基于云平台进行终端的仿真、规模测试、终端应用协同开发、移动办公和终端游戏试玩推广等成为可能,有广泛的应用前景和带来新的商业模式的可能。通过云平台仿真得到的终端称为云终端。例如,通过云平台方针得到的手机可称为云手机。
由于一个终端运行一个独立的操作系统(如安卓(Android)、Windows或Linux操作系统),而云上部署的硬件主要都是高性能云主机(如云服务器),目前还没有部署类似手机终端这样的小型智能设备实体。所以在使用云资源模拟终端的软硬件系统时,如在云上提供和终端一样的操作系统时,就需要能够在云主机上运行终端的操作系统。同时由于云主机具有高性能的特点,所以为了高效的利用云主机的资源,可以在一台云主机上并发的运行多个云终端的操作系统。那么,在云终端的实现过程中,一个比较重要的问题是:在一个云主机上实现多个云终端并发运行的前提下,如何运行尽可能多的云终端,同时又能满足用户业务对性能的要求。其中,在一个云主机上实现多个云终端时,该多个云终端共享该云主机的中央处理器(central processing unit,CPU),内存,图形处理器(graphicsprocessing unit,GPU),网络和存储资源等硬件资源。
例如,在一种应用场景中,用户的终端接入云终端后,可以向云终端发送操作指令。云终端可以使用其所在的云主机的云资源,执行操作指令涉及的渲染操作,并向终端发送渲染得到的渲染画面,以便于终端对渲染画面进行显示。此时用户业务对性能的要求包括对云终端执行渲染操作的性能要求。在部署云终端时,考虑到云服务器上会并发运行多个云终端,为了保证能够满足用户业务对性能的要求,通常会参考云服务器的硬件资源能力确定云服务器上能够部署的云终端的总数。例如,云服务器上部署的云终端的总数的最大值需要保证:云服务器的硬件资源的能力能够保证该最大值的云终端同时并发的需求。
但是,云主机上部署的所有云终端同时并发的概率较低,这样就导致目前部署有云终端的云主机的资源利用率较低。
本申请实施例提供了一种云终端的渲染方法。该云终端设置于数据中心。该方法包括:云终端获取渲染指令,并确定渲染指令的渲染类型,该渲染类型指示执行渲染指令指示的操作后,是否返回渲染指令指示的渲染画面,然后,云终端基于渲染类型和渲染指令,执行渲染指令指示的操作,其中,当渲染类型指示不返回渲染画面时,不为渲染指令分配渲染资源。
在该云终端的渲染方法中,由于渲染类型指示不返回渲染画面时,不为渲染指令分配渲染资源,使得不需要实际渲染操作的渲染指令不会占用渲染资源,就能够将渲染资源分配给其他的需要实际渲染操作的云终端,提高了部署有云终端的云主机的资源利用率。并且,由于云主机服务器上部署的所有云终端的共享云主机的硬件资源,则在相同硬件资源的情况下,通过该云终端的渲染方法能够有助于在云主机上部署更多的云终端,增加云主机上云终端的并发路数,并降低云终端的单路成本。或者,能够减少云主机的硬件配置,例如减少为云主机配置的GPU的数量,降低云主机的成本。
图1是本申请实施例提供的云终端的渲染方法涉及的实施环境的结构示意图。如图1所示,该实施环境包括:终端01和云主机02。终端01能够与云主机02建立通信连接。例如,终端01与云主机02之间可以通过网络建立通信连接。可选的,该网络可以为局域网,也可以为互联网,还可以为其它网络,本申请实施例不作限定。
如图2所示,云主机02上部署有云终端021,终端01能够接入云终端021,以通过云终端021执行用户指示终端01执行的操作。例如,在云手机场景中,终端01为手机,该云终端021可以为云手机,云手机用于模拟终端01的操作系统,并安装有终端01需要使用的应用程序,以实现手机的功能。在云游戏场景中,终端01为游戏终端,该云终端021可以为云游戏终端,该云游戏终端用于模拟游戏终端的操作系统,并安装有游戏终端的游戏程序,已实现游戏终端的功能。
在本申请实施例提供的云终端的渲染方法中,终端01可以接入云终端021,用户在终端01上执行操作后,终端01可以将该操作触发的指令发送至云终端021。云终端021运行有终端01的操作系统,云终端021可以执行终端01发送的指令,并向终端01反馈执行指令的结果。
例如,如图2所示,云主机02配置有计算资源、渲染资源022、存储资源023和网络资源024等硬件资源,计算资源通过CPU025和内存026实现,渲染资源通过CPU实现。利用这些硬件资源,云主机02中虚拟有多个容器,每个容器运行一个终端的操作系统实例(如安卓系统实例),操作系统实例中运行有应用程序,实现了对终端的仿真,即每个容器中运行有一个云终端021。每个云终端021可以接入一个终端01。根据图2可知该云主机02上并发运行有多个操作系统实例,即云主机02上部署有多个云终端021。并且,云终端021可以通过内核027调用硬件资源。
在一种应用场景中,用户在终端01上执行指示看电视的操作后,终端01可将该操作触发的指令发送至云终端021,云终端021可执行该指令,并向终端01反馈渲染得到的电视画面,以便于在终端01中显示该电视画面。在这种场景中产生的渲染指令的渲染类型为真实渲染,且该渲染类型具体可以为在线渲染。
或者,在用户未对终端01进行操作的时候,云终端021为了保持后台运行状态,需要根据后台运行的需求执行相关的指令。例如,在终端01处于待机状态时,用户未对终端01执行操作,此时云终端021保持后台运行状态,且为了优化云终端021的运行性能,云终端021也可以执行一些操作,并根据做这些操作分析云终端021的运行情况,以便于根据该运行情况优化云终端021的运行性能。在一种应用场景中,在云终端021保持后台运行状态时,云终端021上的应用程序可以下发渲染指令,并获取通过该渲染指令渲染得到的画面,然后基于该画面进行分析,以便于根据该分析优化云终端021的运行性能。在这种场景中产生的渲染指令的渲染类型为真实渲染,且该渲染类型具体可以为离线渲染。在另一种应用场景中,在云终端021保持后台运行状态时,为了保证云终端021的正常运行,云终端021上的应用程序也可能下发渲染指令,此时由于无需显示或根据渲染得到的画面进行分析,则无需获取通过该渲染指令渲染得到的画面。在这种场景中产生的渲染指令的渲染类型为空渲染。
在一种可实现方式中,终端01可以为台式计算机、膝上型计算机、移动电话、智能手机、平板电脑、多媒体播放器、智能家电、人工智能设备、智能可穿戴设备、电子阅读器、智能车载设备或物联网设备等。
云主机02可以为物理服务器或裸金属服务器等服务器。云主机02中部署有容器,容器用于实现云终端021的功能。可选的,服务器可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。其中,云计算服务中心中部署有云服务提供商拥有的大量基础资源。例如云计算服务中心中部署有计算资源、存储资源和网络资源等。云计算服务中心可以利用该大量基础资源,实现本申请实施例提供的云终端的渲染方法。
当云主机02通过云计算服务中心实现时。用户可以通过终端01访问云平台,并通过云平台接入云终端021。此时,本申请实施例提供的云终端的渲染方法实现的功能,可以由云服务提供商在云平台抽象成一种渲染云服务,云平台能够利用云计算中心中的资源向用户提供渲染云服务。用户在云平台购买渲染云服务后,能够通过该渲染云服务使用其终端01接入的云终端021。可选地,云平台可以是中心云的云平台、边缘云的云平台或包括中心云和边缘云的云平台,本申请实施例对其不做具体限定。
需要说明的是,在图1所示的实施环境中,云主机02也可以通过除云平台外的其他资源平台实现,本申请实施例对其不做具体限定。此时,云主机02可以通过其他资源平台中的资源实现,并向用户提供相关的渲染服务。
应当理解的是,以上内容是对本申请实施例提供的云终端的渲染方法的应用场景的示例性说明,并不构成对于该云终端的渲染方法的应用场景的限定。例如,本申请实施例提供的云终端的渲染方法还可以应用于弹性渲染场景和其他虚拟化的移动及嵌入式操作系统的场景。并且,云终端的操作系统也不限于安卓、Windows和Linux操作系统,也可以为其他操作系统。本领域普通技术人员可知,随着业务需求的改变,其应用场景可以根据应用需求进行调整,本申请实施例对其不做一一列举。
下面对本申请实施例提供的云终端的渲染方法进行说明。渲染指令通常以渲染指令流的形式呈现,一个渲染指令流包括多个渲染指令。在对渲染指令流中的多个渲染指令进行处理时,需要对多个渲染指令逐个进行处理。且在对每个渲染指令进行处理时,均可以采用本申请实施例提供的云终端的渲染方法。下面以采用本申请实施例提供的云终端的渲染方法对一个渲染指令进行处理的过程进行说明,渲染指令流中其他渲染指令的处理过程请相应参考对该渲染指令的处理过程。如图3所示,该云终端的渲染方法包括以下步骤:
步骤301、云终端获取渲染指令,渲染指令由云终端产生。
云终端有渲染需求时,会产生渲染指令。渲染指令可以指示渲染得到的渲染画面和渲染类型。渲染类型指示执行渲染指令指示的操作后,是否返回渲染指令指示的渲染画面。并且,在不同应用场景中,由于渲染目的不同,渲染类型则会不同。本申请实施例以一下几种渲染类型为例进行说明:
在一种应用场景中,用户在终端01上执行需要在终端01上显示画面的相关操作后,终端01可将该操作触发的指令发送至云终端021,云终端021可执行该指令,并向终端01反馈渲染得到的渲染画面,以便于在终端01中显示该渲染画面。在这种场景中产生的渲染指令的渲染类型为真实渲染,且该渲染类型具体可以为在线渲染。例如,用户在终端01上执行指示看电视的操作后,终端01可将该操作触发的指令发送至云终端021,云终端021可执行该指令,并向终端01反馈渲染得到的电视画面,以便于在终端01中显示该电视画面。在这种场景中产生的渲染指令的渲染类型为真实渲染,且该渲染类型具体可以为在线渲染。
或者,在用户未对终端01进行操作的时候,云终端021为了保持后台运行状态,需要根据后台运行的需求执行相关的指令。例如,在终端01处于待机状态时,用户未对终端01执行操作,此时云终端021保持后台运行状态,且为了优化云终端021的运行性能,云终端021也可以执行一些操作,并根据做这些操作分析云终端021的运行情况,以便于根据该运行情况优化云终端021的运行性能。在一种应用场景中,在云终端021保持后台运行状态时,云终端021上的应用程序可以下发渲染指令,并获取通过该渲染指令渲染得到的画面,然后基于该画面进行分析,以便于根据该分析优化云终端021的运行性能。在这种场景中产生的渲染指令的渲染类型为真实渲染,且该渲染类型具体可以为离线渲染。例如,云终端在后台运行过程中,可以对电影的特效进行处理,并根据渲染得到的特效图片进行分析。在另一种应用场景中,在云终端021保持后台运行状态时,为了保证云终端021的正常运行,云终端021上的应用程序也可能下发渲染指令,此时由于无需显示或根据渲染得到的画面进行分析,则无需获取通过该渲染指令渲染得到的画面。在这种场景中产生的渲染指令的渲染类型为空渲染。
步骤302、云终端确定渲染指令的渲染类型,渲染类型指示执行渲染指令指示的操作后,是否返回渲染指令指示的渲染画面。
云终端获取渲染指令后,可以从渲染指令中获取用于指示渲染类型的相关内容,根据该相关内容得到渲染指令的渲染类型。
根据步骤301的描述可知,渲染类型包括:真实渲染和空渲染。真实渲染指示执行渲染指令指示的操作后,返回渲染指令指示的渲染画面。空渲染指示执行渲染指令指示的操作后,不返回渲染指令指示的渲染画面。一般来说,当用户在使用终端时,需要根据用户的指示执行渲染操作,得到渲染画面,则由用户使用终端过程中执行的操作触发的渲染指令的渲染类型为真实渲染。那么,在渲染指令由接入云终端的终端向云终端发送的操作指令触发时,渲染指令的渲染类型为真实渲染,否则为空渲染。也即是,用户对终端进行操作的过程中触发的渲染指令的渲染类型为真实渲染,用户未对终端进行操作的过程中触发的渲染指令的渲染类型为空渲染。
进一步地,在用户使用终端的过程中,根据使用情况,其触发的渲染指令可能需要在终端中显示渲染画面,也可能不需要终端显示渲染画面。则真实渲染进一步可以包括:在线渲染和离线渲染。在线渲染指示在接入云终端的终端上显示渲染画面。离线渲染指示不在终端上显示渲染画面。一般来说,用户在终端上执行操作时,不同的操作需要的响应不同,则对于某一个操作来说,若该操作需要的响应包括在终端上显示渲染画面,则该操作会触发渲染画面获取请求,以指示向终端返回渲染画面,若该操作需要的响应不包括在终端上显示渲染画面,则该操作不会触发渲染画面获取请求,以指示不向终端返回渲染画面。那么,在渲染指令由接入云终端的终端向云终端发送的渲染画面获取请求触发时,渲染指令的渲染类型为在线渲染,否则为离线渲染。并且,对于在线渲染,云终端可以通过截屏的方式获取渲染画面,并向终端提供渲染画面,则对于渲染指令流中的第二个及之后的渲染指令,若云终端对该渲染指令之前的渲染指令的渲染画面有截屏操作,则该渲染指令的渲染类型为在线渲染。
步骤303、云终端基于渲染类型和渲染指令,执行渲染指令指示的操作,其中,当渲染类型指示不返回渲染画面时,不为渲染指令分配渲染资源。
当渲染类型指示需要返回渲染指令指示的渲染画面时,需要使用渲染资源执行指示渲染画面的渲染指令,以得到渲染画面。此时,该步骤303的实现过程可以包括:云终端基于渲染类型和渲染指令,为渲染指令分配渲染资源,并使用渲染资源执行渲染指令指示的操作。当渲染类型指示不需要返回渲染指令指示的渲染画面时,不需要执行实际的渲染操作,即不需要使用渲染资源执行指示渲染画面的渲染指令,则不需要向渲染指令分配渲染资源。并且,当渲染类型为空渲染时,云终端针对渲染指令需要执行的操作包括:根据上层应用程序调用应用程序接口(application program interface,API)的顺序,记录渲染的状态机,并把渲染指令中指示渲染画面的指令记录下来。在一种实现方式中,该空渲染的操作可以通过计算资源执行。此时,该步骤303的实现过程可以包括:云终端基于渲染类型和渲染指令,为渲染指令分配计算资源,并使用计算资源执行渲染指令指示的操作。其中,当空渲染切换到真实渲染时,需要做的操作只是把渲染指令中指示渲染画面的指令发送到渲染资源。
可选的,渲染资源可以是图形处理器(graphics processing unit,GPU)等能够实现图像渲染的资源。并且,该渲染资源可以是物理资源,也可以是虚拟资源。例如,该渲染资源可以是物理GPU(如裸金属服务器中的GPU)或虚拟图形处理器(virtual graphicsprocessing unit,vGPU)。计算资源可以为CPU。
在确定需要向渲染指令分配的资源类型后,该步骤303的实现过程还可以包括:云终端确定向渲染指令分配的资源的来源,并基于渲染类型和渲染指令,从该来源中为渲染指令分配资源,并使用分配的资源执行渲染指令指示的操作。为渲染指令分配的资源可以为云终端所在的云主机的本地资源,也可以为云资源池中的资源。
在一种实现方式中,当云主机未部署本地资源时,云终端可以从云资源池中获取执行渲染指令指示的操作的目标资源,并使用目标资源执行该操作。例如,该步骤303包括:云终端可以基于渲染类型和渲染指令,在云资源池中获取执行操作的目标渲染资源;云终端使用目标渲染资源执行操作。
在另一种实现方式中,当云主机部署有本地资源时,云终端可以优先从云资源池或本地资源中获取执行渲染指令指示的操作的目标资源,并使用目标资源执行该操作。并且,当云终端优先从本地资源中获取目标资源时,在云终端需要获取目标资源之前,可以先查询本地资源是否能够满足渲染指令指示的操作,并在本地资源能够满足操作时,在本地资源中获取执行操作的目标资源,在本地资源不能满足操作时,在云资源池中获取执行操作的目标资源。例如,该步骤303包括:云终端可以基于渲染类型和渲染指令,在云主机的渲染资源能够满足操作时,在云主机的渲染资源中获取执行操作的目标渲染资源;云终端基于渲染类型和渲染指令,在云主机的渲染资源不能满足操作时,在云资源池中获取执行操作的目标渲染资源;并使用目标渲染资源执行操作。类似的,云终端为空渲染分配计算资源的过程也可以参考上述分配渲染资源的实现方式。
其中,在确定为渲染指令分配的渲染资源后,可以采用重定向技术将渲染指令定向至渲染资源,使得渲染资源执行该渲染指令。在一种实现方式中,如图4所示,云终端021可以采用开放图形库的嵌入系统(open graphics library for embedded systems,OpenGLES)或VULKAN API将渲染指令定向至渲染资源。OpenGLES/Vulkan使用用户模式驱动(user mode driver,UMD),它把OpenGLES/Vulkan的请求做预处理后,并交给内核模式驱动(kernel mode driver,KMD)来处理(通过/dev/dri/renderDxxx设备节点来交互),KMD做完处理后,再交由GPU等渲染资源022来做对应的渲染处理。OpenGLES是开放图形库(opengraphics library,OpenGL)的子集,针对手机、掌上电脑(personal digital assistant,PDA)和游戏主机等嵌入式设备而设计。OpenGL是用于渲染2D、3D矢量图形的跨语言、跨平台的API。Vulkan是一个低开销、跨平台的二维、三维图形与计算的API,最早由科纳斯组织在2015年游戏开发者大会(GDC)上发表。与OpenGL类似,Vulkan针对全平台即时3D图形程序(如电子游戏和交互媒体)而设计,并提供高性能与更均衡的CPU与GPU占用,这也是Direct3D 12和AMD的Mantle的目标。与Direct3D(12版之前)和OpenGL的其他主要区别是,Vulkan是一个底层API,而且能执行并行任务。除此之外,Vulkan还能更好地分配多个CPU核心的使用。
在一种实现方式中,如图4所示,云终端021中可以运行有对本地资源进行管理的资源管理器028和获取资源的用户模式驱动(SW-UMD),该资源管理器能够判断云主机的渲染资源能够满足渲染指令指示的操作,并向SW-UMD反馈判断结果。在云主机的渲染资源能够满足渲染指令指示的操作时,SW-UMD可以向UMD发送指令,以通过UMD将渲染指令重定向至云主机本地的渲染资源。在云主机的渲染资源不能够满足渲染指令指示的操作时,SW-UMD可以向云资源池03发送指令,以将渲染指令重定向至云资源池03的渲染资源031。其中,SW-UMD可以通过云资源池03中的服务端032进行交互,实现对渲染指令的重定向。并且,云终端021中还部署有系统层和多个应用程序,系统层用于仿真终端的操作系统,应用程序用于实现用户的业务。
步骤304、当渲染类型为在线渲染时,云终端发送渲染画面至终端进行显示。
当渲染类型为真实渲染时,在执行渲染指令指示的操作后,即可得到渲染指令指示的渲染画面。当渲染类型为在线渲染时,由于还需要在接入云终端的终端上显示渲染画面,则云终端还需要向终端发送渲染画面,使得终端显示该渲染画面。在一种实现方式中,云终端具有模拟的物理屏或虚拟屏,通过渲染操作得到渲染画面后,云终端的模拟的物理屏或虚拟屏上会显示渲染画面,云终端可以对渲染画面截屏得到渲染画面,并对渲染指令流指示的渲染画面编码成视频流,并向终端传输该视频流。
综上所述,在本申请实施例提供的云终端的渲染方法中,由于渲染类型指示不返回渲染画面时,不为渲染指令分配渲染资源,使得不需要实际渲染操作的渲染指令不会占用渲染资源,就能够将渲染资源分配给其他的需要实际渲染操作的云终端,提高了部署有云终端的云主机的资源利用率。并且,由于云主机服务器上部署的所有云终端的共享云主机的硬件资源,则在相同硬件资源的情况下,通过该云终端的渲染方法能够有助于在云主机上部署更多的云终端,增加云主机上云终端的并发路数,并降低云终端的单路成本。或者,能够减少云主机的硬件配置,例如减少为云主机配置的GPU的数量,降低云主机的成本。
另外,通过使用云资源池的资源执行渲染指令指示的操作,使得云终端能够使用云资源池的资源,能够解决云终端的本地资源不足时的并发问题,有助于进一步增加云主机上云终端的并发路数,并降低云终端的单路成本。并且,由于云终端能够使用云资源池的资源,使得云终端甚至能够不部署用于执行渲染指令指示的操作的相关资源(如GPU),这样能够进一步提升云主机的资源利用率,进一步降低云主机的成本。
需要说明的是,本申请实施例提供的云终端的渲染方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
以上介绍了本申请实施例的云终端的渲染方法,与上述方法对应,本申请实施例还提供了云终端的渲染装置。图5是本申请实施例提供的一种云终端的渲染装置的结构示意图。基于图5所示的如下多个模块,该图5所示的云终端的渲染装置能够执行上述图3所示的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。可选的,该云终端的渲染装置可配置于云平台。
如图5所示,该云终端的渲染装置500包括:
获取模块501,用于获取渲染指令,渲染指令由云终端产生。
确定模块502,用于确定渲染指令的渲染类型,渲染类型指示执行渲染指令指示的操作后,是否返回渲染指令指示的渲染画面。
处理模块503,用于基于渲染类型和渲染指令,执行渲染指令指示的操作,其中,当渲染类型指示不返回渲染画面时,不为渲染指令分配渲染资源。
可选的,渲染类型包括:真实渲染和空渲染,真实渲染指示返回渲染画面,空渲染指示不返回渲染画面。
可选的,在渲染指令由接入云终端的终端向云终端发送的操作指令触发时,渲染指令的渲染类型为真实渲染。
可选的,真实渲染包括:在线渲染和离线渲染,在线渲染指示在接入云终端的终端上显示渲染画面,离线渲染指示不在终端上显示渲染画面。
可选的,在渲染指令由接入云终端的终端向云终端发送的渲染画面获取请求触发时,渲染指令的渲染类型为在线渲染。
可选的,当渲染类型为在线渲染时,如图6所示,该云终端的渲染装置500还包括:交互模块504,用于发送渲染画面至终端进行显示。
可选的,当渲染类型指示返回渲染画面时,处理模块503,具体用于:基于渲染类型和渲染指令,在云资源池中获取执行操作的目标渲染资源;使用目标渲染资源执行操作。
可选的,当渲染类型指示返回渲染画面时,处理模块503,具体用于:基于渲染类型和渲染指令,在云主机的渲染资源能够满足操作时,在云主机的渲染资源中获取执行操作的目标渲染资源,云终端部署在云主机中;基于渲染类型和渲染指令,在云主机的渲染资源不能满足操作时,在云资源池中获取执行操作的目标渲染资源;使用目标渲染资源执行操作。
可选的,当渲染类型指示不返回渲染画面时,处理模块503,具体用于:基于渲染类型和渲染指令,为渲染指令分配计算资源;使用计算资源执行操作。
综上所述,在本申请实施例提供的云终端的渲染装置中,由于渲染类型指示不返回渲染画面时,不为渲染指令分配渲染资源,使得不需要实际渲染操作的渲染指令不会占用渲染资源,就能够将渲染资源分配给其他的需要实际渲染操作的云终端,提高了部署有云终端的云主机的资源利用率。并且,由于云主机服务器上部署的所有云终端的共享云主机的硬件资源,则在相同硬件资源的情况下,通过该云终端的渲染装置能够有助于在云主机上部署更多的云终端,增加云主机上云终端的并发路数,并降低云终端的单路成本。或者,能够减少云主机的硬件配置,例如减少为云主机配置的GPU的数量,降低云主机的成本。
另外,通过使用云资源池的资源执行渲染指令指示的操作,使得云终端能够使用云资源池的资源,能够解决云终端的本地资源不足时的并发问题,有助于进一步增加云主机上云终端的并发路数,并降低云终端的单路成本。并且,由于云终端能够使用云资源池的资源,使得云终端甚至能够不部署用于执行渲染指令指示的操作的相关资源(如GPU),这样能够进一步提升云主机的资源利用率,进一步降低云主机的成本。
其中,获取模块501、确定模块502、处理模块503和交互模块504均可以通过软件实现,或者可以通过硬件实现。示例性地,接下来以获取模块501为例,介绍获取模块501的实现方式。类似的,确定模块502、处理模块503和交互模块504的实现方式可以参考获取模块501的实现方式。
模块作为软件功能单元的一种举例,获取模块501可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,获取模块501可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,获取模块501可以包括至少一个计算设备,如服务器等。或者,获取模块501也可以是利用专用集成电路(application-specificintegrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
获取模块501包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。获取模块501包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,获取模块501包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
需要说明的是,在其他实施例中,获取模块501、确定模块502、处理模块503和交互模块504中任一模块可以用于执行云终端的渲染方法中的任意步骤。获取模块501、确定模块502、处理模块503和交互模块504负责实现的步骤可根据需要指定,通过获取模块501、确定模块502、处理模块503和交互模块504分别实现云终端的渲染方法中不同的步骤来实现云终端的渲染装置的全部功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应内容,在此不再赘述。
本申请实施例提供了一种计算设备。该计算设备用于实现本申请实施例提供的云终端的渲染方法中的部分或全部功能。图7是本申请实施例提供的一种计算设备的结构示意图。如图7所示,该计算设备700包括处理器701、存储器702、通信接口703和总线704。其中,处理器701、存储器702、通信接口703通过总线704实现彼此之间的通信连接。
处理器701可以包括通用处理器和/或专用硬件芯片。通用处理器可以包括:中央处理器(central processing unit,CPU)、微处理器或图形处理器(graphics processingunit,GPU)。CPU例如是一个单核处理器(single-CPU),又如是一个多核处理器(multi-CPU)。专用硬件芯片是一个高性能处理的硬件模块。专用硬件芯片包括数字信号处理器、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)或者网络处理器(network processer,NP)中的至少一项。处理器701还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的云终端的渲染方法的部分或全部功能,可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。
存储器702用于存储计算机程序,计算机程序包括操作系统702a和可执行代码(即程序指令)702b。存储器702例如是只读存储器或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器、只读光盘或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的可执行代码并能够由计算机存取的任何其它介质,但不限于此。例如存储器702用于存放出端口队列等。存储器702例如是独立存在,并通过总线704与处理器701相连接。或者存储器702和处理器701集成在一起。存储器702可以存储可执行代码,当存储器702中存储的可执行代码被处理器701执行时,处理器701用于执行本申请实施例提供的云终端的渲染方法的部分或全部功能。处理器701执行该过程的实现方式请相应参考前述实施例中的相关描述。存储器702中还可以包括操作系统等其他运行进程所需的软件模块和数据等。
通信接口703使用例如但不限于收发器一类的收发模块,来实现与其他设备或通信网络之间的通信。例如,通信接口703可以是以下器件的任一种或任一种组合:网络接口(如以太网接口)、无线网卡等具有网络接入功能的器件。
总线704是任何类型的,用于实现计算设备的内部器件(例如,存储器702、处理器701、通信接口703)互连的通信总线。例如系统总线。本申请实施例以计算设备内部的上述器件通过总线704互连为例说明,可选地,计算设备700内部的上述器件还可以采用除了总线704之外的其他连接方式彼此通信连接。例如,计算设备700内部的上述器件通过内部的逻辑接口互连。
需要说明的是,上述多个器件可以分别设置在彼此独立的芯片上,也可以至少部分的或者全部的设置在同一块芯片上。将各个器件独立设置在不同的芯片上,还是整合设置在一个或者多个芯片上,往往取决于产品设计的需要。本申请实施例对上述器件的具体实现形式不做限定。且上述各个附图对应的流程的描述各有侧重,某个流程中没有详述的部分,可以参见其他流程的相关描述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。提供程序开发平台的计算机程序产品包括一个或多个计算机指令,在计算设备上加载和执行这些计算机程序指令时,全部或部分地实现本申请实施例提供的云终端的渲染方法的功能。
并且,计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质存储有提供程序开发平台的计算机程序指令。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
可选地,计算设备集群包括的至少一个计算设备的结构可参见图7示出的计算设备700。计算设备集群中的一个或多个计算设备700中的存储器702中可以存有相同的用于执行云终端的渲染方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备700的存储器702中也可以分别存有用于执行云终端的渲染方法的部分指令。换言之,一个或多个计算设备700的组合可以共同执行用于执行云终端的渲染方法的指令。
需要说明的是,计算设备集群中的不同的计算设备700中的存储器702可以存储不同的指令,分别用于执行云终端的渲染装置的部分功能。也即,不同的计算设备700中的存储器702存储的指令可以实现获取模块501、确定模块502、处理模块503和交互模块504中的一个或多个模块的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图8示出了一种可能的实现方式。如图8所示,两个计算设备800A和800B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备800A和800B包括总线802、处理器804、存储器806和通信接口808。计算设备800A中的存储器806中存有执行获取模块501和确定模块502的功能的指令。同时,计算设备800B中的存储器806中存有执行处理模块503和交互模块504的功能的指令。
应理解,图8中示出的计算设备800A的功能也可以由多个计算设备800完成。同样,计算设备800B的功能也可以由多个计算设备800完成。且用于实现云终端的渲染方法的模块在计算设备中的部署方式也可以根据应用需求进行调整。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质为非易失性计算机可读存储介质,该计算机可读存储介质包括程序指令,当程序指令在计算设备上运行时,使得计算设备实现如本申请实施例提供的云终端的渲染方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机实现本申请实施例提供的云终端的渲染方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的渲染指令等都是在充分授权的情况下获取的。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (22)
1.一种云终端的渲染方法,其特征在于,所述方法包括:
所述云终端获取渲染指令,所述渲染指令由所述云终端产生;
所述云终端确定所述渲染指令的渲染类型,所述渲染类型指示执行所述渲染指令指示的操作后,是否返回所述渲染指令指示的渲染画面;
所述云终端基于所述渲染类型和所述渲染指令,执行所述渲染指令指示的操作,其中,当所述渲染类型指示不返回所述渲染画面时,不为所述渲染指令分配渲染资源。
2.如权利要求1所述的方法,其特征在于,所述渲染类型包括:真实渲染和空渲染,所述真实渲染指示返回所述渲染画面,所述空渲染指示不返回所述渲染画面。
3.如权利要求2所述的方法,其特征在于,在所述渲染指令由接入所述云终端的终端向所述云终端发送的操作指令触发时,所述渲染指令的渲染类型为所述真实渲染。
4.如权利要求2所述的方法,其特征在于,所述真实渲染包括:在线渲染和离线渲染,所述在线渲染指示在接入所述云终端的终端上显示渲染画面,所述离线渲染指示不在所述终端上显示渲染画面。
5.如权利要求4所述的方法,其特征在于,在所述渲染指令由接入所述云终端的终端向所述云终端发送的渲染画面获取请求触发时,所述渲染指令的渲染类型为所述在线渲染。
6.如权利要求4所述的方法,其特征在于,当所述渲染类型为所述在线渲染时,在所述云终端基于所述渲染类型和所述渲染指令,执行所述渲染指令指示的操作之后,所述方法还包括:
所述云终端发送所述渲染画面至所述终端进行显示。
7.如权利要求1至6任一所述的方法,其特征在于,当所述渲染类型指示返回所述渲染画面时,所述云终端基于所述渲染类型和所述渲染指令,执行所述渲染指令指示的操作,包括:
所述云终端基于所述渲染类型和所述渲染指令,在云资源池中获取执行所述操作的目标渲染资源;
所述云终端使用所述目标渲染资源执行所述操作。
8.如权利要求1至6任一所述的方法,其特征在于,当所述渲染类型指示返回所述渲染画面时,所述云终端基于所述渲染类型和所述渲染指令,执行所述渲染指令指示的操作,包括:
所述云终端基于所述渲染类型和所述渲染指令,在云主机的渲染资源能够满足所述操作时,在所述云主机的渲染资源中获取执行所述操作的目标渲染资源,所述云终端部署在所述云主机中;
所述云终端基于所述渲染类型和所述渲染指令,在所述云主机的渲染资源不能满足所述操作时,在云资源池中获取执行所述操作的目标渲染资源;
所述云终端使用所述目标渲染资源执行所述操作。
9.如权利要求1至6任一所述的方法,其特征在于,当所述渲染类型指示不返回所述渲染画面时,所述云终端基于所述渲染类型和所述渲染指令,执行所述渲染指令指示的操作,包括:
所述云终端基于所述渲染类型和所述渲染指令,为所述渲染指令分配计算资源;
所述云终端使用所述计算资源执行所述操作。
10.一种云终端的渲染装置,其特征在于,所述装置包括:
获取模块,用于获取渲染指令,所述渲染指令由所述云终端产生;
确定模块,用于确定所述渲染指令的渲染类型,所述渲染类型指示执行所述渲染指令指示的操作后,是否返回所述渲染指令指示的渲染画面;
处理模块,用于基于所述渲染类型和所述渲染指令,执行所述渲染指令指示的操作,其中,当所述渲染类型指示不返回所述渲染画面时,不为所述渲染指令分配渲染资源。
11.如权利要求10所述的装置,其特征在于,所述渲染类型包括:真实渲染和空渲染,所述真实渲染指示返回所述渲染画面,所述空渲染指示不返回所述渲染画面。
12.如权利要求11所述的装置,其特征在于,在所述渲染指令由接入所述云终端的终端向所述云终端发送的操作指令触发时,所述渲染指令的渲染类型为所述真实渲染。
13.如权利要求11所述的装置,其特征在于,所述真实渲染包括:在线渲染和离线渲染,所述在线渲染指示在接入所述云终端的终端上显示渲染画面,所述离线渲染指示不在所述终端上显示渲染画面。
14.如权利要求13所述的装置,其特征在于,在所述渲染指令由接入所述云终端的终端向所述云终端发送的渲染画面获取请求触发时,所述渲染指令的渲染类型为所述在线渲染。
15.如权利要求13所述的装置,其特征在于,当所述渲染类型为所述在线渲染时,所述装置还包括:
交互模块,用于发送所述渲染画面至所述终端进行显示。
16.如权利要求10至15任一所述的装置,其特征在于,当所述渲染类型指示返回所述渲染画面时,所述处理模块,具体用于:
基于所述渲染类型和所述渲染指令,在云资源池中获取执行所述操作的目标渲染资源;
使用所述目标渲染资源执行所述操作。
17.如权利要求10至15任一所述的装置,其特征在于,当所述渲染类型指示返回所述渲染画面时,所述处理模块,具体用于:
基于所述渲染类型和所述渲染指令,在云主机的渲染资源能够满足所述操作时,在所述云主机的渲染资源中获取执行所述操作的目标渲染资源,所述云终端部署在所述云主机中;
基于所述渲染类型和所述渲染指令,在所述云主机的渲染资源不能满足所述操作时,在云资源池中获取执行所述操作的目标渲染资源;
使用所述目标渲染资源执行所述操作。
18.如权利要求10至15任一所述的装置,其特征在于,当所述渲染类型指示不返回所述渲染画面时,所述处理模块,具体用于:
基于所述渲染类型和所述渲染指令,为所述渲染指令分配计算资源;
使用所述计算资源执行所述操作。
19.一种计算设备,其特征在于,包括存储器和处理器,所述存储器存储有程序指令,所述处理器运行所述程序指令以执行权利要求1至9任一所述的方法。
20.一种计算机集群,其特征在于,包括多个计算设备,所述多个计算设备包括多个处理器和多个存储器,所述多个存储器中存储有程序指令,所述多个处理器运行所述程序指令,使得所述计算机集群执行权利要求1至9任一所述的方法。
21.一种计算机可读存储介质,其特征在于,包括程序指令,当所述程序指令在计算设备上运行时,使得所述计算设备执行如权利要求1至9任一所述的方法。
22.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211720677.3A CN118312297A (zh) | 2022-12-30 | 2022-12-30 | 云终端的渲染方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211720677.3A CN118312297A (zh) | 2022-12-30 | 2022-12-30 | 云终端的渲染方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118312297A true CN118312297A (zh) | 2024-07-09 |
Family
ID=91721023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211720677.3A Pending CN118312297A (zh) | 2022-12-30 | 2022-12-30 | 云终端的渲染方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118312297A (zh) |
-
2022
- 2022-12-30 CN CN202211720677.3A patent/CN118312297A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230032554A1 (en) | Data processing method and apparatus, and storage medium | |
CN102707986B (zh) | 子分区与父分区之间的共享存储器 | |
CN103888485B (zh) | 云计算资源的分配方法、装置及系统 | |
US9069622B2 (en) | Techniques for load balancing GPU enabled virtual machines | |
US9311169B2 (en) | Server based graphics processing techniques | |
US8978051B2 (en) | Method and apparatus for displaying application image | |
US9542715B2 (en) | Memory space mapping techniques for server based graphics processing | |
CN112988400B (zh) | 显存优化方法、装置、电子设备以及可读存储介质 | |
US9805439B2 (en) | Memory space mapping techniques for server based graphics processing | |
US9613390B2 (en) | Host context techniques for server based graphics processing | |
CN108762934B (zh) | 远程图形传输系统、方法及云服务器 | |
CN113037795B (zh) | 瘦终端系统及其处理方法 | |
US20240296151A1 (en) | Cloud server application management method, apparatus, device, computer-readable storage medium, and computer program product | |
WO2024037110A9 (zh) | 数据处理方法、装置、设备以及介质 | |
CN112023402A (zh) | 游戏数据处理方法、装置、设备以及介质 | |
US20240062450A1 (en) | Cloud Image Rendering for Concurrent Processes | |
WO2023035619A1 (zh) | 一种场景渲染方法、装置、设备及系统 | |
CN118312297A (zh) | 云终端的渲染方法及装置 | |
CN115576689A (zh) | 云渲染处理方法、设备和存储介质 | |
CN115018693A (zh) | 基于软件定义图形处理器的docker图像加速方法及系统 | |
CN111243069A (zh) | 一种Unity3D引擎的场景切换方法和系统 | |
CN118656168A (zh) | 虚拟实例的部署方法及装置 | |
CN117632350A (zh) | 容器部署方法及装置 | |
CN116402933A (zh) | 多视窗的渲染方法、装置、计算机设备、存储介质及车辆 | |
CN117369935A (zh) | 用于libGDX引擎的多视图渲染方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |