CN113289330B - 渲染方法和装置 - Google Patents

渲染方法和装置 Download PDF

Info

Publication number
CN113289330B
CN113289330B CN202010108932.3A CN202010108932A CN113289330B CN 113289330 B CN113289330 B CN 113289330B CN 202010108932 A CN202010108932 A CN 202010108932A CN 113289330 B CN113289330 B CN 113289330B
Authority
CN
China
Prior art keywords
operation instruction
user
picture
server
rendering
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
CN202010108932.3A
Other languages
English (en)
Other versions
CN113289330A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010108932.3A priority Critical patent/CN113289330B/zh
Priority to PCT/CN2021/074693 priority patent/WO2021164533A1/zh
Priority to US17/904,661 priority patent/US20230094880A1/en
Priority to EP21756688.4A priority patent/EP4088795A4/en
Publication of CN113289330A publication Critical patent/CN113289330A/zh
Application granted granted Critical
Publication of CN113289330B publication Critical patent/CN113289330B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • 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/538Features 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 performing operations on behalf of the game client, e.g. rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供一种渲染方法和装置。本申请渲染方法,包括:接收来自用户的第一操作指令;根据第一操作指令,渲染第一操作指令对应的应用程序的第一画面;根据第一操作指令,预测第二操作指令;根据第二操作指令,渲染第二操作指令对应的应用程序的第二画面;如果在接收到第一操作指令后的在APP运行的过程中,若超过预设时长内,没有接收到来自终端设备用户的操作指令,则根据已经接收到的操作指令对用户的操作进行预测,操作指令为由用户的操作触发生成的指令且会触发APP的画面切换;根据预测到的用户的操作渲染APP的画面;将渲染后的第二得到的APP的画面发送给终端设备用户。本申请节省处理时延,避免画面卡顿的现象。

Description

渲染方法和装置
技术领域
本申请涉及电子技术,尤其涉及一种渲染方法和装置。
背景技术
云游戏是以云计算为基础的游戏方式,所有游戏都在服务器端运行,渲染后的游戏画面经视频压缩后通过网络传送至客户端,用户通过客户端观看游戏画面和操作游戏,所产生的操作指令通过网络传送至服务器端,由服务器端响应该操作指令。
可见,云游戏的处理时延和网络的通信特性相关,一旦网络产生波动,会导致处理时延延长,出现游戏卡顿的现象。
发明内容
本申请实施例提供一种渲染方法和装置,以节省处理时延,避免画面卡顿的现象。
第一方面,本申请提供一种渲染方法,包括:接收来自用户的第一操作指令;根据所述第一操作指令,渲染所述第一操作指令对应的应用程序的第一画面;根据所述第一操作指令,预测第二操作指令;根据所述第二操作指令,渲染所述第二操作指令对应的应用程序的第二画面;如果在接收到所述第一操作指令后的预设时长内,没有接收到来自所述用户的操作指令,则将渲染后的第二画面发送给所述用户。
本申请在服务器和终端设备之间的通信网络上行通信不稳定(终端设备向服务器发送数据)时,通过服务器对用户的操作进行预测,可以提前对用户操作所引起的画面切换进行渲染,节省了处理时延,避免画面卡顿的现象。
在一种可能的实现方式中,所述根据所述第一操作指令,预测第二操作指令,包括:采用人工智能方法根据所述第一操作指令,预测第二操作指令。
本申请通过人工智能的方法预测用户的操作指令可以提高预测结果的准确性。
在一种可能的实现方式中,所述渲染所述第一操作指令对应的应用程序的第一画面,包括:确定所述第一画面,并渲染所述第一画面。
在一种可能的实现方式中,所述渲染所述第二操作指令对应的应用程序的第二画面,包括:确定所述第二画面,并渲染所述第二画面。
在一种可能的实现方式中,所述预设时长为100ms或150ms。
本申请在一个较短时间内没有收到来自客户端的操作指令,就会基于预测结果渲染画面,可以避免画面卡段。
第二方面,本申请提供一种应用程序服务器,包括:接收模块,用于接收来自用户的第一操作指令;渲染模块,用于根据所述第一操作指令,渲染所述第一操作指令对应的应用程序的第一画面;预测模块,用于根据所述第一操作指令,预测第二操作指令;所述渲染模块,还用于根据所述第二操作指令,渲染所述第二操作指令对应的应用程序的第二画面;发送模块,用于如果在接收到所述第一操作指令后的预设时长内,没有接收到来自所述用户的操作指令,则将渲染后的第二画面发送给所述用户。
在一种可能的实现方式中,所述预测模块,具体用于采用人工智能方法根据所述第一操作指令,预测第二操作指令。
在一种可能的实现方式中,所述渲染模块,具体用于确定所述第一画面,并渲染所述第一画面。
在一种可能的实现方式中,所述渲染模块,具体用于确定所述第二画面,并渲染所述第二画面。
在一种可能的实现方式中,所述预设时长为100ms或150ms。
第三方面,本申请提供一种服务器,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面中任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行上述第一至二方面中任一项所述的方法。
第五方面,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行上述第一至二方面中任一项所述的方法。
附图说明
图1示出了通信系统的一个示例性的结构示意图;
图2示出了服务器200的一个示例性的结构示意图;
图3示出了终端设备300的一个示例性的结构示意图;
图4示出了终端设备300的软件层的一个示例性的结构示意图;
图5为本申请渲染方法实施例的流程图;
图6示出了服务器的预测过程的一个示例性的示意图;
图7-11示例性的示出了云游戏画面切换示意图;
图12为本申请应用程序服务器实施例的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书实施例和权利要求书及附图中的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
图1示出了通信系统的一个示例性的结构示意图,如图1所示,该通信系统包括一个服务器和一个终端设备,可选地,该通信系统还可以包括多个服务器并且每个服务器的覆盖范围内可以包括其它数量的终端设备,本申请对此不做限定。可选地,该通信系统还可以包括网络控制器、交换设备等其他网络实体,本申请不限于此。图1中黑色箭头表示服务器与终端设备存在通信连接,即服务器和终端设备之间可以通过通信网络实现数据传输。
需要说明的是,上述通信网络可以是局域网,也可以是通过中继(relay)设备转接的广域网,或者包括局域网和广域网。当该通信网络为局域网时,示例性的,该通信网络可以是wifi热点网络、wifi P2P网络、蓝牙网络、zigbee网络或近场通信(near fieldcommunication,NFC)网络等近距离通信网络。当该通信网络为广域网时,示例性的,该通信网络可以是第三代移动通信技术(3rd-generation wireless telephone technology,3G)网络、第四代移动通信技术(the 4th generation mobile communication technology,4G)网络、第五代移动通信技术(5th-generation mobile communication technology,5G)网络、未来演进的公共陆地移动网络(public land mobile network,PLMN)或因特网等,本申请实施例对此不作限定。
应理解,图1中仅为便于理解,示意性地示出了一个通信系统,但这不应对本申请构成任何限定,该通信系统中还可以包括更多数量的服务器,也可以包括更多数量的终端设备,与不同的终端设备通信的服务器可以是相同的服务器,也可以是不同的服务器,与不同的终端设备通信的服务器的数量可以相同,也可以不同,本申请对此不做限定。
还应理解,该通信系统中的服务器可以是任意一种具有收发功能的设备或可设置于该设备的芯片。图2示出了服务器200的一个示例性的结构示意图,服务器200的结构可以参考图2所示的结构。
服务器包括至少一个处理器201、至少一个存储器202和至少一个网络接口203。处理器201、存储器202和网络接口203相连,例如通过总线相连,在本申请中,所述连接可包括各类接口、传输线或总线等,本实施例对此不做限定。网络接口203用于使得服务器通过通信链路,与其它通信设备相连,例如以太网接口。
处理器201主要用于对通信数据进行处理,以及对整个服务器进行控制,执行软件程序,处理软件程序的数据,例如用于支持服务器执行实施例中所描述的动作。处理器201主要用于对整个服务器进行控制,执行软件程序,处理软件程序的数据。本领域技术人员可以理解,服务器可以包括多个处理器以增强其处理能力,服务器的各个部件可以通过各种总线连接。处理器201也可以表述为处理电路或者处理器芯片。
存储器202主要用于存储软件程序和数据。存储器202可以是独立存在,与处理器201相连。可选的,存储器202可以和处理器201集成在一起,例如集成在一个芯片之内。其中,存储器202能够存储执行本申请的技术方案的程序代码,并由处理器201来控制执行,被执行的各类计算机程序代码也可被视为是处理器201的驱动程序。
图2仅示出了一个存储器和一个处理器。在实际的服务器中,可以存在多个处理器和多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以为与处理器处于同一芯片上的存储元件,即片内存储元件,或者为独立的存储元件,本申请对此不做限定。
还应理解,该通信系统中的终端设备又可称之为用户设备(user equipment,UE),可以部署在陆地上,包括室内或室外、手持或车载;也可以部署在水面上(如轮船等);还可以部署在空中(例如飞机、气球和卫星上等)。终端设备可以是手机(mobile phone)、平板电脑(pad)、具备无线通讯功能的可穿戴设备(如智能手表)、具有定位功能的位置追踪器、带无线收发功能的电脑、虚拟现实(virtual reality,VR)设备、增强现实(augmentedreality,AR)设备、智慧家庭(smart home)中的无线设备等,本申请对此不作限定。本申请中将前述终端设备及可设置于前述终端设备的芯片统称为终端设备。
图3示出了终端设备300的一个示例性的结构示意图。如图3所示,终端设备300包括:应用处理器301、微控制器单元(microcontroller unit,MCU)302、存储器303、调制解调器(modem)304、射频(radio frequency,RF)模块305、无线保真(Wireless-Fidelity,简称Wi-Fi)模块306、蓝牙模块307、传感器308、输入/输出(input/output,I/O)设备309、定位模块310等部件。这些部件可通过一根或多根通信总线或信号线进行通信。前述通信总线或信号线可以是本申请提供的CAN总线。本领域技术人员可以理解,终端设备300可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图3对终端设备300的各个部件进行具体的介绍:
应用处理器301是终端设备300的控制中心,利用各种接口和总线连接终端设备300的各个部件。在一些实施例中,处理器301可包括一个或多个处理单元。
存储器303中存储有计算机程序,诸如图3所示的操作系统311和应用程序312。应用处理器301被配置用于执行存储器303中的计算机程序,从而实现该计算机程序定义的功能,例如应用处理器301执行操作系统311从而在终端设备300上实现操作系统的各种功能。存储器303还存储有除计算机程序之外的其他数据,诸如操作系统311和应用程序312运行过程中产生的数据。存储器303为非易失性存储介质,一般包括内存和外存。内存包括但不限于随机存取存储器(random access memory,RAM),只读存储器(read-only memory,ROM),或高速缓存(cache)等。外存包括但不限于闪存(flash memory)、硬盘、光盘、通用串行总线(universal serial bus,USB)盘等。计算机程序通常被存储在外存上,处理器在执行计算机程序前会将该程序从外存加载到内存。
存储器303可以是独立的,通过总线与应用处理器301相连接;存储器303也可以和应用处理器301集成到一个芯片子系统。
MCU 302是用于获取并处理来自传感器308的数据的协处理器,MCU 302的处理能力和功耗小于应用处理器301,但具有“永久开启(always on)”的特点,可以在应用处理器301处于休眠模式时持续收集以及处理传感器数据,以极低的功耗保障传感器的正常运行。在一个实施例中,MCU 302可以为sensor hub芯片。传感器308可以包括光传感器、运动传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示器3091的亮度,接近传感器可在终端设备300移动到耳边时,关闭显示屏的电源。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向;传感器308还可以包括陀螺仪、气压计、湿度计、温度计、红外线传感器等其它传感器,在此不再赘述。MCU 302和传感器308可以集成到同一块芯片上,也可以是分离的元件,通过总线连接。
modem 304以及射频模块305构成了终端设备300通信子系统,用于实现无线通信标准协议的主要功能。其中,modem 304用于编解码、信号的调制解调、均衡等。射频模块305用于无线信号的接收和发送,射频模块305包括但不限于天线、至少一个放大器、耦合器、双工器等。射频模块305配合modem 304实现无线通信功能。modem 304可以作为单独的芯片,也可以与其他芯片或电路在一起形成系统级芯片或集成电路。这些芯片或集成电路可应用于所有实现无线通信功能的终端设备,包括:手机、电脑、笔记本、平板、路由器、可穿戴设备、汽车、家电设备等。
终端设备300还可以使用Wi-Fi模块306,蓝牙模块307等来进行无线通信。Wi-Fi模块306用于为终端设备300提供遵循Wi-Fi相关标准协议的网络接入,终端设备300可以通过Wi-Fi模块306接入到Wi-Fi接入点,进而访问互联网。在其他一些实施例中,Wi-Fi模块306也可以作为Wi-Fi无线接入点,可以为其他终端设备提供Wi-Fi网络接入。蓝牙模块307用于实现终端设备300与其他终端设备(例如手机、智能手表等)之间的短距离通信。本申请中的Wi-Fi模块306可以是集成电路或Wi-Fi芯片等,蓝牙模块307可以是集成电路或者蓝牙芯片等。
定位模块310用于确定终端设备300的地理位置。可以理解的是,定位模块310具体可以是全球定位系统(global position system,GPS)或北斗卫星导航系统、俄罗斯GLONASS等定位系统的接收器。
Wi-Fi模块306,蓝牙模块307和定位模块310分别可以是单独的芯片或集成电路,也可以集成到一起。例如,在一个实施例中,Wi-Fi模块306,蓝牙模块307和定位模块310可以集成到同一芯片上。在另一个实施例中,Wi-Fi模块306,蓝牙模块307、定位模块310以及MCU 302也可以集成到同一芯片中。
输入/输出设备309包括但不限于:显示器3091、触摸屏3092,以及音频电路3093等等。
其中,触摸屏3092可采集终端设备300的用户在其上或附近的触摸事件(比如用户使用手指、触控笔等任何适合的物体在触摸屏3092上或在触摸屏触摸屏3092附近的操作),并将采集到的触摸事件发送给其他器件(例如应用处理器301)。其中,用户在触摸屏3092附近的操作可以称之为悬浮触控;通过悬浮触控,用户可以在不直接接触触摸屏3092的情况下选择、移动或拖动目的(例如图标等)。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型来实现触摸屏3092。
显示器(也称为显示屏)3091用于显示用户输入的信息或展示给用户的信息。可以采用液晶显示屏、有机发光二极管等形式来配置显示器。触摸屏3092可以覆盖在显示器3091之上,当触摸屏3092检测到触摸事件后,传送给应用处理器301以确定触摸事件的类型,随后应用处理器301可以根据触摸事件的类型在显示器3091上提供相应的视觉输出。虽然在图3中,触摸屏3092与显示器3091是作为两个独立的部件来实现终端设备300的输入和输出功能,但是在某些实施例中,可以将触摸屏3092与显示器3091集成而实现终端设备300的输入和输出功能。另外,触摸屏3092和显示器3091可以以全面板的形式配置在终端设备300的正面,以实现无边框的结构。
音频电路3093、扬声器3094、麦克风3095可提供用户与终端设备300之间的音频接口。音频电路3093可将接收到的音频数据转换后的电信号,传输到扬声器3094,由扬声器3094转换为声音信号输出;另一方面,麦克风3095将收集的声音信号转换为电信号,由音频电路3093接收后转换为音频数据,再通过modem 304和射频模块305将音频数据发送给比如另一终端设备,或者将音频数据输出至存储器303以便进一步处理。
另外,终端设备300还可以具有指纹识别功能。例如,可以在终端设备300的背面(例如后置摄像头的下方)配置指纹采集器件,或者在终端设备300的正面(例如触摸屏3092的下方)配置指纹采集器件。又例如,可以在触摸屏3092中配置指纹采集器件来实现指纹识别功能,即指纹采集器件可以与触摸屏3092集成在一起来实现终端设备300的指纹识别功能。在这种情况下,该指纹采集器件配置在触摸屏3092中,可以是触摸屏3092的一部分,也可以以其他方式配置在触摸屏3092中。本申请中的指纹采集器件的主要部件是指纹传感器,该指纹传感器可以采用任何类型的感测技术,包括但不限于光学式、电容式、压电式或超声波传感技术等。
终端设备300从逻辑上可划分为硬件层、操作系统311,以及应用程序层。硬件层包括如上所述的应用处理器301、MCU 302、存储器303、modem 304、Wi-Fi模块306、传感器308、定位模块310等硬件资源。终端设备300搭载的操作系统311可以为 或者其它操作系统,本申请对此不作任何限制。
操作系统311和应用程序层可以统称为终端设备300的软件层,图4示出了终端设备300的软件层的一个示例性的结构示意图。如图4所示,以操作系统为例,操作系统作为硬件层和应用程序层之间的软件中间件,是管理和控制硬件与软件资源的计算机程序。
应用程序层包括一个或多个应用程序,应用程序可以为社交类应用、电子商务类应用、浏览器等任意类型的应用程序。例如,桌面启动器、设置、日历、相机、照片、通话和短信等等。
操作系统包括内核层、安卓运行时和系统库以及应用程序框架层。其中,内核层用于提供底层系统组件和服务,例如:电源管理、内存管理、线程管理、硬件驱动程序等;硬件驱动程序包括显示驱动、摄像头驱动、音频驱动和触控驱动等。内核层对内核驱动程序的封装,向应用程序框架层提供接口,屏蔽低层的实现细节。
安卓运行时和系统库为可执行程序在运行时提供所需要的库文件和执行环境。能够把应用程序的字节码转换为机器码的虚拟机或虚拟机实例。系统库是为可执行程序在运行时提供支持的程序库,包括二维图像引擎、三维图形引擎、媒体库、表面管理器、状态监测服务等。
应用程序框架层用于为应用程序层中的应用程序提供各种基础的公共组件和服务,包括窗口管理器、活动管理器、包管理器、资源管理器、显示策略服务等等。
以上描述的操作系统311的各个组件的功能均可以由应用处理器301执行存储器303中存储的程序来实现。
所属领域的技术人员可以理解终端设备300可包括比图3所示的更少或更多的部件,图3所示的该终端设备仅包括与本申请所公开的多个实现方式更加相关的部件。
本申请提供的渲染方法适用于图1所示的通信系统。其中,服务器可以是基于云计算的应用程序(application,APP)的提供商的服务器。需要说明的是,上述APP可以采用服务器-客户端(client-server,C/S)结构,安装于用户的终端设备上的客户端负责与用户交互,将用户在APP的操作界面上执行操作所产生的操作指令发送给服务器;服务器负责APP数据的管理、响应来自客户端的操作指令以及渲染显示于客户端的画面。
例如,本申请中的APP可以是云游戏,云游戏是一种以云计算(cloud computing)为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器上运行,由服务器将渲染后的游戏画面进行视频压缩后通过网络传送给客户端。在客户端,终端设备不需要有高端处理器和显卡,只需要基本的视频解压能力即可。云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需被提供给终端设备。而提供资源的网络被称为“云”。云游戏摆脱了对硬件的依赖,对服务器来说,仅仅需要提高服务器性能而不需要研发新主机,对客户端来说,可以得到更高的画质而不用配备高性能的终端设备。通常云游戏的流程为,首先用户操作终端设备连接到传送服务器并选择游戏,然后传送服务器把选择的游戏的信息发送给游戏服务器,此时用户的终端设备可以得到游戏服务器的统一资源定位符(uniform resource locator,URL),通过该URL连接到游戏服务器开始玩游戏。
又例如,本申请中的APP可以是地图,该地图在服务器上运行和规划路线,渲染后的地图画面经视频压缩后通过网络传送至客户端,用户通过安装了客户端的终端设备观看地图画面和行走路线,并在地图画面上操作以方便观看。
又例如,本申请中的APP可以是文档编辑,该文档在服务器上编辑和管理,渲染后的文档画面经视频压缩后通过网络传送至客户端,用户通过安装了客户端的终端设备查看文档页面,并在文档页面上操作以移动相关页面元素。
又例如,本申请中的APP还可以包括云物联、云身份、云存储、云安全等。对此不做具体限定。
图5为本申请渲染方法实施例的流程图,如图5所示,本实施例的方法可以应用于上述图1所示的通信系统。该渲染方法可以包括:
步骤501、客户端接收来自用户的第一操作指令。
上述第一操作指令是用户的操作产生的指令。如上所述,基于云计算的APP通常采用C/S结构,使用该类APP用户需要在终端设备上先安装APP的客户端,然后点击APP的图标打开客户端。该客户端通过终端设备的通信功能连接到服务器并开始运行。客户端可以将APP中的大量资源储存起来,用户通过客户端输入操作指令,客户端将其翻译成数据发送给服务器,服务器根据操作指令处理完后得到处理结果发送给客户端,由客户端将其图形化后显示于终端设备的屏幕上。可以说,客户端是一个用户和服务器之间中介。由此可见,在APP运行的过程中,无论用户在客户端上进行了什么操作,根据上述云计算类的APP的原理,客户端均会根据用户操作进行翻译(即产生服务器可以识别的操作指令)。通常用户的操作可以包括在智能设备的触摸屏上的点击、拖动、滑动、长按等操作,也可以包括在计算机的鼠标上的点击、拖动等操作,键盘上的输入操作等,还可以包括其他输入设备上的相关操作等,本申请对此不做具体限定。
步骤502、客户端将第一操作指令发送给服务器。
客户端基于用户的操作得到相应的第一操作指令后,通过终端设备和服务器之间的通信网络将第一操作指令发送给服务器。
本申请中用户可以通过安装于不同终端设备上的客户端向服务器发送第一操作指令,例如用户走在路上通过安装于手机上的客户端发送第一操作指令,回到家后马上切换到电脑继续玩游戏,这样后续第一操作指令是由安装于电脑上的客户端发送给服务器的。虽然第一操作指令来自不同的终端设备,但都对应同一个用户。相应的,服务器发送的渲染画面的目的端也可以对应不同的终端设备,例如用户用安装于手机上的客户端发送第一操作指令,那么服务器的渲染画面就是发送至用户的手机,用户用安装于电脑上的客户端发送第一操作指令,那么服务器的渲染画面就是发送至用户的电脑,但这都对应同一个用户,并不影响游戏的流畅。
步骤503、服务器根据第一操作指令渲染所述第一操作指令对应的应用程序的第一画面;
步骤504、服务器根据第一操作指令预测第二操作指令。
步骤505、服务器根据第二操作指令,渲染第二操作指令对应的应用程序的第二画面。
本申请中,如果用户的操作会触发应用程序的画面切换,例如从画面a切换到画面b,画面a和画面b均是在服务器渲染完成后,经视频压缩发送给客户端,由客户端视频解压后显示于终端设备的屏幕上的。即任何显示于运行客户端的终端设备的屏幕上的画面均是由服务器渲染得到的。因此服务器需要知道用户的操作导致了什么样的画面变化。
通常服务器在接收到来自客户端的操作指令后,根据该操作指令做出相应的处理,并在操作指令导致画面切换的情况下,根据操作指令触发画面切换,渲染切换后的画面。例如,操作指令表征目标人物从第一位置走到第二位置,该移动过程目标人物所在场景发生变化,因此导致画面从第一位置对应的画面切换至第二位置对应的画面,服务器需要在获取到该操作指令后渲染第二位置对应的画面。又例如,操作指令表征从第一文档切换至第二文档,或者从文档的第一页面切换至第二页面,该文档切换使显示于屏幕上的页面发生变化,因此导致画面切换,服务器需要在获取到该操作指令后渲染第二文档或第二页面对应的画面。
服务器还可以基于当前接收到的操作指令,对用户未来可能的操作进行预测,根据预测到的用户操作,确定该预测操作是否会导致画面切换,进而对切换后的画面提前渲染。例如,服务器接收到的操作指令表征目标人物从第一位置走到第二位置,可以预测目标人物会从第二位置走到第三位置,根据该预测结果,在实际接收到来自客户端的操作指令之前服务器就可以提前对第三位置对应的画面进行渲染。此后如果接收到的操作指令表征目标人物从第二位置走到第三位置,说明此前服务器作出的预测是准确的,服务器可以直接把已经渲染好的第三位置对应的画面发送给客户端,节省了渲染的时间。如果接收到的操作指令表征目标人物从第二位置走到第四位置,说明此前服务器作出的预测与实际有误差,服务器可以根据接收到的操作指令对第四位置对应的画面进行渲染。而此前对第三位置对应的画面的渲染丢弃即可。
服务器可以先根据来自用户的操作指令对对应的应用程序的画面进行渲染,然后再根据该操作指令对用户操作进行预测,并根据预测结果进行画面渲染。服务器在算了充足或者不影响用户侧流畅度的情况下,并行处理以上这些动作,例如先进行预测,然后同时对接收的操作指令和预测的操作指令进行对应的渲染;或者先根据接收的操作指令进行渲染,同时进行预测,然后对预测结果进行渲染,或者以其他可能的顺序进行处理。
如果服务器和终端设备之间的通信网络不稳定,可能导致客户端发出的操作指令不能及时被服务器接收,甚至操作指令丢失,服务器接收不到,这会使得服务器不能根据来自客户端的操作指令进行画面渲染,进而导致终端设备的屏幕上显示的画面卡顿、不连贯等。基于上述服务器的预测操作,服务器提前对可能切换的画面进行渲染,一旦发现在预设时长(例如100ms或150ms)内没有接收到来自客户端的操作指令,服务器就可以将渲染好的画面发送给客户端,即使出现上述通信网络不稳定的情况,客户端依然可以连续接收到压缩的视频数据,从而将其解压后显示于屏幕上,保持了画面的连贯性。
可选的,为了减轻服务器的工作负载,服务器不必一直进行预测操作,但会启动定时机制,如果在某一时长(例如100ms或150ms)内服务器没有接收到来自客户端的指令、请求、反馈信息、握手数据等,即认为和终端设备之间的链路不稳定,服务器可以针对该客户端启动预测操作,基于预测结果对可能的切换画面进行渲染。
可选的,如果服务器在某一时长(例如1s)后一直没有接收到客户端发送的指令、请求、反馈信息、握手数据等,就认为该客户端掉线,此时服务器就不需要再对该客户端提供APP预测操作等运行服务了。
需要说明的是,上述服务器的预测操作可以采用人工智能、神经网络、模型训练等方法实现,对此不做具体限定。图6示出了服务器的预测过程的一个示例性的示意图,如图6所示,用户在客户端的实际操作包括用户触控操作1-4,理论上该4个操作产生4条操作指令,依据操作的先后顺序逐一由客户端发送给服务器。那么在服务器上,在收到用户触控操作1产生的操作指令1后,可以根据该操作指令1对用户未来可能的操作进行预测,得到用户触控操作预测1,进而再基于操作指令1和用户触控操作预测1预测得到用户触控操作预测2,再进一步得到用户触控操作预测3。可以看到用户触控操作预测1与实际的用户触控操作2还是很相近的,甚至相同,但越往后,如果服务器不能及时获取到后续的操作指令2-4,可能预测的结果,即用户触控操作预测2和3和实际的用户触控操作3和4就有了偏差。但即使有这样的预测偏差,也并不会影像用户的使用体验,一方面,这样的预测确保了画面的连贯性,服务器不会因为一直等不到客户端的操作指令,而中止画面渲染;另一方面,如果通信网络很快就能恢复稳定,服务器就可以在短时间内继续接受来自客户端的操作指令,并根据实际的操作指令调整预测结果和渲染的画面,这种短时间的偏差用户并不会感知到;第三方面,如果通信网络一直不能恢复,基于上述机制,服务器如果长时间内没有收到来自客户端的操作指令,将不再为该客户端提供数据处理和画面渲染等服务,那么处于客户端的用户也可以感知到通信网络的问题,及时作出相应的处理。
步骤506、如果在接收到第一操作指令后的预设时长内,服务器没有接收到来自用户的操作指令,则将渲染后的第二画面发送给客户端。
如上所述,服务器收到操作指令后,可以根据操作指令进行渲染,得到渲染结果1。服务器也可以根据该操作指令对用户的操作进行预测,根据预测结果进行渲染,得到渲染结果2。如果通信网络正常,服务器将渲染结果1发送给客户端;如果通信网络不稳定,发生上行卡顿(例如预设时间内没有收到用户操作指令),服务器就会将渲染结果2发送给客户端。服务器可以通过终端设备和服务器之间的通信网络将操作指令发送给客户端。
步骤507、客户端显示应用程序的画面。
客户端对接收到的视频压缩数据进行解压,并对其进行翻译得到终端设备可识别的图像数据,从而根据得到的图像数据在屏幕上显示相应的画面。
本实施例,在服务器和终端设备之间的通信网络上行通信不稳定(终端设备向服务器发送数据)时,通过服务器对用户的操作进行预测,可以提前对用户操作所引起的画面切换进行渲染,节省了处理时延,避免画面卡顿的现象。
示例性的,以云游戏APP为例对本申请提供的渲染方法进行说明。假设用户在终端设备上安装了某云游戏APP,用户打开该游戏APP进入游戏界面,通过点击、拖动、缩放、长按等操作玩游戏,其中,当用户拖动游戏人物在游戏中移动时,伴随着游戏人物的位置变换,游戏画面也会发生变化,以使用户感受到和游戏人物同步的视觉体验。
图7-11示例性的示出了云游戏画面切换示意图。如图7所示,游戏人物站在A点,此时客户端显示的是云游戏的服务器根据游戏人物所处的A点渲染的画面。
如图8所示,用户拖动游戏人物向右上方移动到达B点,该操作过程产生的操作指令通过网络传送给服务器,服务器根据操作指令所指示的游戏人物的移动轨迹渲染对应于B点的画面,该画面通过网络传送给客户端显示给用户。
如图9所示,用户拖动游戏人物从B点向右移动到达C点,此时该操作过程产生的操作指令并未到达服务器,服务器在设定的时间内没有收到来自客户端的信息,即认为网络波动造成不能及时接收指令。此时服务器根据之前用户拖动游戏人物从A点移动到B点的操作,预测用户接下来会拖动游戏人物从B点到C点,因此服务器根据预测操作渲染对应于C点的画面,该画面通过网络传送给客户端显示给用户。可见,即使用户拖动游戏人物向右移动到达C点所产生的操作指令并未被服务器接收到,服务器基于对用户操作的预测仍然可以渲染接下来的游戏画面,并将该画面通过网络传送给客户端显示给用户。这样用户可以观看到连续切换的游戏画面,并不会产生卡顿。
如图10所示,用户拖动游戏人物从B点向右下移动到达D点,此时该操作过程产生的操作指令并未到达服务器,服务器在设定的时间内没有收到来自客户端的操作指令,即认为网络波动造成不能及时接收指令。此时服务器根据之前用户拖动游戏人物从A点移动到B点的操作,预测用户接下来会拖动游戏人物从B点到C点,因此服务器根据预测操作渲染对应于C点的画面,该画面通过网络传送给客户端显示给用户。但与图7的区别在于,图8中服务器得到的预测操作和用户的实际操作不一致,即用户的实际操作是拖动游戏人物从B点到D点,但服务器预测的操作是拖动游戏人物从B点到C点,进而渲染的画面是对应于C点的画面。同样用户可以观看到连续切换的游戏画面,并不会产生卡顿。
如图11所示,用户拖动游戏人物从C点向下移动到达E点,该操作过程产生的操作指令通过网络传送给服务器,服务器又可以接收到该操作指令,表明网络状况回复良好,此时服务器又可以根据操作指令所指示的游戏人物的移动轨迹渲染对应于E点的画面,该画面通过网络传送给客户端显示给用户。这样服务器又切换回根据来自客户端的操作指令渲染画面,不影响游戏画面的连贯性。
在上述过程中,用户持有终端设备,终端设备的屏幕上显示游戏界面,用户可以在终端设备的触摸屏上执行点击、拖动、缩放、长按等操作,这些操作被终端设备上安装的客户端获取到后产生相应操作指令。客户端将操作指令通过网络传输给服务器。服务器接收操作指令,根据操作指令对用户的行为进行预测,预测用户接下来的操作。需要说明的是,服务器可以根据收到的操作指令周期性地预测用户的操作,或者只要接收到来自客户端的操作指令,服务器都可以基于已有的操作指令预测用户的操作,服务器还可以在检测到网络波动时再预测用户的操作,对此本申请不做具体限定。
本申请中服务器可以采用多种方法预测用户的操作,例如,服务器基于用户已发生的操作指令,根据用户在历史上的拖动操作进行拟合,对用户下一个操作发生的位置进行预测。对此本申请不做具体限定。
在网络状况良好时,服务器得到预测操作后不需要基于预测操作渲染对应的画面,而是根据来自客户端的操作指令渲染对应的画面,只有在网络波动时服务器才会根据预测操作渲染对应的画面。本申请中服务器确定网络波动可以基于和客户端之间的握手数据、控制信令的信息的接收情况。例如,客户端反馈的肯定应答(Acknowledge,ACK),服务器设定一个定时器,该定时器的时长例如为100ms,服务器每次收到一个客户端反馈的ACK就重置该定时器,如果定时器超时还没有收到下一个ACK,则服务器认为发生了数据丢失,表明此时网络发生波动,信道状况不好。
另外,服务器在确定网络波动,开始启用预测操作渲染画面后,还需要设定另外一个定时器,该定时器的时长例如为1s,其目的在于,如果用户关闭云游戏APP,或者关机终端设备,又或者用户持有终端设备进入无移动服务区域,服务器就不需要再针对该客户端继续渲染游戏的画面,一旦该定时器超时,可以触发服务器不再为该客户端渲染画面,无论是基于操作指令还是基于预测操作。
当网络波动时,服务器基于预测操作渲染画面,由于预测操作是基于已有的操作指令结合游戏的画面预测得到的,其无法完全符合用户的实际操作,如图8中用户的实际操作是拖动游戏人物从B点到D点,但服务器预测的操作是拖动游戏人物从B点到C点,亦即服务器渲染的画面可能不是用户实际操作后对应的画面。但如上所述,服务器在确定网络波动后,只设定在一段时间内执行本申请提供的渲染方法,一旦上述第二个定时器超时,服务器就认为客户端不在线,无需再为该客户端提供游戏处理、渲染画面。因此只要第二个定时器没有超时,服务器很快就能切换回基于来自客户端的操作指令渲染画面,而短时间内的渲染偏差并不会造成用户的观看体验。
图12为本申请应用程序服务器实施例的结构示意图,如图12所示,本实施例的服务器包括:接收模块1201、渲染模块1202、预测模块1203和发送模块1204。其中,接收模块1201,用于接收来自用户的第一操作指令;渲染模块1202,用于根据所述第一操作指令,渲染所述第一操作指令对应的应用程序的第一画面;预测模块1203,用于根据所述第一操作指令,预测第二操作指令;所述渲染模块1202,还用于根据所述第二操作指令,渲染所述第二操作指令对应的应用程序的第二画面;发送模块1204,用于如果在接收到所述第一操作指令后的预设时长内,没有接收到来自所述用户的操作指令,则将渲染后的第二画面发送给所述用户。
在一种可能的实现方式中,所述预测模块1203,具体用于采用人工智能方法根据所述第一操作指令,预测第二操作指令。
在一种可能的实现方式中,所述渲染模块1202,具体用于确定所述第一画面,并渲染所述第一画面。
在一种可能的实现方式中,所述渲染模块1202,具体用于确定所述第二画面,并渲染所述第二画面。
在一种可能的实现方式中,所述预设时长为100ms或150ms。
本实施例的装置,可以用于执行图5所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、数字信号处理器(digital signalprocessor,DSP)、特定应用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本申请实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
上述各实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种渲染方法,由服务器执行,其特征在于,包括:
接收来自用户的第一操作指令;
根据所述第一操作指令,渲染所述第一操作指令对应的应用程序的第一画面;
根据所述第一操作指令,预测第二操作指令;
根据所述第二操作指令,渲染所述第二操作指令对应的应用程序的第二画面;
如果在接收到所述第一操作指令后的预设时长内,没有接收到来自所述用户的操作指令,则将渲染后的第二画面发送给所述用户,所述渲染后的第二画面用于指示所述用户显示所述渲染后的第二画面;
如果在接收到所述第一操作指令后的预设时长内,接收到来自所述用户的操作指令,则将渲染后的第一画面发送给所述用户,所述渲染后的第一画面用于指示所述用户显示所述渲染后的第一画面。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一操作指令,预测第二操作指令,包括:
采用人工智能方法根据所述第一操作指令,预测第二操作指令。
3.根据权利要求1或2所述的方法,其特征在于,所述渲染所述第一操作指令对应的应用程序的第一画面,包括:
确定所述第一画面,并渲染所述第一画面。
4.根据权利要求1或2所述的方法,其特征在于,所述渲染所述第二操作指令对应的应用程序的第二画面,包括:
确定所述第二画面,并渲染所述第二画面。
5.根据权利要求1或2所述的方法,其特征在于,所述预设时长为100ms或150ms。
6.一种应用程序服务器,其特征在于,包括:
接收模块,用于接收来自用户的第一操作指令;
渲染模块,用于根据所述第一操作指令,渲染所述第一操作指令对应的应用程序的第一画面;
预测模块,用于根据所述第一操作指令,预测第二操作指令;
所述渲染模块,还用于根据所述第二操作指令,渲染所述第二操作指令对应的应用程序的第二画面;
发送模块,用于如果在接收到所述第一操作指令后的预设时长内,没有接收到来自所述用户的操作指令,则将渲染后的第二画面发送给所述用户,所述渲染后的第二画面用于指示所述用户显示所述渲染后的第二画面;
发送模块,还用于如果在接收到所述第一操作指令后的预设时长内,接收到来自所述用户的操作指令,则将渲染后的第一画面发送给所述用户,所述渲染后的第一画面用于指示所述用户显示所述渲染后的第一画面。
7.根据权利要求6所述的服务器,其特征在于,所述预测模块,具体用于采用人工智能方法根据所述第一操作指令,预测第二操作指令。
8.根据权利要求6或7所述的服务器,其特征在于,所述渲染模块,具体用于确定所述第一画面,并渲染所述第一画面。
9.根据权利要求6或7所述的服务器,其特征在于,所述渲染模块,具体用于确定所述第二画面,并渲染所述第二画面。
10.根据权利要求6或7所述的服务器,其特征在于,所述预设时长为100ms或150ms。
11.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行权利要求1-5中任一项所述的方法。
CN202010108932.3A 2020-02-21 2020-02-21 渲染方法和装置 Active CN113289330B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010108932.3A CN113289330B (zh) 2020-02-21 2020-02-21 渲染方法和装置
PCT/CN2021/074693 WO2021164533A1 (zh) 2020-02-21 2021-02-01 渲染方法和装置
US17/904,661 US20230094880A1 (en) 2020-02-21 2021-02-01 Rendering Method and Apparatus
EP21756688.4A EP4088795A4 (en) 2020-02-21 2021-02-01 RENDERING METHOD AND APPARATUS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010108932.3A CN113289330B (zh) 2020-02-21 2020-02-21 渲染方法和装置

Publications (2)

Publication Number Publication Date
CN113289330A CN113289330A (zh) 2021-08-24
CN113289330B true CN113289330B (zh) 2023-12-08

Family

ID=77317533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010108932.3A Active CN113289330B (zh) 2020-02-21 2020-02-21 渲染方法和装置

Country Status (4)

Country Link
US (1) US20230094880A1 (zh)
EP (1) EP4088795A4 (zh)
CN (1) CN113289330B (zh)
WO (1) WO2021164533A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114880107A (zh) * 2021-12-09 2022-08-09 许磊 一种高效低成本的云游戏系统
CN114513512B (zh) * 2022-02-08 2023-01-24 腾讯科技(深圳)有限公司 界面渲染的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9959506B1 (en) * 2014-06-17 2018-05-01 Amazon Technologies, Inc. Predictive content retrieval using device movements
CN108351691A (zh) * 2015-10-26 2018-07-31 微软技术许可有限责任公司 用于虚拟图像的远程渲染

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8858324B2 (en) * 2011-11-10 2014-10-14 Empire Technology Development Llc Speculative rendering using historical player data
US9564102B2 (en) * 2013-03-14 2017-02-07 Microsoft Technology Licensing, Llc Client side processing of player movement in a remote gaming environment
US9756375B2 (en) * 2015-01-22 2017-09-05 Microsoft Technology Licensing, Llc Predictive server-side rendering of scenes
US10552752B2 (en) * 2015-11-02 2020-02-04 Microsoft Technology Licensing, Llc Predictive controller for applications
JP2019028368A (ja) * 2017-08-02 2019-02-21 株式会社ソニー・インタラクティブエンタテインメント レンダリング装置、ヘッドマウントディスプレイ、画像伝送方法、および画像補正方法
CN108022286B (zh) * 2017-11-30 2019-08-13 腾讯科技(深圳)有限公司 画面渲染方法、装置及存储介质
CN108379832B (zh) * 2018-01-29 2021-03-30 珠海金山网络游戏科技有限公司 一种游戏同步方法和装置
CN109304031B (zh) * 2018-09-19 2021-11-02 电子科技大学 一种基于异构智能终端的虚拟化云游戏平台
CN109893857B (zh) * 2019-03-14 2021-11-26 腾讯科技(深圳)有限公司 一种操作信息预测的方法、模型训练的方法及相关装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9959506B1 (en) * 2014-06-17 2018-05-01 Amazon Technologies, Inc. Predictive content retrieval using device movements
CN108351691A (zh) * 2015-10-26 2018-07-31 微软技术许可有限责任公司 用于虚拟图像的远程渲染

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"网络延迟高怎么办?用这些简单的方法";huhu咪;《简书社区》;20190326;https://www.jianshu.com/p/791786d705c3 *

Also Published As

Publication number Publication date
WO2021164533A1 (zh) 2021-08-26
EP4088795A4 (en) 2023-06-14
EP4088795A1 (en) 2022-11-16
US20230094880A1 (en) 2023-03-30
CN113289330A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
US10534534B2 (en) Method for controlling display, storage medium, and electronic device
CN107807732B (zh) 用于显示图像的方法、存储介质和电子装置
CN111314724A (zh) 云游戏直播方法和装置
CN111935380B (zh) 电子装置
US10911818B2 (en) Electronic device and method for controlling the same
EP3346696A1 (en) Image capturing method and electronic device
EP3586316B1 (en) Method and apparatus for providing augmented reality function in electronic device
CN110221734B (zh) 信息显示方法、图形用户接口及终端
US20170011557A1 (en) Method for providing augmented reality and virtual reality and electronic device using the same
CN110168487B (zh) 一种触摸控制方法及装置
KR20170039999A (ko) 전자 장치에서 어플리케이션 실행 장치 및 방법
KR20170035240A (ko) 영상 처리를 수행하기 위한 방법 및 그 전자 장치
EP3783471A1 (en) Display control method and terminal
US10789033B2 (en) System and method for providing widget
CN111147743B (zh) 摄像头控制方法及电子设备
US9389706B2 (en) Method and system for mouse control over multiple screens
US11223629B2 (en) Electronic device and method for providing location data
CN113289330B (zh) 渲染方法和装置
EP3342162B1 (en) Electronic device and method for displaying and generating panoramic image
KR102413396B1 (ko) 웹푸시를 이용한 푸시 서비스 제공 방법 및 이를 지원하는 전자 장치
CN108055635B (zh) 位置信息的获取方法、装置、存储介质及终端
KR20170017643A (ko) 콘텐츠 전송 제어 방법 및 이를 지원하는 전자 장치
CN110968815B (zh) 页面刷新方法、装置、终端及存储介质
CN109302563B (zh) 防抖处理方法、装置、存储介质及移动终端
US20230305861A1 (en) Automated scaling of application features based on rules

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