CN114513512B - 界面渲染的方法及装置 - Google Patents

界面渲染的方法及装置 Download PDF

Info

Publication number
CN114513512B
CN114513512B CN202210119275.1A CN202210119275A CN114513512B CN 114513512 B CN114513512 B CN 114513512B CN 202210119275 A CN202210119275 A CN 202210119275A CN 114513512 B CN114513512 B CN 114513512B
Authority
CN
China
Prior art keywords
target
rendering
interface
terminal equipment
client
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
CN202210119275.1A
Other languages
English (en)
Other versions
CN114513512A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210119275.1A priority Critical patent/CN114513512B/zh
Publication of CN114513512A publication Critical patent/CN114513512A/zh
Application granted granted Critical
Publication of CN114513512B publication Critical patent/CN114513512B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Abstract

本申请提供一种界面渲染的方法及装置;在本申请中:云服务器基于终端设备发送的界面渲染指令,获取终端设备对应的渲染功能参数,渲染功能参数包括:终端设备基于至少一个元素渲染指令,分别渲染相应的配置元素时,各自消耗的资源信息;基于获得的至少一个资源信息,确定界面渲染指令对应的目标界面中,由终端设备渲染的至少一个目标元素,并确定相应的目标渲染指令;将获得的至少一个目标渲染指令,以及目标界面中出至少一个目标元素以外的第一已渲染元素,传输给终端设备,终端设备根据至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面。避免界面卡顿的现象,提升显示效率。

Description

界面渲染的方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种界面渲染的方法及装置。
背景技术
随着技术的进步,终端设备的性能不断提升,可安装在终端设备中的客户端也应运而生。当客户端在终端设备中运行时,通常需要在终端设备中呈现相应的界面;例如:在终端设备上运行游戏类客户端时,会呈现相应的游戏界面;在终端设备上运行视频类客户端时,会呈现相应的视频界面等等。
目前,界面的渲染工作是在云服务器中进行的;即云服务器负责界面的渲染,并将渲染成功的界面传输给终端设备,最终由终端设备呈现相应的界面。
但是,当云服务器基于大量的渲染指令,进行界面的渲染时,会存在云服务器资源不足的情况,例如:云服务器资源短时间异常、云服务器资源短时间需要负载均衡、或需要更多的云服务器资源去处理优先级高的渲染指令。此时,将出现云服务器无法针对目标客户端执行界面渲染的情况,导致终端设备中不能及时呈现目标客户端的界面,出现界面卡顿的现象,降低界面的显示效率;进一步,导致无法针对目标客户端的界面触发操作,降低目标客户端的使用体验。
发明内容
本申请提供一种界面渲染的方法及装置,用以在终端设备中及时呈现当前运行的客户端的相关界面,避免界面卡顿的现象,提升界面的显示效率。
第一方面,本申请实施例提供一种界面渲染的方法,该方法包括:
云服务器基于终端设备发送的界面渲染指令,获取终端设备对应的渲染功能参数;其中,渲染功能参数包括:终端设备基于配置的至少一个元素渲染指令,分别渲染相应的配置元素时,各自消耗的资源信息;
云服务器基于获得的至少一个资源信息,确定界面渲染指令对应的目标界面中,由终端设备渲染的至少一个目标元素,并将至少一个目标元素各自对应的元素渲染指令,作为目标渲染指令;
云服务器将获得的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,传输给终端设备,使终端设备根据至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面。
第二方面,本申请实施例提供一种界面渲染的方法,该方法包括:
终端设备响应于针对目标客户端的触发操作,向云服务器发送界面渲染指令;
终端设备接收云服务器发送的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,其中,至少一个目标渲染指令以及第一已渲染元素是:云服务器在接收到界面渲染指令后,根据获取的渲染功能参数确定的;
终端设备根据至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面。
第三方面,本申请实施例提供一种界面渲染的方法,该方法包括:
客户端服务器基于终端设备发送的目标客户端启动指令,获取终端设备对应的至少一个元素渲染指令;
客户端服务器将至少一个元素渲染指令,发送给终端设备,使终端设备基于至少一个元素渲染指令,分别渲染相应的配置元素,并记录渲染功能参数;渲染功能参数包括:渲染相应的配置元素时,至少一个配置元素各自消耗的资源信息;
客户端服务器接收终端设备传输的渲染功能参数。
第四方面,本申请实施例提供一种界面渲染的装置,该装置包括:
第一获取单元,用于基于终端设备发送的界面渲染指令,获取终端设备对应的渲染功能参数;其中,渲染功能参数包括:终端设备基于配置的至少一个元素渲染指令,分别渲染相应的配置元素时,各自消耗的资源信息;
确定单元,用于基于获得的至少一个资源信息,确定界面渲染指令对应的目标界面中,由终端设备渲染的至少一个目标元素,并将至少一个目标元素各自对应的元素渲染指令,作为目标渲染指令;
传输单元,用于将获得的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,传输给终端设备,使终端设备根据至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面。
在一种可选的实施方式中,界面渲染指令中包含终端设备信息,以及渲染功能参数中的之一或组合;
第一获取单元具体用于:
若界面渲染指令中包括渲染功能参数,则直接从界面渲染指令中,获取终端设备对应的渲染功能参数;
若界面渲染指令中包括终端设备信息,则根据存储的终端设备信息与渲染功能参数的第一对应关系,获取终端设备对应的渲染功能参数。
在一种可选的实施方式中,确定单元具体用于:
确定至少一个配置元素,各自对应的资源信息,并将与目标界面中各个界面元素,匹配的至少一个目标配置元素对应的资源信息,作为候选资源信息;
在获得的至少一个候选资源信息中,筛选出资源信息小于资源阈值的至少一个目标资源信息,并将至少一个目标资源信息对应的界面元素,作为目标元素。
在一种可选的实施方式中,传输单元具体用于:
将携带元素数据信息的至少一个目标渲染指令,界面中除至少一个目标元素以外的第一已渲染元素,第一已渲染元素对应的第一界面标识,传输给终端设备;
其中,元素数据信息,包括:目标渲染指令对应的目标元素的标识信息、位置信息,以及第二界面标识。
第五方面,本申请实施例提供一种界面渲染的装置,该装置包括:
第一发送单元,用于响应于针对目标客户端的触发操作,向云服务器发送界面渲染指令;
第一接收单元,用于接收云服务器发送的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,其中,至少一个目标渲染指令以及第一已渲染元素是:云服务器在接收到界面渲染指令后,根据获取的渲染功能参数确定的;
呈现单元,用于根据至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面。
在一种可选的方式中,第一发送单元具体用于:
响应于针对目标客户端中呈现的子应用的第一触发操作,通过客户端服务器,向云服务器发送界面渲染指令;或
响应于针对目标客户端中呈现的操作界面的第二触发操作,向云服务器发送界面渲染指令;
其中,界面渲染指令中包括:终端设备信息、应用标识信息,以及账号信息中的至少一种。
在一种可选的实施方式中,第一接收单元具体用于:
接收携带元素数据信息的至少一个目标渲染指令,界面中除至少一个目标元素以外的第一已渲染元素,以及第一已渲染元素对应的第一界面标识;
其中,元素数据信息,包括:目标渲染指令对应的目标元素的标识信息、位置信息以及第二界面标识。
在一种可选的实施方式中,呈现单元具体用于:
针对至少一个目标渲染指令中的一个目标渲染指令,分别执行如下操作:
在元素标识与第二已渲染元素之间的第二对应关系中,查找一个目标元素的标识信息对应的第二已渲染元素;
若查找到,则将查找到的第二已渲染元素,作为渲染成功的一个目标元素;
若未查找到,则调用OpenGL库函数渲染相应的一个目标元素,并将渲染成功的一个目标元素,以及相应的标识信息,存储至第二对应关系中。
在一种可选的实施方式中,呈现单元具体用于:
在渲染成功的至少一个目标元素中,查找与第二界面标识一致的第一界面标识对应的第一目标元素;
基于查找到的第一目标元素对应的位置信息,将第一目标元素,填充到包含第一已渲染元素的目标界面中,并在目标客户端中,呈现包含第一目标元素和第一已渲染元素的目标界面。
在一种可选的实施方式中,第一发送单元响应于针对目标客户端的触发操作,向云服务器发送界面渲染指令之前,还用于:
基于客户端服务器配置的至少一个元素渲染指令,分别渲染相应的配置元素,并记录渲染功能参数;其中,至少一个元素渲染指令是启动目标客户端时,从客户端服务器中获得的;渲染功能参数包括:渲染相应的配置元素时,至少一个配置元素各自消耗的资源信息;
将渲染功能参数,传输给客户端服务器,使客户端服务器在接收到针对目标客户端的触发操作时,将渲染功能参数携带在相应的界面渲染指令中,并传输给云服务器。
第六方面,本申请实施例提供一种界面渲染的装置,该装置包括:
第二获取单元,用于基于终端设备发送的目标客户端启动指令,获取终端设备对应的至少一个元素渲染指令;
第二发送单元,用于将至少一个元素渲染指令,发送给终端设备,使终端设备基于至少一个元素渲染指令,分别渲染相应的配置元素,并记录渲染功能参数;渲染功能参数包括:渲染相应的配置元素时,至少一个配置元素各自消耗的资源信息;
第二接收单元,用于接收终端设备传输的渲染功能参数。
在一种可选的实施方式中,第二接收单元接收终端设备传输的渲染功能参数之后,还用于:
在接收到终端设备发送的界面渲染指令后,将渲染功能参数携带在界面渲染指令中传输给云服务器;
其中,界面渲染指令是终端设备响应于针对目标客户端的触发操作后发送的。
第七方面,本申请实施例提供一种界面渲染的设备,包括:存储器和处理器,其中,存储器,用于存储计算机指令;处理器,用于执行计算机指令以实现本申请实施例提供的界面渲染的方法的步骤。
第八方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令被处理器执行时实现本申请实施例提供的界面渲染的方法的步骤。
第九方面,本申请实施例提供一种计算机程序产品,其包括计算机指令,计算机指令存储在计算机可读存储介质中;当电子设备的处理器从计算机可读存储介质读取计算机指令时,处理器执行计算机指令,使得电子设备执行本申请实施例提供的界面渲染的方法的步骤。
本申请有益效果如下:
在本申请实施例的方案中,当云服务器接收到终端设备发送的界面渲染指令,确定需要执行渲染工作时,首先获取终端设备对应的渲染功能参数,由于渲染功能参数中包括:终端设备基于配置的至少一个元素渲染指令,分别渲染相应的配置元素时,各自消耗的资源信息;因此,云服务器基于终端设备渲染各个配置元素时,消耗的资源信息,确定出界面渲染指令对应的目标界面中,可由终端设备进行渲染的至少一个目标元素,并确定相应的目标渲染指令;然后,云服务器对目标界面中除至少一个目标元素以外的界面元素执行渲染工作,获取渲染成功的第一已渲染元素;最后,云服务器将至少一个目标渲染指令,以及第一已渲染元素,传输给终端设备,由终端设备根据至少一个目标渲染指令,执行相应的目标元素的渲染工作,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面;
上述方案中,界面渲染工作由云服务器和终端设备配置执行,提升终端设备的资源利用率,减轻云服务器的压力,提升云服务器的资源调配和性能优化,避免云服务器资源不足的情况。进一步,避免出现因云服务器资源不足,导致无法针对客户端执行界面渲染的情况,保证在终端设备中及时呈现当前运行的客户端的相关界面,减少界面卡顿的现象,提升界面的显示效率。同时,在及时呈现客户端的相关界面的情况下,可实时针对当前呈现的客户端的相关界面进行触发操作,提升使用体验。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的第一种界面渲染的具体实施方式的流程图;
图3为本申请实施例提供的第一种在终端设备中呈现操作界面的示意图;
图4为本申请实施例提供的一种终端设备基于元素渲染指令执行配置元素渲染的示意图;
图5为本申请实施例提供的一种终端设备中呈现目标界面的方法流程图;
图6为本申请实施例提供的一种终端设备复用第二已渲染元素的示意图;
图7为本申请实施例提供的第二种界面渲染的具体实施方式的流程图;
图8为本申请实施例提供的第二种在终端设备中呈现操作界面的示意图;
图9为本申请实施例提供的第三种界面渲染的具体实施方式的流程图;
图10为本申请实施例提供的第三种在终端设备中呈现操作界面的示意图;
图11为本申请实施例提供的一种界面渲染的具体实施示意图;
图12为本申请实施例提供的第一种界面渲染的方法流程图;
图13为本申请实施例提供的第二种界面渲染的方法流程图;
图14为本申请实施例提供的第三种界面渲染的方法流程图;
图15为本申请实施例提供的第一种界面渲染的装置结构图;
图16为本申请实施例提供的第二种界面渲染的装置结构图;
图17为本申请实施例提供的第三种界面渲染的装置结构图;
图18为本申请实施例提供的一种电子设备结构图;
图19为本申请实施例提供的另一种电子设备结构图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于本领域技术人员更好地理解本申请的技术方案,下面对本申请涉及的部分概念进行介绍。
目标客户端:是指终端设备当前运行的客户端,该客户端中可嵌入多个子应用;例如,在即时通信客户端中嵌入游戏应用,此时目标客户端为即时通信客户端,子应用为游戏应用。
元素:是指在终端设备当前呈现的客户端的相关界面中包含的任一对象;例如,终端设备当前运行游戏类客户端,并呈现游戏类客户端的相关界面,在该界面中包括房子、车子、树木、石头、草等等,则元素为游戏中出现的房子、车子、树木、石头、草等等。
资源信息:是指终端设备在执行元素渲染工作时占用的中央处理器(CentralProcessing Unit,CPU)资源、图形处理器(Graphic Processing Unit,GPU)资源,以及渲染元素时所用时长。
云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云游戏(Cloud Gaming)又可称为游戏点播(Gaming on Demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(Thin Client)能运行高品质游戏。在云游戏场景下,游戏并不在终端设备,即不在终端设备中运行,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为音视频流数据,通过网络传输给终端设备。终端设备无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取输入指令并发送给云端服务器的能力即可。即在云游戏的运行模式下,云服务器进行界面渲染工作,并将渲染完毕的游戏界面压缩后通过网络传送给终端设备,由终端设备进行游戏界面的显示。
长连接:指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。
安卓(Android)容器:是将Android打包到容器镜像中,之后再通过标准容器镜像进行发布,载体可以是任意的支持开放容器标准(Open Container Initiative,OCI)的容器外壳,所以可以很轻松的通过k8s来运维,借助于k8s强大的运维工具,在云上可以轻易部署几千台服务器集群。
开放图形库(Open Graphics Library,OpenGL):是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口。由多个不同的函数调用组成,用来绘制从简单的图形到比较复杂的三维景象。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面对本申请实施例的设计思想进行简要介绍:
随着技术的进步,终端设备的性能不断提升,可安装在终端设备中的客户端也应运而生。当客户端在终端设备中运行时,通常需要在终端设备中呈现相应的界面;例如:在终端设备上运行游戏类客户端时,会呈现相应的游戏界面;在终端设备上运行视频类客户端时,会呈现相应的视频界面等等。
相关技术中,界面的渲染工作是在云服务器中进行的;即云服务器负责界面的渲染,并将渲染成功的界面传输给终端设备,最终由终端设备呈现相应的界面。此时,当终端设备中运行客户端,并拉取当前客户端的音视频流数据,并基于音视频流数据在终端设备中呈现相应的界面;同时,终端设备还会捕获针对当前呈现的界面的触发操作,并将触发操作对应的输入指令传递给服务器,获取最新渲染的音视频流数据。
例如,以客户端为云游戏为例:云游戏的界面渲染工作都是通过云游戏服务器去处理的,云游戏服务器负责接收终端设备基于触发操作发送的输入指令,以及执行渲染游戏界面的工作,并将渲染好的最新游戏界面下发给终端设备;而终端设备只负责显示云游戏界面,并捕获在云游戏界面中的触发操作,将基于触发操作确定的输入指令发送给云游戏服务器,以在终端设备中呈现最新的云游戏界面,且时时捕获触发操作,将触发操作对应的输入指令再次传递给云游戏服务器。云游戏服务器获取到输入指令后进行解析,确定相应的云游戏界面渲染指令,并渲染出最新的一帧云游戏界面,然后发送给终端设备。
可见,终端设备当前仅负责界面显示,终端设备的利用率太低,无法和服务器之间进行有效的资源调配和性能优化提升;
且,所有的渲染工作都在云服务器内进行,需要调度CPU/GPU。当云服务器基于大量的渲染指令,进行界面的渲染时,会存在云服务器资源不足的情况,例如:云服务器资源短时间异常、云服务器资源短时间需要负载均衡、或需要更多的云服务器资源去处理优先级高的渲染指令。此时,将出现云服务器无法针对目标客户端正常执行界面渲染的情况,导致终端设备中不能及时呈现目标客户端的界面,出现界面卡顿的现象,降低界面的显示效率;进一步,导致无法针对目标客户端的界面触发操作,降低目标客户端的使用体验。
有鉴于此,本申请实施例提供了一种界面渲染的方法及装置,随着终端设备而性能的不断提升,将界面的渲染工作一部分放在服务端执行,一部分放在终端设备中执行;同时,基于终端设备的性能,可以考虑把全部的渲染工作放在终端设备中执行,这样既提高了终端设备的CPU/GPU的性能利用率,降低云服务器的压力,也可以在云服务器出现问题时,承担所有渲染工作。在终端设备中及时呈现目标客户端的界面,避免出现界面卡顿的现象,提升界面的显示效率;在及时呈现客户端的相关界面的情况下,可实时针对当前呈现的客户端的相关界面进行触发操作,提升使用体验。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
请参考图1,图1为本申请实施例的应用场景示意图。该应用场景中包括终端设备110、客户端服务器120,以及云服务器130;且三者之间相互连接,并通过通信网络进行通信。
在一种可选的实施方式中,通信网络可以是有线网络或无线网络。因此,终端设备110和客户端服务器120可以通过有线或无线通信方式进行直接或间接地连接。比如,终端设备110可以通过无线接入点与客户端服务器120间接地连接,或终端设备110通过因特网与客户端服务器120直接地连接;同理,客户端服务器120与云服务器130之间也可以通过有线或无线通信方式进行直接或间接地连接,终端设备110与云服务器130之间也可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在本申请实施例中,终端设备110包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有各种客户端,该客户端可以是应用程序(例如浏览器、游戏软件等),也可以是网页、小程序等。
客户端服务器120则是与客户端相对应的后台服务器。服务器120可以是独立的物理服务器;本申请实施例中,客户端服务器120主要记录一些基本信息;例如,客户端为云游戏时,客户端服务器120可用于记录游戏时长,游戏时长可以用于确定是否可以开启云游戏,即是否可以开启云游戏是通过客户端服务器120来控制的;客户端服务器120为连接着终端设备110和云服务器130的中间人。
云服务器130主要是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器;
其中,云服务器130主要分为x86架构和进阶精简指令集机器架构(Advanced RISCMachine,ARM)架构两种。此时,云服务器130中的每一个服务器可以是x86架构,加上GPU组成的,然后通过虚拟化技术将每一个服务器虚拟化成为一个安卓容器,每一个安卓容器都可以运行一个应用程序;或云服务器130中的每一个服务器可以是ARM架构的服务器,因为应用程序与ARM服务器天然的兼容,在虚拟运行中无需指令翻译,因此,每一个服务器都可以直接运行一个应用程序;
因此,本申请实施例中,云服务器130主要功能是内部有安卓容器,在接受到客户端服务器120发送的信息时,可以根据客户端服务器120传递进来的信息确定启动什么应用;例如,客户端服务器120传递的信息为:游戏信息的游戏标识gameID,用户信息的用户标识userID,此时,基于客户端服务器120传递的信息来决定启动什么游戏,获取当前用户在游戏内的基础数据。并启动安卓容器后开始启动云游戏,然后会把云游戏视频流数据下放给终端设备110。接下来终端设备110和云服务器130相互交互,云服务器130不断的接收终端设备110传递过来的输入指令,从而加载最新的游戏界面,把更新后的游戏界面再实时传递给终端设备110进行呈现。
需要说明的是,本申请实施例中的界面渲染的方法可以由电子设备执行,该电子设备可以为终端设备110或云服务器130,即,该方法可以由云服务器130或者终端设备110单独执行,也可以由云服务器130和终端设备110共同执行。
在一种可选的实施方式中,在终端设备110不支持渲染功能时,界面渲染由云服务器130单独执行;
在一种可选的实施方式中,在终端设备110支持渲染功能是,云服务器130可以将部分或全部的渲染工作下发给终端设备110,由终端设备110单独执行界面渲染,或由终端设备110和云服务器130配合执行界面渲染。
需要说明的是,图1所示只是举例说明,实际上终端设备110和客户端服务器120的数量不受限制,在本申请实施例中不做具体限定。
本申请实施例中,当客户端服务器120的数量为多个时,多个客户端服务器120可组成为一区块链,而客户端服务器120为区块链上的节点;如本申请实施例的界面渲染的方法,其中所涉及的终端设备的渲染功能参数可保存于区块链上。
基于上述应用场景,下面结合上述描述的应用场景,根据附图来描述本申请示例性实施方式提供的界面渲染的方法,需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。并且,本申请实施例可应用于各种场景,包括但不限于音视频领域、游戏领域、地图领域、交通领域、车载场景、云技术、人工智能、智慧交通、辅助驾驶等各种场景。
在本申请实施例中,在进行界面渲染的时候,云服务器基于客户端服务器上报的终端设备的渲染功能参数,分析终端设备是否具备渲染界面元素的能力;
在确定终端设备具备渲染界面元素的能力后,确定出目标界面中,由终端设备渲染的至少一个目标元素,并确定至少一个目标元素对应的目标渲染指令,然后将至少一个目标渲染指令传输给终端设备,由终端设备执行至少一个目标元素的渲染工作;对于目标界面中,除至少一个目标元素以外的其他界面元素,由云服务器执行相应的渲染工作,并在渲染成功后,将渲染成功的第一已渲染元素,传输给终端设备;将云服务器的一部分渲染工作交给终端设备执行,充分利用终端设备的资源,减轻云服务器的压力;
在确定终端设备不具备渲染界面元素的能力后,直接由云服务器渲染目标界面中的各个界面元素,并将由云服务器渲染成功的第一已渲染元素传输给终端设备。
因此,本申请实施例的技术方案,适用于终端设备具体渲染界面元素能力的应用场景。下面,详见实施例一至实施例四中描述的界面渲染的方法实施例。
实施例一:
在本申请实施例中,当在终端设备中启动客户端后,或终端设备中已运行客户端,并进行触发操作后,进行界面渲染工作,以在终端设备中呈现相应的操作界面。下面,详见情况一至情况三中描述的具体实施方式,对本申请实施例中界面渲染的方法进行说明。
情况一:
在终端设备中启动目标客户端,呈现目标客户端的操作界面,其中,目标客户端为在云服务器中运行的客户端,也可称为云应用。
请参考图2,图2示例性提供本申请实施例中第一种界面渲染的具体实施方式的流程图,包括如下步骤:
步骤S200,终端设备响应于针对目标客户端的启动操作。
请参考图3,图3示例性提供本申请实施例中第一种在终端设备中呈现操作界面的示意图。
如图3所示,当针对终端设备中安装的游戏客户端的图标进行点击操作后,终端设备确定针对游戏客户端触发了启动操作,启动游戏客户端,在终端设备中呈现游戏客户端的相关界面。
步骤S201,终端设备向客户端服务器发送启动目标客户端的启动指令。
在一种可选的实施方式中,启动目标客户端时,终端设备将与目标客户端对应的客户端服务器进行连接,并向客户端服务器发送启动目标客户端的启动指令;
其中,启动指令中还可以包括:目标客户端的应用标识、终端设备信息、版本号、分辨率、账号信息等基础信息;从而使客户端服务器可以基于登录目标客户端时采用的账号信息,确定当前启动的目标客户端是否可以运行,以及历史运行时长,是否已经登录透传等。
步骤S202,客户端服务器基于终端设备发送的启动指令,获取终端设备对应的至少一个元素渲染指令。
在一种可能的实现方式中,客户端服务器中存储有终端设备与元素渲染指令的对应关系;
其中,终端设备可以采用终端设备的品牌、终端设备的型号中的至少一种表示;例如:基于终端设备的品牌和终端设备的型号共同确定终端设备,此时客户端服务器中存储的终端设备与元素渲染指令的关系为:A品牌生产的X型号的终端设备AX与元素渲染指令的对应关系,A品牌生产的M型号的终端设备AM与元素渲染指令的对应关系。
当客户端服务器接收到终端设备发送的启动指令后,解析启动指令,确定启动指令中携带的终端设备信息,并基于终端设备信息,在终端设备与元素渲染指令的对应关系中,查找相应的终端设备对应的至少一个元素渲染指令,并将该元素渲染指令下发给终端设备;其中,终端设备信息为终端设备的品牌以及终端设备型号中的至少一种。
步骤S203,客户端服务器将至少一个元素渲染指令,配置给相应的终端设备。
步骤S204,终端设备基于客户端服务器配置的至少一个元素渲染指令,分别渲染相应的配置元素,并记录相应的渲染功能参数;
在一种可选的实施方式中,终端设备接收到至少一个元素渲染指令后,对接收到的至少一个元素渲染指令进行解析,确定各个元素渲染指令中的内容数据,并基于解析获得的内容数据,进行相应的配置元素的渲染工作,并记录各个配置元素对应的相关数据,相关数据即消耗的资源信息,其中包括占用的中央处理器(Central Processing Unit,CPU)资源即CPU利用率、占用的图形处理器(Graphic Processing Unit,GPU)资源即GPU利用率,以及渲染时间中的至少一种。
因此,渲染功能参数包括:终端设备基于配置的至少一个元素渲染指令,分别渲染相应的配置元素时,各自消耗的资源信息;即,渲染功能参数中包括了元素渲染指令、配置元素、以及消耗的资源信息三者之间的对应关系;例如:表1示例性提供本申请实施例中记录渲染功能参数的方式:
表1
元素渲染指令 配置元素 资源信息
渲染山峰 山峰 GPU=50%、CPU=20%、渲染时长=1毫秒
渲染房子 房子 GPU=50%、CPU=10%、渲染时长=1毫秒
渲染树木 树木 GPU=20%、CPU=5%、渲染时长=0.5毫秒
步骤S205,终端设备将渲染功能参数,传输给客户端服务器。
请参考图4,图4为本申请实施例提供的一种终端设备基于元素渲染指令执行配置元素渲染的示意图。
在本申请实施例中,终端设备向客户端服务器上传渲染功能参数时,还可以包含账号信息、终端设备信息、版本号、分辨率、目标客户端的标识信息等基础信息。
因此,当启动的目标客户端为在云服务器中运行的客户端时,终端设备可以在向客户端服务器发送启动指令时,或向客户端服务器发送渲染功能参数时,向客户端服务器发送上述基础信息。
步骤S206,客户端服务器在接收到渲染功能参数后,将渲染功能参数以及终端设备信息中的至少一种携带在界面渲染指令中,并将界面渲染指令传输给云服务器。
在本申请实施例中,由于该客户端服务器为目标客户端对应的后台服务器,因此当在各个终端设备中启动该目标客户端时,均会与该客户端服务器进行连接,该客户端服务器会基于终端设备与元素渲染指令的对应关系,查找相应的至少一个元素渲染指令,然后下发到各个终端设备;
此时,客户端服务器也会接收各个终端设备发送的渲染功能参数,并存储各个终端设备对应的渲染功能参数;同时,还可以将同一型号的多个终端设备上报的渲染功能参数进行合并处理,并存储终端设备与渲染功能参数之间的对应关系。
例如,终端设备1和终端设备2为同一型号,均为AM,终端设备1渲染山峰时GPU=50%、CPU=20%、渲染时长=1毫秒,终端设备2渲染山峰时GPU=55%、CPU=18%、渲染时长=1.2毫秒;此时,可以将终端设备1和终端设备2对应的渲染功能参数进行合并处理,得到终端设备AM渲染山峰时GPU=50%~55%、CPU=18%~20%、渲染时长=1~1.2毫秒。
因此,在一种可能的实现方式中,在客户端服务器中存储有终端设备与渲染功能参数的对应关系的情况下,当接收到终端设备发送的启动目标客户端的启动指令时,基于该终端设备的终端设备信息,在终端设备与渲染功能参数的对应关系中,查找相应的渲染功能参数;
在查找到相应的渲染功能参数时,可直接将该渲染功能参数传输给云服务器;也可以基于终端设备与元素渲染指令之间的对应关系,获取该终端设备对应的元素渲染指令,并将获取到的元素渲染指令传输给终端设备,并在接收到终端设备返回的渲染功能参数后,与当前存储的渲染功能参数进行合并处理,将合并后获得的渲染功能参数携带在界面渲染指令中传输给云服务器;
在未查找到相应的渲染功能参数,基于终端设备与元素渲染指令之间的对应关系,获取该终端设备对应的元素渲染指令,并向该终端设备发送元素渲染指令,并在接收到该终端设备返回的渲染功能参数后,将渲染功能参数携带在界面渲染指令中传输给云服务器。
由于目标客户端为在云服务器运行的客户端,因此,客户端服务器在确定目标客户端启动,且获取到该目标客户端对应的终端设备的渲染功能参数后,就会将该终端设备的渲染功能参数携带在界面渲染指令中传输给云服务器。
在另一种可能的实现方式中,在确定目标客户端启动,且基于该目标客户端对应的账号信息,确定该目标客户端已经运行过的历史时长,并确定该目标客户端对应的剩余运行时长,并在确定该目标客户端存在剩余运行时长后,确定可运行该目标客户端,并在获取到该目标客户端对应的终端设备的渲染功能参数后,就会将该终端设备的渲染功能参数携带在界面渲染指令中传输给云服务器。
一般的,可在云服务器运行的客户端大多数设置计费机制,以云游戏为例,云游戏为在云服务器中运行的游戏类客户端,此时,可针对该云游戏设置计费机制,云游戏的计费机制主要采用游戏的时长来体现,因此在启动云游戏时,客户端服务器首先确定该云游戏的游戏总时长,已应用的游戏时长,以及剩余游戏时长,并在确定存在剩余游戏时长后,确定云服务器可以启动该云游戏,与云服务器建立连接,并向云服务器传输界面渲染指令,界面渲染指令中包含渲染功能参数以及终端设备信息中的至少一种。
在本申请实施例中,还可以在界面渲染指令中携带目标客户端的应用标识、账号信息、终端设备的分辨率、版本号等基础信息。
步骤S207,云服务器基于界面渲染指令,获取终端设备对应的渲染功能参数。
在一种可选的实施方式中,云服务器接收到界面渲染指令后,对界面渲染指令进行解析,确定界面渲染指令中携带的终端设备信息,以及渲染功能参数中的之一或组合;
在确定界面渲染指令中携带渲染功能参数,则直接从界面渲染指令中,获取终端设备对应的渲染功能参数;
在确定界面渲染指令中包括终端设备信息,则根据存储的终端设备信息与渲染功能参数的第一对应关系,获取终端设备对应的渲染功能参数;
由于客户端服务器会将终端设备信息以及相应的渲染功能参数传输给云服务器,云服务器在接收到客户端服务器传输的终端设备信息与相应的渲染功能参数后,将存储终端设备信息与渲染功能参数的第一对应关系,在再次接收到相同的终端设备信息对应的终端设备的界面渲染指令时,可直接基于存储的终端设备信息与渲染功能参数的第一对应关系,获取终端设备对应的渲染功能参数。
步骤S208,云服务器基于渲染功能参数中各个配置元素各自对应的资源信息,确定界面渲染指令对应的目标界面中,由终端设备渲染的至少一个目标元素,并将至少一个目标元素各自对应的元素渲染指令,作为目标渲染指令。
在一种可选的实施方式中,云服务器接收到界面渲染指令后,对界面渲染指令进行解析,确定该界面渲染指令对应的目标界面中包含的界面元素,以及各个界面元素各自对应的界面元素渲染指令;
同时,云服务器确定渲染功能参数中各个配置元素各自对应的资源信息,并基于各个配置元素各自对应的资源信息,分析终端设备是否具备渲染元素的能力;
在确定终端设备不具备渲染元素的能力后,直接由云服务器对目标界面中包含的界面元素进行渲染,并将渲染成功的目标界面下发给终端设备,由终端设备呈现目标界面;
在确定终端设备具备渲染元素的能力后,云服务器分析目标界面中包含的界面元素中哪些界面元素可以由终端设备进行渲染,且不影响终端设备的性能。
在一种可选的实施方式中,云服务器通过大数据的计算分析、数据建模,动态的分析出各个配置元素对应的性能指标;然后,将目标界面中包含的界面元素,依次与配置元素进行匹配,获得与界面元素匹配成功的配置元素,并将匹配成功的配置元素对应的性能指标,作为匹配成功的界面元素的性能指标;最后,基于性能指标,确定可由终端设备进行渲染的目标元素;
例如:配置元素与性能指标的关系可以为:
性能指标1:表示终端设备渲染能力非常好,可以渲染树木;
性能指标2:表示终端设备渲染能力一般,可以渲染车子、房子等;
性能指标3:表示终端设备渲染能力差,可以渲染书包、挂件等;
在目标界面中包含的界面元素有房子、树木和书包的情况下,目标界面中包含的界面元素均与配置元素匹配,此时,确定树木对应的性能指标表征终端设备渲染能力非常好,因此可以将树木作为由终端设备进行渲染的目标元素,而房子对应的性能指标表征终端设备渲染能力一般,书包对应的性能指标表征终端渲染能力差,此时不将房子和书包作为由终端设备进行渲染的目标元素。
在另一种可选的实施方式中,性能指标由资源信息决定,因此可以基于资源信息,直接确定由终端设备渲染的至少一个目标元素;
在具体实施时,将目标界面中包含的界面元素,依次与确定的配置元素进行匹配,获得匹配成功的至少一个目标配置元素,并确定匹配成功的至少一个目标配置元素各自对应的资源信息,并将目标配置元素对应的资源信息作为候选资源信息;
在获得的至少一个候选资源信息中,筛选出资源信息小于资源阈值的至少一个目标资源信息,并将至少一个目标资源信息对应的界面元素,作为目标元素。
在本申请实施例中,在确定由终端设备渲染的至少一个目标元素后,将该至少一个目标元素对应的界面元素渲染指令,作为目标渲染指令,或还可以将该至少一个目标元素,在渲染功能参数中各自对应的元素渲染指令,作为目标渲染指令。
步骤S209,云服务器对目标界面中,除至少一个目标元素以外的其他界面元素进行渲染,确定由云服务器渲染成功的第一已渲染元素。
在一种可选的实施方式中,云服务器在确定由终端设备渲染的目标元素后,将该目标元素对应的目标渲染指令,从目标界面对应的界面元素渲染指令中抽离,然后,将剩余的界面元素渲染指令交给云服务器,由云服务器基于剩余的界面元素渲染指令,对目标界面中,除至少一个目标元素以外的其他界面元素进行渲染。
例如,在确定由终端设备对树木进行渲染后,将树木渲染指令,从目标界面对应的界面元素渲染指令中抽离,此时,剩余房子渲染指令和书包渲染指令;云服务器基于房子渲染指令和书包渲染指令,对房子和书包进行渲染,确定渲染成功的房子和书包。
在本申请实施例中,云服务器主要是安卓容器,可以进行目标客户端的初始化工作。安卓容器的渲染技术都采用容器内渲染的技术,其原理和原因是因为在容器内可以直接访问GPU,GPU具有高并发的计算能力,可以直接在容器内完成渲染,并且可以提升渲染性能。大大降低了渲染多个元素带来的延迟。并且一个安卓容器就是一个完整的Android系统,兼容性也完美,可以实现目标客户端的渲染。同时,将大部分的界面元素渲染指令交付给云服务器执行渲染工作,作为云服务器性能会比终端设备强很多,所以大部分的界面元素渲染指令还是要交付给云服务器执行的。
步骤S210,云服务器向客户端服务器发送已开始执行界面元素渲染工作的渲染通知消息。
步骤S211,客户端服务器在接收到渲染通知消息后,对目标客户端的相关数据进行记录和处理。
例如,客户端服务器接收到云服务器发送的渲染通知消息后,确定云服务器已经开始运行目标客户端,此时对目标客户端的运行时长做记录,并确定目标客户端的剩余运行时长,即确定当前登录目标客户端的账号信息对应的目标客户端的已运行时长,以及剩余的运行时长,以在再次接收到采用该账号信息登录目标客户端时,基于剩余的运行时长,确定是否可以运行该目标客户端。
在一种可选的实施方式中,客户端服务器在接收到渲染通知消息后,还会向云服务器反馈目标客户端情况,例如:客户端服务器向云服务器发送已经开始初始化设备以及目标客户端的设备信息,设备已经准备完成,可以做业务处理,如动画消息等。
需要说明的是,步骤S210和步骤S211对应的内容在云服务器对目标界面中,除至少一个目标元素以外的其他界面元素进行渲染后执行,但并不一定位于步骤S209之后,位于步骤S209仅是一种可实现方式的说明。
步骤S211,云服务器将获得的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,传输给终端设备。
在一种可选的实施方式中,云服务器将获得的至少一个目标渲染指令传输给终端设备时,各个目标渲染指令中均携带有各自对应的元素数据信息,其中,每个元素数据信息中包括但不限于该目标元素的标识信息、该目标元素对应的第一界面标识信息、该目标元素在界面中的第一位置信息;
例如,目标渲染指令为树木渲染指令,此时该树木渲染指令中将携带树木对应的第一界面标识信息即包含树木的一个帧数据的唯一标识符、树木的标识信息即树木的唯一标识符、树木的第一位置信息;
在一种可选的实施方式中,云服务器将目标界面中除至少一个目标元素以外的第一已渲染元素传输给终端设备时,还将第一已渲染元素对应的第二界面标识信息、该第一已渲染元素在界面中的第二位置信息传输给终端设备。
其中,位置信息为元素对应的坐标范围和坐标区域。
界面标识信息用于确定同一界面中包含的界面元素,位置信息用于确定各个界面元素在界面中的位置,以在呈现界面之前将同一界面中的界面元素,基于其在界面中的位置进行合并;
因为,同一界面中包含的界面元素在不同的端进行渲染,如在云服务器中渲染房子和书包,在终端设备中渲染树木,此时终端设备在接收到云服务器发送的房子和书包,以及相应的第二界面标识信息和第二位置信息后,也会比对由终端设备渲染的树木对应的第一界面标识信息,在确定树木对应的第一界面标识信息与房子和书包对应的第二界面标识信息一致后,基于树木对应的第一位置信息以及房子和书包的第二位置信息,将房子、树木和书包合并在同一界面中,在合并成功后,将合并成功的界面呈现在终端设备上。
在一种可能的实现方式中,云服务器传输的第一已渲染元素是包含在帧数据中的,即云服务器向终端设备发送目标渲染指令,以及除目标渲染指令对应的目标元素外,已渲染成功的界面帧数据;此时,云服务器无需向终端设备传输第一已渲染元素的第二位置信息;并在获取到由终端设备渲染的目标元素后,将该目标元素和对应的界面帧数据进行合并;
例如:目标渲染指令为树木渲染指令,界面帧数据对应由云服务器已渲染成功的包含房子和车子的界面;此时,终端设备在接收到树木渲染指令后,进行树木的渲染,并确定树木渲染指令中的界面标识信息与界面帧数据相对应,则基于树木渲染指令中携带的第一位置信息,获取数据的区间范围,基于树木的区间范围,将树木在界面帧数据上进行填充,就可以获取一个完整的目标界面。
目标元素的标识信息作为目标元素的索引,因为终端设备对目标元素进行渲染,为了避免针对同一元素执行多次的渲染工作,终端设备将渲染成功的第二已渲染元素存储,以再次接收到渲染该目标元素的目标渲染指令后,终端设备确定本地内存存储有该目标元素,则从本地内存中取出该目标元素,无需再次执行渲染工作;
一般的,采用目标元素的标识信息和目标元素之间的对应关系进行存储;例如:在第一帧界面中,终端设备需要渲染树木,在渲染成功后将在本地内存中存储树木ID和树木,在第二帧界面中,终端设备仍需要渲染树木,则直接采用目标渲染指令中携带的树木ID,在树木ID和树木的对应关系中,查找已成功渲染的树木,此时仅需要根据目标渲染指令中携带的树木的位置信息以及界面标识信息,将对应关系中存储的树木ID对应的历史位置信息和历史界面标识信息进行更新即可,多次复用,节约资源。
需要说明的是,云服务器将获得的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,传输给终端设备时,可以单独将至少一个目标渲染指令传输给终端设备,以及单独将目标界面中除至少一个目标元素以外的第一已渲染元素传输给终端设备;
例如,云服务器在确定至少一个目标渲染指令后,就将该至少一个目标渲染指令传输给终端设备;同时,云服务器执行除至少一个目标元素以外的其他界面元素的渲染工作,终端设备在接收到至少一个目标渲染指令后,执行目标元素的渲染工作,此时可以理解为云服务器和终端设备同步执行渲染工作;云服务器在成功渲染除至少一个目标元素以外的其他界面元素,及获得第一已渲染元素后,将第一已渲染元素传输给终端设备。
在本申请实施例,在终端设备和云服务器未建立连接的基础上,终端设备和云服务器通过客户端服务器传输至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素;在终端设备和云服务器建立连接的基础上,终端设备和云服务器之间可以直接传输至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素。
步骤S212,云服务器通过客户端服务器向终端设备发送云服务器的地址信息。
步骤S213,终端设备基于接收到的云服务器的地址信息,与相应的云服务器建立长连接。
在本申请实施例中,终端设备中刚启动目标客户端的时候,并未与云服务器直接连接,因此需要客户端服务器作为中间人进行消息传输,在终端设备获取到云服务器的地址信息后,即可与云服务器建立长连接。
在终端设备和云服务器建立长连接后,终端设备和云服务器之间可以直接不断的传递事件,主要是终端设备将针对目标客户端的操作界面进行的触发操作所生成的输入指令传输给云服务;例如:针对目标客户端的操作界面进行的点击、拖拽等动作控制操作,生成相应的输入指令,然后将输入指令,或输入指令对应的执行信息传输给云服务器;
云服务器在接收到新的输入指令,或输入指令对应的执行信息后,进行数据计算,并将计算后生成的新的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,传输给终端设备。
因此,终端设备可以从云服务器中拉取数据,如从云服务器中拉取云服务器渲染的音视频流数据;以及终端设备还会基于触发操作或手势事件,监测要执行的各种输入指令,并实时与云服务器进行交互,以再次拉取音视频流数据,并基于拉取的音视频流数据在终端设备中呈现相应的界面。
需要说明的是,云服务器在接收到客户端发送的界面渲染指令之后,即可通过客户端服务器向终端设备发送运行目标客户端的云服务器的地址信息,以使终端设备与云服务器建立长连接,位于步骤S212~步骤S213执行仅是本申请实施例中给出的实施方式。
步骤S214,终端设备根据至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面。
其中,第一已渲染元素采用音视频流数据的形式传输。
在一种可选的实施方式中,终端设备在接收到至少一个目标渲染指令后,基于至少一个目标渲染指令,分别渲染相应的目标元素,在获得由终端设备渲染成功的目标元素后,将目标元素和第一已渲染元素进行合处理,以将不同端渲染的同一界面中的元素合并,即在同一界面中呈现该界面中需要呈现的所有元素,最终在终端设备中呈现包含第一已渲染元素和目标元素的目标界面。
请参考图5,图5示例性提供本申请实施例中一种终端设备中呈现目标界面的方法流程图,包括如下步骤:
步骤S500,终端设备对获取的至少一个目标渲染指令进行解析,分别确定至少一个目标渲染指令,以及各自对应的目标元素、目标元素的标识信息、目标元素的第一位置信息、目标元素的第一界面标识信息;
在本申请实施例中,终端设备在接收到云服务器传输的目标渲染指令以及音视频流数据后,对目标渲染指令进行解析,将需要渲染的目标元素,基于目标渲染指令在终端设备中进行渲染。
步骤S501,终端设备基于解析获得的目标元素的标识信息,在本地内存中存储的元素标识与第二已渲染元素之间的第二对应关系中,查找目标元素的标识信息对应的第二已渲染元素;
步骤S502,终端设备判断是否查找到目标元素的标识信息对应的第二已渲染元素,若查找到则执行步骤S503,否则执行步骤S504;
步骤S503,终端设备将查找到的第二已渲染元素,作为由终端设备渲染成功的目标元素;
步骤S504,终端设备调OpenGL库函数渲染目标元素,并获得由终端设备渲染成功的目标元素;
步骤S505,终端设备将由终端设备渲染成功的目标元素作为第二已渲染元素,并基于目标元素以及相应的标识信息,更新第二对应关系;
在本申请实施例中,终端设备解析出来的目标渲染指令,都是服务器转换好的指令,可以直接调用底层的OpenGL库函数进行元素的渲染,然后将渲染成功的元素存储在本地内存中,方便后续的数据共享;即,将通过OpenGL库函数渲染渲染获得的目标元素,以及相应的标识信息,存储到第二对应关系中。
请参考图6,图6示例性提供本申请实施例中一种终端设备复用第二已渲染元素的示意图;
如图6所示,终端设备在接收到树木渲染指令,和包含第一已渲染元素的界面帧数据后;对树木渲染指令进行解析,确定树木渲染指令中携带的第一界面标识信息111、树木标识信息AAA、以及树木的第一位置信息110,同时确定包含第一已渲染元素的界面帧数据对应的第二界面标识信息111;
终端设备基于树木渲染指令成功渲染树木后,基于第一界面标识信息和第二标识信息,确定树木为第一界面标识信息111对应的界面中的元素后,基于第一位置信息将树木填充到界面标识信息111对应的界面中,实现合并;
在成功渲染树木后,将渲染成功的树木数据和树木标识AAA存储在内存中;
当再次接收到树木渲染指令和包含第一已渲染元素的界面帧数据后,确定树木渲染指令中携带的第一界面标识信息222、树木标识信息AAA、以及树木的第一位置信息220,同时确定包含第一已渲染元素的界面帧数据对应的第二界面标识信息222;
基于树木标识信息AAA,在内存中存储的渲染成功的树木数据和树木标识AAA的对应关系中,获取渲染成功的树木数据,并将渲染成功树木数据中的第一界面标识信息111和第一位置信息110,更新为当前接收到的第一界面标识信息222和第一位置信息220,然后,基于更新后的渲染成功的树木数据,将树木填充到界面标识信息222对应的界面中,实现合并。
步骤S506,终端设备在渲染成功的至少一个目标元素中,查找与第二界面标识一致的第一界面标识对应的第一目标元素;
步骤S507,终端设备基于查找到的第一目标元素对应的位置信息,将第一目标元素,填充到包含第一已渲染元素的目标界面;
在本申请实施例中,终端设备要将由终端设备渲染成功的目标元素,以及由云服务器渲染成功的第一已渲染元素进行合并操作。合并操作主要以终端设备获取的第一已渲染元素的第二界面标识信息为主,在第二界面标识信息的基础上,获取与第二界面标识信息一致的第一界面标识信息对应的目标元素的位置信息,然后终端设备基于渲染成功的至少一个目标元素的第二位置信息,将目标元素填充到目标界面中,实现目标元素和第一已渲染元素的进行合并处理,确定包含目标元素和第一已渲染元素的目标界面。
步骤S508,终端设备在目标客户端中,呈现包含目标元素和第一已渲染元素的目标界面。
在一种可选的实施方式中,终端设备仅接收到云服务器传输的音视频流数据,此时不需要终端设备在本地执行渲染工作,以及无需将渲染成功的元素进行合并等操作,即可执行在目标客户端中呈现目标界面。
需要说明的是,在情况一下,云服务器和客户端服务器可以为同一服务器。
情况二:目标客户端中包含有多个子应用,针对终端设备当前运行的目标客户端中呈现的子应用的第一触发操作,呈现子应用的操作界面;其中,子应用为在云服务器端运行的客户端。
请参考图7,图7示例性提供本申请实施例中第二种界面渲染的具体实施方式的流程图,包括如下步骤:
步骤S700,终端设备响应于针对目标客户端中呈现的子应用的第一触发操作。
步骤S701,终端设备向客户端服务器发送界面渲染指令。
请参考图8,图8示例性提供本申请实施例中第二种在终端设备中呈现操作界面的示意图。
如图8所示,当针对终端设备中安装的游戏客户端的图标进行点击操作后,终端设备确定针对游戏客户端触发了启动操作,动游戏客户端,在终端设备中呈现游戏客户端的相关界面,该游戏客户端的相关界面中包含云游戏按键,云游戏为游戏客户端中的子应用,当针对界面中呈现的云游戏按键进行点击操作后,确定启动该云游戏,此时需要呈现该云游戏对应的操作界面,既然需要在终端设备中呈现云游戏对应的操作界面,就需要进行界面渲染,因此向客户端服务器发送界面渲染指令。
在一种可能的实现方式中,该界面渲染指令中还可以包括:子应用的应用标识、终端设备信息、版本号、分辨率、账号信息等基础信息;从而使客户端服务器可以基于登录子应用时采用的账号信息,确定终端设备中当前启动的子应用当前是否可以运行,以及历史运行时长,是否已经登录透传等。
步骤S702,客户端服务器在接收到终端设备发送的界面渲染指令时,将渲染功能参数,携带在界面渲染指令中传输给云服务器。
本申请实施例中,终端设备响应于针对目标客户端中呈现的子应用的第一触发操作之前,终端设备中启动目标客户端,并向目标客户端对应的客户端服务器发送启动目标客户端的启动指令,然后,基于客户端服务器配置的至少一个元素渲染指令,执行相应的配置元素的渲染工作,并记录渲染功能参数,然后将渲染功能参数上报给客户端服务器;因此客户端服务器中存储有运行子应用的终端设备对应的渲染功能参数。
客户端服务器获取终端设备的渲染功能参数的具体实现方式与情况一中记载的类似,可以参见情况一,在此不再赘述。
步骤S703,云服务器基于界面渲染指令,获取终端设备对应的渲染功能参数。
在一种可选的实施方式中,云服务器接收到界面渲染指令后,对界面渲染指令进行解析,确定界面渲染指令中携带的终端设备信息,以及渲染功能参数中的之一或组合;
在确定界面渲染指令中携带渲染功能参数,则直接从界面渲染指令中,获取终端设备对应的渲染功能参数;
在确定界面渲染指令中包括终端设备信息,则根据存储的终端设备信息与渲染功能参数的第一对应关系,获取终端设备对应的渲染功能参数。
步骤S704,云服务器基于渲染功能参数中各个配置元素各自对应的资源信息,确定界面渲染指令对应的目标界面中,由终端设备渲染的至少一个目标元素,并将至少一个目标元素各自对应的元素渲染指令,作为目标渲染指令。
步骤S705,云服务器对目标界面中,除至少一个目标元素以外的其他界面元素进行渲染,确定由云服务器渲染成功的第一已渲染元素。
步骤S706,云服务器向客户端服务器发送已开始执行界面元素渲染工作的渲染通知消息。
步骤S707,客户端服务器在接收到渲染通知消息后,对子应用的相关数据进行记录和处理。
例如,客户端服务器接收到云服务器发送的渲染通知消息后,确定云服务器已经开始运行子应用,此时对子应用的运行时长做记录,并确定子应用的剩余运行时长,即确定当前登录子应用的账号信息对应的子应用的已运行时长,以及剩余的运行时长,以在再次接收到采用该账号信息登录子应用时,基于剩余的运行时长,确定是否可以运行该子应用。
在一种可选的实施方式中,客户端服务器在接收到渲染通知消息后,还会向云服务器反馈子应用情况,例如:客户端服务器向云服务器发送已经开始初始化设备以及子应用的设备信息,设备已经准备完成,可以做业务处理,如动画消息等。
步骤S708,云服务器将获得的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,传输给终端设备。
步骤S709,云服务器通过客户端服务器向终端设备发送云服务器的地址信息。
步骤S710,终端设备基于接收到的云服务器的地址信息,与相应的云服务器建立长连接。
步骤S711,终端设备根据至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面。
情况三:在终端设备中运行目标客户端或子应用时,针对当前呈现的操作界面进行第二触发操作,更新操作界面;其中,目标客户端和子应用为云服务器端运行的客户端。
例如:在终端设备中运行目标客户端时,针对当前呈现的操作界面进行第二触发操作,将更新当前呈现的操作界面,目标客户端为服务器端运行的客户端;
在终端设备中运行目标客户端中的子应用时,针对当前呈现的操作界面进行第二触发操作,将更新当前呈现的操作界面,子应用为服务器端运行的客户端。
在上述情况一和上述情况二中描述的实施方式的基础上,终端设备与云服务器已经建立了长连接,终端设备和云服务器之间可以直接通信。
请参考图9,图9示例性提供本申请实施例中第三种界面渲染的具体实施方式的流程图,包括如下步骤:
步骤S900,终端设备响应于针对当前呈现的操作界面进行第二触发操作。
请参考图10,图10示例性提供本申请实施例中第三种在终端设备中呈现操作界面的示意图。
如图10所示,当针对界面中呈现的云游戏按键进行点击操作后,确定启动该云游戏,呈现该云游戏对应的操作界面,在云游戏的操作界面中可以进行第二触发操作,如点击、拖拽等操作,如进行拖拽操作,使游戏人物向前行驶,在行驶的过程中,操作界面是不断变换的,由于要不断的变换界面,即更新操作界面,因此需要进行界面渲染,故向客户端服务器发送界面渲染指令。
在一种可能的实现方式中,该界面渲染指令中还可以包括:子应用的应用标识、终端设备信息、版本号、分辨率、账号信息等基础信息;从而使客户端服务器可以基于登录子应用时采用的账号信息,确定终端设备中当前启动的子应用当前是否可以运行,以及历史运行时长,是否已经登录透传等。
步骤S901,终端设备向云服务器发送界面渲染指令。
步骤S902,云服务器基于界面渲染指令,获取终端设备对应的渲染功能参数。
步骤S903,云服务器基于渲染功能参数中各个配置元素各自对应的资源信息,确定界面渲染指令对应的目标界面中,由终端设备渲染的至少一个目标元素,并将至少一个目标元素各自对应的元素渲染指令,作为目标渲染指令。
步骤S904,云服务器对目标界面中,除至少一个目标元素以外的其他界面元素进行渲染,确定由云服务器渲染成功的第一已渲染元素。
步骤S905,云服务器将获得的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,传输给终端设备。
步骤S906,终端设备根据至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面。
下面,以在目标客户端中启动云游戏,并在云游戏运行过程中,针对当前呈现的操作界面进行触发操作后,进行界面渲染,在终端设备中呈现相应的目标界面为例
请参考图11,图11为本申请实施例提供的一种界面渲染的具体实施示意图。
如图11所示,以终端设备为手机,且手机中安装有游戏类客户端,游戏类客户端中包含有子游戏客户端,子游戏客户端为云游戏为例进行说明:
当在终端设备中针对游戏类客户端的客户端图标触发点击操作时,终端设备响应于针对游戏类客户端的启动操作,在终端设备中呈现游戏类客户端的操作界面,该操作界面中呈现有子游戏客户端的按键;
当游戏类客户端的操作界面中,针对呈现的子游戏客户端的按键进行第一触发操作后,通过客户端服务器向云服务器发送界面渲染指令,并根据云服务器返回的至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和由云服务器渲染的第一已渲染元素子游戏的操作界面;
当在子游戏客户端对应的操作界面中,针对操作界面中的游戏角色触发移动操作后,直接向云服务器发送界面渲染指令,并根据云服务器返回的至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,更新当前呈现的包含至少一个目标元素和由云服务器渲染的第一已渲染元素的子游戏的操作界面。
实施例二:
请参考图12,图12示例性提供本申请实施例中第一种界面渲染的方法流程图,客户端于云服务器中,该方法中包括:
步骤S1200,云服务器基于终端设备发送的界面渲染指令,获取终端设备对应的渲染功能参数;其中,渲染功能参数包括:终端设备基于配置的至少一个元素渲染指令,分别渲染相应的配置元素时,各自消耗的资源信息;
在一种可选的实施方式中,云服务器接收终端设备发送的界面渲染指令后,对界面渲染指令进行解析,确定界面渲染指令中包含的信息,其中,界面渲染指令中包含终端设备信息,以及渲染功能参数中的之一或组合;
在确定界面渲染指令中包括渲染功能参数后,则直接从界面渲染指令中,获取终端设备对应的渲染功能参数;
在确定界面渲染指令中包括终端设备信息,则根据存储的终端设备信息与渲染功能参数的第一对应关系,获取终端设备对应的渲染功能参数。
步骤S1201,云服务器基于获得的至少一个资源信息,确定界面渲染指令对应的目标界面中,由终端设备渲染的至少一个目标元素,并将至少一个目标元素各自对应的元素渲染指令,作为目标渲染指令;
在一种可选的实施方式中,云服务器确定至少一个配置元素,各自对应的资源信息,并将与所述目标界面中各个界面元素,匹配的至少一个目标配置元素对应的资源信息,作为候选资源信息;
并在获得的至少一个候选资源信息中,筛选出资源信息小于资源阈值的至少一个目标资源信息,并将所述至少一个目标资源信息对应的界面元素,作为所述目标元素。
步骤S1202,云服务器将获得的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,传输给终端设备,使终端设备根据至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面。
在一种可选的实施方式中,云服务器将携带元素数据信息的至少一个目标渲染指令,界面中除至少一个目标元素以外的第一已渲染元素,第一已渲染元素对应的第一界面标识,传输给终端设备;
其中,元素数据信息,包括:目标渲染指令对应的目标元素的标识信息、位置信息,以及第二界面标识。
实施例三:
请参考图13,图13示例性提供本申请实施例中第二种界面渲染的方法流程图,客户端于终端设备中,该方法包括:
步骤S1300,终端设备响应于针对目标客户端的触发操作,向云服务器发送界面渲染指令;
在一种可选的实施方式中,终端设备响应于针对所述目标客户端中呈现的子应用的第一触发操作,通过客户端服务器,向所述云服务器发送界面渲染指令;
在另一种可选的实施方式中,终端设备响应于针对所述目标客户端中呈现的操作界面的第二触发操作,向所述云服务器发送界面渲染指令;
其中,所述界面渲染指令中包括:所述终端设备信息、客户端标识信息,以及账号信息中的至少一种。
步骤S1301,终端设备接收云服务器发送的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,其中,至少一个目标渲染指令以及第一已渲染元素是:云服务器在接收到界面渲染指令后,根据获取的渲染功能参数确定的;
在一种可选的实施方式中,终端设备接收携带元素数据信息的至少一个目标渲染指令,界面中除至少一个目标元素以外的第一已渲染元素,以及第一已渲染元素对应的第一界面标识;
其中,元素数据信息,包括:目标渲染指令对应的目标元素的标识信息、位置信息以及第二界面标识。
步骤S1302,终端设备根据至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面;
在一种可选的实施方式中,终端设备针对至少一个目标渲染指令中的一个目标渲染指令,分别执行如下操作:
在元素标识与第二已渲染元素之间的第二对应关系中,查找一个目标元素的标识信息对应的第二已渲染元素;
若查找到,则将查找到的第二已渲染元素,作为渲染成功的一个目标元素;
若未查找到,则调用开OpenGL库函数渲染相应的一个目标元素,并将渲染成功的一个目标元素,以及相应的标识信息,存储至第二对应关系中。
在一种可选的实施方式中,在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面,包括:
终端设备在渲染成功的至少一个目标元素中,查找与第二界面标识一致的第一界面标识对应的第一目标元素;
终端设备基于查找到的第一目标元素对应的位置信息,将第一目标元素,填充到包含第一已渲染元素的目标界面中,并在目标客户端中,呈现包含第一目标元素和第一已渲染元素的目标界面。
在本申请实施例中,终端设备响应于针对目标客户端的触发操作,向云服务器发送界面渲染指令之前,还包括:
终端设备基于客户端服务器配置的至少一个元素渲染指令,分别渲染相应的配置元素,并记录渲染功能参数;其中,至少一个元素渲染指令是终端设备启动目标客户端时,从客户端服务器中获得的;渲染功能参数包括:渲染相应的配置元素时,至少一个配置元素各自消耗的资源信息;
终端设备将渲染功能参数,传输给客户端服务器,使客户端服务器在接收到终端设备针对目标客户端的触发操作时,将渲染功能参数携带在相应的界面渲染指令中,并传输给云服务器。
实施例四:
请参考图14,图14示例性提供本申请实施例中第三种界面渲染的方法流程图,客户端于客户端服务器中,该方法包括:
步骤S1400,客户端服务器基于终端设备发送的目标客户端启动指令,获取终端设备对应的至少一个元素渲染指令;
步骤S1401,客户端服务器将至少一个元素渲染指令,发送给终端设备,使终端设备基于至少一个元素渲染指令,分别渲染相应的配置元素,并记录渲染功能参数;渲染功能参数包括:渲染相应的配置元素时,至少一个配置元素各自消耗的资源信息;
步骤S1402,客户端服务器接收终端设备传输的渲染功能参数。
在本申请实施例中,客户端服务器接收终端设备传输的渲染功能参数之后,还包括:
客户端服务器在接收到终端设备发送的界面渲染指令后,将渲染功能参数携带在界面渲染指令中传输给云服务器;
其中,界面渲染指令是终端设备响应于针对目标客户端的触发操作后发送的。
在本申请中,界面渲染工作,不仅放在云服务器去处理,在确定客户端服务器支持元素渲染功能的时候,将由终端设备渲染的目标元素分配给终端设备,由终端设备进行目标元素的渲染工作,以使终端设备和云服务器配合执行界面渲染,同时可基于界面渲染指令,以及终端设备对应的渲染功能参数,时时调整动态调配由终端设备渲染的目标元素,提升终端设备的利用率,降低云服务器的压力,提升云服务器的资源调配和性能优化,避免云服务器资源不足的情况。且可实现在云服务器无法执行渲染工作的时候,云服务器将所有的渲染工作分配给终端设备,由终端设备执行全部的渲染工作,保证界面的顺利呈现。进一步,避免出现因云服务器资源不足,导致无法针对客户端执行界面渲染的情况,保证在终端设备中及时呈现当前运行的客户端的相关界面,减少界面卡顿的现象,提升界面的显示效率。同时,在及时呈现客户端的相关界面的情况下,可实时针对当前呈现的客户端的相关界面进行触发操作,提升使用体验。达到最优的使用体验和界面渲染能力。
与本申请上述方法实施例基于同一发明构思,本申请中还提供了界面渲染的装置,下面,详见实施例五至实施例七中描述的界面渲染的装置实施例。
实施例五:
本申请实施例中还提供了一种界面渲染的装置,装置解决问题的原理与上述云服务器侧的实施方法相似,因此装置的实施可以参见上述云服务器侧进行界面渲染的方法的实施,重复之处不再赘述。
请参考图15,图15示例性提供本申请实施例提供一种界面渲染的装置1500,该界面渲染的装置1500包括:
第一获取单元1501,用于基于终端设备发送的界面渲染指令,获取终端设备对应的渲染功能参数;其中,渲染功能参数包括:终端设备基于配置的至少一个元素渲染指令,分别渲染相应的配置元素时,各自消耗的资源信息;
确定单元1502,用于基于获得的至少一个资源信息,确定界面渲染指令对应的目标界面中,由终端设备渲染的至少一个目标元素,并将至少一个目标元素各自对应的元素渲染指令,作为目标渲染指令;
传输单元1503,用于将获得的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,传输给终端设备,使终端设备根据至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面。
在一种可选的实施方式中,界面渲染指令中包含终端设备信息,以及渲染功能参数中的之一或组合;
第一获取单元1501具体用于:
若界面渲染指令中包括渲染功能参数,则直接从界面渲染指令中,获取终端设备对应的渲染功能参数;
若界面渲染指令中包括终端设备信息,则根据存储的终端设备信息与渲染功能参数的第一对应关系,获取终端设备对应的渲染功能参数。
在一种可选的实施方式中,确定单元1502具体用于:
确定至少一个配置元素,各自对应的资源信息,并将与目标界面中各个界面元素,匹配的至少一个目标配置元素对应的资源信息,作为候选资源信息;
在获得的至少一个候选资源信息中,筛选出资源信息小于资源阈值的至少一个目标资源信息,并将至少一个目标资源信息对应的界面元素,作为目标元素。
在一种可选的实施方式中,传输单元1503具体用于:
将携带元素数据信息的至少一个目标渲染指令,界面中除至少一个目标元素以外的第一已渲染元素,第一已渲染元素对应的第一界面标识,传输给终端设备;
其中,元素数据信息,包括:目标渲染指令对应的目标元素的标识信息、位置信息,以及第二界面标识。
实施例六:
本申请实施例中还提供了一种界面渲染的装置,装置解决问题的原理与上述终端设备侧的实施方法相似,因此装置的实施可以参见上述终端设备侧进行界面渲染的方法的实施,重复之处不再赘述。
请参考图16,图16示例性提供本申请实施例提供一种界面渲染的装置1600,该界面渲染的装置1600包括:
第一发送单元1601,用于响应于针对目标客户端的触发操作,向云服务器发送界面渲染指令;
第一接收单元1602,用于接收云服务器发送的至少一个目标渲染指令,以及目标界面中除至少一个目标元素以外的第一已渲染元素,其中,至少一个目标渲染指令以及第一已渲染元素是:云服务器在接收到界面渲染指令后,根据获取的渲染功能参数确定的;
呈现单元1603,用于根据至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含至少一个目标元素和第一已渲染元素的目标界面。
在一种可选的方式中,第一发送单元1601具体用于:
响应于针对目标客户端中呈现的子应用的第一触发操作,通过客户端服务器,向云服务器发送界面渲染指令;或
响应于针对目标客户端中呈现的操作界面的第二触发操作,向云服务器发送界面渲染指令;
其中,界面渲染指令中包括:终端设备信息、客户端标识信息,以及账号信息中的至少一种。
在一种可选的实施方式中,第一接收单元1602具体用于:
接收携带元素数据信息的至少一个目标渲染指令,界面中除至少一个目标元素以外的第一已渲染元素,以及第一已渲染元素对应的第一界面标识;
其中,元素数据信息,包括:目标渲染指令对应的目标元素的标识信息、位置信息以及第二界面标识。
在一种可选的实施方式中,呈现单元1603具体用于:
针对至少一个目标渲染指令中的一个目标渲染指令,分别执行如下操作:
在元素标识与第二已渲染元素之间的第二对应关系中,查找一个目标元素的标识信息对应的第二已渲染元素;
若查找到,则将查找到的第二已渲染元素,作为渲染成功的一个目标元素;
若未查找到,则调用OpenGL库函数渲染相应的一个目标元素,并将渲染成功的一个目标元素,以及相应的标识信息,存储至第二对应关系中。
在一种可选的实施方式中,呈现单元1603具体用于:
在渲染成功的至少一个目标元素中,查找与第二界面标识一致的第一界面标识对应的第一目标元素;
基于查找到的第一目标元素对应的位置信息,将第一目标元素,填充到包含第一已渲染元素的目标界面中,并在目标客户端中,呈现包含第一目标元素和第一已渲染元素的目标界面。
在一种可选的实施方式中,第一发送单元1601响应于针对目标客户端的触发操作,向云服务器发送界面渲染指令之前,还用于:
基于客户端服务器配置的至少一个元素渲染指令,分别渲染相应的配置元素,并记录渲染功能参数;其中,至少一个元素渲染指令是启动目标客户端时,从客户端服务器中获得的;渲染功能参数包括:渲染相应的配置元素时,至少一个配置元素各自消耗的资源信息;
将渲染功能参数,传输给客户端服务器,使客户端服务器在接收到针对目标客户端的触发操作时,将渲染功能参数携带在相应的界面渲染指令中,并传输给云服务器。
实施例七:
本申请实施例中还提供了一种界面渲染的装置,装置解决问题的原理与上述客户端服务器侧的实施方法相似,因此装置的实施可以参见上述客户端服务器侧进行界面渲染的方法的实施,重复之处不再赘述。
请参考图17,图17示例性提供本申请实施例提供一种界面渲染的装置1700,该界面渲染的装置1700包括:
第二获取单元1701,用于基于终端设备发送的目标客户端启动指令,获取终端设备对应的至少一个元素渲染指令;
第二发送单元1702,用于将至少一个元素渲染指令,发送给终端设备,使终端设备基于至少一个元素渲染指令,分别渲染相应的配置元素,并记录渲染功能参数;渲染功能参数包括:渲染相应的配置元素时,至少一个配置元素各自消耗的资源信息;
第二接收单元1703,用于接收终端设备传输的渲染功能参数。
在一种可选的实施方式中,第二接收单元1703接收终端设备传输的渲染功能参数之后,还用于:
在接收到终端设备发送的界面渲染指令后,将渲染功能参数携带在界面渲染指令中传输给云服务器;
其中,界面渲染指令是终端设备响应于针对目标客户端的触发操作后发送的。
本申请中,界面渲染工作由云服务器和终端设备配置执行,提升终端设备的资源利用率,减轻云服务器的压力,提升云服务器的资源调配和性能优化,避免云服务器资源不足的情况。进一步,避免出现因云服务器资源不足,导致无法针对客户端执行界面渲染的情况,保证在终端设备中及时呈现当前运行的客户端的相关界面,减少界面卡顿的现象,提升界面的显示效率。同时,在及时呈现客户端的相关界面的情况下,可实时针对当前呈现的客户端的相关界面进行触发操作,提升使用体验。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本申请示例性实施方式的界面渲染的方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的界面渲染的装置。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可选的实施方式中,根据本申请的界面渲染的装置可以至少包括处理单元和存储单元。其中,存储单元存储有程序代码,当程序代码被处理单元执行时,使得处理单元执行本说明书中描述的根据本申请各种示例性实施方式的界面渲染的方法中的步骤。
在介绍了本申请示例性实施方式的界面渲染的方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的电子设备。与本申请上述方法实施例基于同一发明构思,本申请中还提供了界面渲染的电子设备,下面,详见实施例八和实施例九中描述的界面渲染的电子设备实施例。
实施例八:
本申请实施例中还提供了一种电子设备,在一种实施例中,该电子设备可以是服务器,如图1所示的客户端服务器120以及云服务器130。在该实施例中,电子设备的结构可以参考图18,图18示例性提供本申请实施例中一种电子设备结构图,包括存储器1801,通讯模块1803以及一个或多个处理器1802。
存储器1801,用于存储处理器1802执行的计算机程序。存储器1801可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器1801可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1801也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器1601是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器1801可以是上述存储器的组合。
处理器1802,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器1802,用于调用存储器1801中存储的计算机程序时实现上述界面渲染的方法。
通讯模块1803用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器1801、通讯模块1803和处理器1802之间的具体连接介质。本申请实施例在图18中以存储器1801和处理器1802之间通过总线1804连接,总线1804在图18中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1804可以分为地址总线、数据总线、控制总线等。为便于描述,图18中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
存储器1801中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的界面渲染的方法。处理器1802用于执行上述的界面渲染的方法。
实施例九:
电子设备也可以是其他电子设备,如图1所示的终端设备110。在该实施例中,电子设备的结构可以参考图19,图19示例性提供本申请实施例中另一种电子设备的结构图,包括:通信组件1910、存储器1920、显示单元1930、摄像头1940、传感器1950、音频电路1960、蓝牙模块1970、处理器1980等部件。
通信组件1910用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助用户收发信息。
存储器1920可用于存储软件程序及数据。处理器1980通过运行存储在存储器1920的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器1920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1920存储有使得终端设备110能运行的操作系统。本申请中存储器1920可以存储操作系统及各种客户端,还可以存储执行本申请实施例界面渲染的方法的代码。
显示单元1930还可用于由用户输入的信息或提供给用户的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元1930可以包括设置在终端设备110正面的显示屏1932。其中,显示屏1932可以采用液晶器、发光二极管等形式来配置。显示单元1930可以用于显示本申请实施例中的界面等。
显示单元1930还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元1930可以包括设置在终端设备110正面的触摸屏1931,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触摸屏1931可以覆盖在显示屏1932之上,也可以将触摸屏1931与显示屏1932集成而实现终端设备110的输入和输出功能,集成后可以简称触摸屏。本申请中显示单元1930可以客户端以及对应的操作步骤。
摄像头1940可用于捕获静态图像,用户可以将摄像头1940拍摄的图像通过客户端发布评论。摄像头1940可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1980转换成数字图像信号。
终端设备还可以包括至少一种传感器1950,比如加速度传感器1951、距离传感器1952、指纹传感器1953、温度传感器1954。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路1960、扬声器1961、传声器1962可提供用户与终端设备110之间的音频接口。音频电路1960可将接收到的音频数据转换后的电信号,传输到扬声器1961,由扬声器1961转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1962将收集的声音信号转换为电信号,由音频电路1960接收后转换为音频数据,再将音频数据输出至通信组件1910以发送给比如另一终端设备110,或者将音频数据输出至存储器1920以便进一步处理。
蓝牙模块1970用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1970与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器1980是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1920内的软件程序,以及调用存储在存储器1920内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1980可包括一个或多个处理单元;处理器1980还可以集成客户端处理器和基带处理器,其中,客户端处理器主要处理操作系统、用户界面和客户端等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1980中。本申请中处理器1980可以运行操作系统、客户端、显示界面及触控响应,以及本申请实施例的界面渲染的方法。另外,处理器1980与显示单元1930耦接。
实施例十:
在一些可选的实施方式中,本申请提供的界面渲染的方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在电子设备上运行时,计算机程序用于使电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的界面渲染的方法中的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用计算机程序的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种界面渲染的方法,其特征在于,所述方法包括:
云服务器基于终端设备发送的界面渲染指令,获取所述终端设备对应的渲染功能参数;其中,所述渲染功能参数包括:所述终端设备基于配置的至少一个元素渲染指令,分别渲染相应的配置元素时,各自消耗的资源信息;所述渲染功能参数是所述终端设备基于客户端服务器配置的至少一个元素渲染指令,分别渲染相应的配置元素时获得的;其中,所述至少一个元素渲染指令是所述终端设备启动目标客户端时,从所述客户端服务器中获得的;
所述云服务器基于获得的至少一个资源信息,确定所述界面渲染指令对应的目标界面中,由所述终端设备渲染的至少一个目标元素,并将所述至少一个目标元素各自对应的元素渲染指令,作为目标渲染指令;
所述云服务器将获得的至少一个目标渲染指令,以及所述目标界面中除所述至少一个目标元素以外的第一已渲染元素,传输给所述终端设备,使所述终端设备根据所述至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含所述至少一个目标元素和所述第一已渲染元素的目标界面。
2.如权利要求1所述的方法,其特征在于,所述界面渲染指令中包含终端设备信息,以及渲染功能参数中的之一或组合;
所述云服务器基于终端设备发送的界面渲染指令,获取所述终端设备对应的渲染功能参数,包括:
若所述界面渲染指令中包括所述渲染功能参数,则直接从所述界面渲染指令中,获取所述终端设备对应的渲染功能参数;
若所述界面渲染指令中包括所述终端设备信息,则根据存储的终端设备信息与渲染功能参数的第一对应关系,获取所述终端设备对应的渲染功能参数。
3.如权利要求1所述的方法,其特征在于,所述云服务器基于获得的至少一个资源信息,确定所述界面渲染指令对应的目标界面中,由所述终端设备渲染的至少一个目标元素,包括:
所述云服务器确定至少一个配置元素,各自对应的资源信息,并将与所述目标界面中各个界面元素,匹配的至少一个目标配置元素对应的资源信息,作为候选资源信息;
所述云服务器在获得的至少一个候选资源信息中,筛选出资源信息小于资源阈值的至少一个目标资源信息,并将所述至少一个目标资源信息对应的界面元素,作为所述目标元素。
4.如权利要求1所述的方法,其特征在于,所述云服务器将获得的至少一个目标渲染指令,以及所述目标界面中除所述至少一个目标元素以外的第一已渲染元素,传输给所述终端设备,包括:
所述云服务器将携带元素数据信息的至少一个目标渲染指令,所述界面中除所述至少一个目标元素以外的第一已渲染元素,所述第一已渲染元素对应的第一界面标识,传输给所述终端设备;
其中,所述元素数据信息,包括:所述目标渲染指令对应的目标元素的标识信息、位置信息,以及第二界面标识。
5.一种界面渲染的方法,其特征在于,所述方法包括:
终端设备响应于针对目标客户端的触发操作,向云服务器发送界面渲染指令;
所述终端设备接收云服务器发送的至少一个目标渲染指令,以及目标界面中除所述至少一个目标元素以外的第一已渲染元素,其中,所述至少一个目标渲染指令以及所述第一已渲染元素是:所述云服务器在接收到所述界面渲染指令后,根据获取的渲染功能参数确定的;
所述终端设备根据所述至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含所述至少一个目标元素和所述第一已渲染元素的目标界面;
其中,所述终端设备响应于针对目标客户端的触发操作,向云服务器发送界面渲染指令之前,还包括:
所述终端设备基于客户端服务器配置的至少一个元素渲染指令,分别渲染相应的配置元素,并记录渲染功能参数;其中,所述至少一个元素渲染指令是所述终端设备启动所述目标客户端时,从所述客户端服务器中获得的;所述渲染功能参数包括:渲染相应的配置元素时,所述至少一个配置元素各自消耗的资源信息。
6.如权利要求5所述的方法,其特征在于,所述终端设备响应于针对目标客户端的触发操作,向云服务器发送界面渲染指令,包括:
终端设备响应于针对所述目标客户端中呈现的子应用的第一触发操作,通过客户端服务器,向所述云服务器发送界面渲染指令;或
终端设备响应于针对所述目标客户端中呈现的操作界面的第二触发操作,向所述云服务器发送界面渲染指令;
其中,所述界面渲染指令中包括:所述终端设备信息、应用标识信息,以及账号信息中的至少一种。
7.如权利要求5所述的方法,其特征在于,所述终端设备接收云服务器发送的至少一个目标渲染指令,以及所述目标界面中除所述至少一个目标元素以外的第一已渲染元素,包括:
所述终端设备接收携带元素数据信息的至少一个目标渲染指令,所述界面中除所述至少一个目标元素以外的第一已渲染元素,以及所述第一已渲染元素对应的第一界面标识;
其中,所述元素数据信息,包括:所述目标渲染指令对应的目标元素的标识信息、位置信息以及第二界面标识。
8.如权利要求7所述的方法,其特征在于,所述终端设备根据所述至少一个目标渲染指令,分别渲染相应的目标元素,包括:
所述终端设备针对所述至少一个目标渲染指令中的一个目标渲染指令,分别执行如下操作:
在元素标识与第二已渲染元素之间的第二对应关系中,查找所述一个目标元素的标识信息对应的第二已渲染元素;
若查找到,则将查找到的第二已渲染元素,作为渲染成功的一个目标元素;
若未查找到,则调用开放图形库OpenGL库函数渲染相应的所述一个目标元素,并将渲染成功的所述一个目标元素,以及相应的标识信息,存储至所述第二对应关系中。
9.如权利要求8所述的方法,其特征在于,所述在渲染成功后,呈现包含所述至少一个目标元素和所述第一已渲染元素的目标界面,包括:
所述终端设备在渲染成功的至少一个目标元素中,查找与所述第二界面标识一致的第一界面标识对应的第一目标元素;
所述终端设备基于查找到的第一目标元素对应的位置信息,将所述第一目标元素,填充到包含所述第一已渲染元素的目标界面中,并在所述目标客户端中,呈现包含所述第一目标元素和所述第一已渲染元素的目标界面。
10.如权利要求5所述的方法,其特征在于,所述终端设备记录渲染功能参数之后,还包括:
所述终端设备将所述渲染功能参数,传输给所述客户端服务器,使所述客户端服务器在接收到所述终端设备针对所述目标客户端的触发操作时,将所述渲染功能参数携带在相应的界面渲染指令中,并传输给云服务器。
11.一种界面渲染的方法,其特征在于,所述方法包括:
客户端服务器基于终端设备发送的目标客户端启动指令,获取所述终端设备对应的至少一个元素渲染指令;
所述客户端服务器将所述至少一个元素渲染指令,发送给所述终端设备,使所述终端设备基于所述至少一个元素渲染指令,分别渲染相应的配置元素,并记录渲染功能参数;所述渲染功能参数包括:渲染相应的配置元素时,所述至少一个配置元素各自消耗的资源信息;
所述客户端服务器接收所述终端设备传输的所述渲染功能参数。
12.如权利要求11所述的方法,其特征在于,所述客户端服务器接收所述终端设备传输的所述渲染功能参数之后,还包括:
所述客户端服务器在接收到所述终端设备发送的界面渲染指令后,将所述渲染功能参数携带在所述界面渲染指令中传输给云服务器;
其中,所述界面渲染指令是所述终端设备响应于针对所述目标客户端的触发操作后发送的。
13.一种界面渲染的装置,其特征在于,所述装置包括:
第一获取单元,用于基于终端设备发送的界面渲染指令,获取所述终端设备对应的渲染功能参数;其中,所述渲染功能参数包括:所述终端设备基于配置的至少一个元素渲染指令,分别渲染相应的配置元素时,各自消耗的资源信息;所述渲染功能参数是所述终端设备基于客户端服务器配置的至少一个元素渲染指令,分别渲染相应的配置元素时获得的;其中,所述至少一个元素渲染指令是所述终端设备启动目标客户端时,从所述客户端服务器中获得的;
确定单元,用于基于获得的至少一个资源信息,确定所述界面渲染指令对应的目标界面中,由所述终端设备渲染的至少一个目标元素,并将所述至少一个目标元素各自对应的元素渲染指令,作为目标渲染指令;
传输单元,用于将获得的至少一个目标渲染指令,以及所述目标界面中除所述至少一个目标元素以外的第一已渲染元素,传输给所述终端设备,使所述终端设备根据所述至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含所述至少一个目标元素和所述第一已渲染元素的目标界面。
14.一种界面渲染的装置,其特征在于,所述装置包括:
第一发送单元,用于响应于针对目标客户端的触发操作,向云服务器发送界面渲染指令;
第一接收单元,用于接收云服务器发送的至少一个目标渲染指令,以及目标界面中除所述至少一个目标元素以外的第一已渲染元素,其中,所述至少一个目标渲染指令以及所述第一已渲染元素是:所述云服务器在接收到所述界面渲染指令后,根据获取的渲染功能参数确定的;
呈现单元,用于根据所述至少一个目标渲染指令,分别渲染相应的目标元素,并在渲染成功后,呈现包含所述至少一个目标元素和所述第一已渲染元素的目标界面;
其中,所述第一发送单元响应于针对目标客户端的触发操作,向云服务器发送界面渲染指令之前,还用于:
终端设备基于客户端服务器配置的至少一个元素渲染指令,分别渲染相应的配置元素,并记录渲染功能参数;其中,所述至少一个元素渲染指令是所述终端设备启动所述目标客户端时,从所述客户端服务器中获得的;所述渲染功能参数包括:渲染相应的配置元素时,所述至少一个配置元素各自消耗的资源信息。
15.一种界面渲染的装置,其特征在于,所述装置包括:
第二获取单元,用于基于终端设备发送的目标客户端启动指令,获取所述终端设备对应的至少一个元素渲染指令;
第二发送单元,用于将所述至少一个元素渲染指令,发送给所述终端设备,使所述终端设备基于所述至少一个元素渲染指令,分别渲染相应的配置元素,并记录渲染功能参数;所述渲染功能参数包括:渲染相应的配置元素时,所述至少一个配置元素各自消耗的资源信息;
第二接收单元,用于接收所述终端设备传输的所述渲染功能参数。
CN202210119275.1A 2022-02-08 2022-02-08 界面渲染的方法及装置 Active CN114513512B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210119275.1A CN114513512B (zh) 2022-02-08 2022-02-08 界面渲染的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210119275.1A CN114513512B (zh) 2022-02-08 2022-02-08 界面渲染的方法及装置

Publications (2)

Publication Number Publication Date
CN114513512A CN114513512A (zh) 2022-05-17
CN114513512B true CN114513512B (zh) 2023-01-24

Family

ID=81551852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210119275.1A Active CN114513512B (zh) 2022-02-08 2022-02-08 界面渲染的方法及装置

Country Status (1)

Country Link
CN (1) CN114513512B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102895A (zh) * 2022-07-14 2022-09-23 京东城市(北京)数字科技有限公司 页面渲染方法、装置、设备和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109215132A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 一种增强现实业务的实现方法及设备
CN111729293A (zh) * 2020-08-28 2020-10-02 腾讯科技(深圳)有限公司 一种数据处理方法、装置及存储介质
CN111798554A (zh) * 2020-07-24 2020-10-20 上海米哈游天命科技有限公司 一种渲染参数确定方法、装置、设备及存储介质
CN112316424A (zh) * 2021-01-06 2021-02-05 腾讯科技(深圳)有限公司 一种游戏数据处理方法、装置及存储介质
CN112614202A (zh) * 2020-12-24 2021-04-06 北京元心科技有限公司 Gui渲染显示的方法、终端、服务器、电子设备及存储介质
CN112672128A (zh) * 2021-03-17 2021-04-16 深圳市火乐科技发展有限公司 渲染对象的展示方法、装置、电子设备和存储介质
CN113244614A (zh) * 2021-06-07 2021-08-13 腾讯科技(深圳)有限公司 图像画面展示方法、装置、设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9508108B1 (en) * 2008-11-07 2016-11-29 Google Inc. Hardware-accelerated graphics for user interface elements in web applications
US20140198097A1 (en) * 2013-01-16 2014-07-17 Microsoft Corporation Continuous and dynamic level of detail for efficient point cloud object rendering
JP5559445B1 (ja) * 2013-12-26 2014-07-23 株式会社スクウェア・エニックス 描画システム、制御方法、プログラム、及び記録媒体
US10268460B2 (en) * 2017-01-25 2019-04-23 Walmart Apollo, Llc Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage
CN113289330B (zh) * 2020-02-21 2023-12-08 华为技术有限公司 渲染方法和装置
CN111354063B (zh) * 2020-03-10 2023-09-08 深信服科技股份有限公司 一种三维元素渲染方法、桌面云服务端及桌面云系统
CN111420404B (zh) * 2020-03-20 2023-04-07 网易(杭州)网络有限公司 游戏中对象渲染的方法及装置、电子设备、存储介质
CN111544886B (zh) * 2020-04-30 2021-07-09 腾讯科技(深圳)有限公司 一种画面显示的方法以及相关装置
CN112527428A (zh) * 2020-11-30 2021-03-19 北京嘀嘀无限科技发展有限公司 一种界面渲染方法、装置、电子设备及存储介质
CN113656717A (zh) * 2021-08-06 2021-11-16 上海硬通网络科技有限公司 一种网页的控件渲染方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109215132A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 一种增强现实业务的实现方法及设备
CN111798554A (zh) * 2020-07-24 2020-10-20 上海米哈游天命科技有限公司 一种渲染参数确定方法、装置、设备及存储介质
CN111729293A (zh) * 2020-08-28 2020-10-02 腾讯科技(深圳)有限公司 一种数据处理方法、装置及存储介质
CN112614202A (zh) * 2020-12-24 2021-04-06 北京元心科技有限公司 Gui渲染显示的方法、终端、服务器、电子设备及存储介质
CN112316424A (zh) * 2021-01-06 2021-02-05 腾讯科技(深圳)有限公司 一种游戏数据处理方法、装置及存储介质
CN112672128A (zh) * 2021-03-17 2021-04-16 深圳市火乐科技发展有限公司 渲染对象的展示方法、装置、电子设备和存储介质
CN113244614A (zh) * 2021-06-07 2021-08-13 腾讯科技(深圳)有限公司 图像画面展示方法、装置、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Gaming@ Edge: 基于边缘节点的低延迟云游戏系统;林立 等;《计算机应用》;20190408;第39卷(第7期);全文 *
基于API重定向技术的远程GPU资源池;汪沄;《中国优秀硕士论文全文数据库信息科技辑》;20220115;全文 *

Also Published As

Publication number Publication date
CN114513512A (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
AU2019233201B2 (en) Resource configuration method and apparatus, terminal, and storage medium
US11869158B2 (en) Cross reality system with localization service and shared location-based content
Verbelen et al. Leveraging cloudlets for immersive collaborative applications
JP2021010156A (ja) 情報を生成する方法および装置
CN111026490B (zh) 页面渲染方法、装置、电子设备及存储介质
TW202304212A (zh) 直播方法、系統、電腦設備及電腦可讀儲存媒體
US20230306694A1 (en) Ranking list information display method and apparatus, and electronic device and storage medium
CN112788583B (zh) 设备寻找方法、装置、存储介质及电子设备
CN114513512B (zh) 界面渲染的方法及装置
CN104765636B (zh) 一种远程桌面图像的合成方法和装置
CN113965773A (zh) 直播展示方法和装置、存储介质及电子设备
CN112561084B (zh) 特征提取方法、装置、计算机设备及存储介质
CN116758201B (zh) 三维场景的渲染处理方法、设备、系统及计算机存储介质
CN111880647B (zh) 一种三维界面的控制方法和终端
CN113617027A (zh) 云游戏的处理方法、装置、设备以及介质
US11961178B2 (en) Reduction of the effects of latency for extended reality experiences by split rendering of imagery types
JP7236551B2 (ja) キャラクタ推薦方法、キャラクタ推薦装置、コンピュータ装置およびプログラム
CN111046265A (zh) 卡片数据显示方法、装置、设备及存储介质
WO2019100234A1 (zh) 实现信息互动的方法和装置
CN116843802A (zh) 虚拟形象的处理方法及相关产品
CN110891194B (zh) 评论信息显示方法、装置、终端及存储介质
CN114489337A (zh) 一种ar互动方法、装置、设备及存储介质
CN114518964A (zh) 数据传输方法、装置、计算机设备及存储介质
US20230328012A1 (en) Virtual-figure-based data processing method and apparatus, computer device, and storage medium
WO2024082901A1 (zh) 云游戏的数据处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品

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