[发明专利]游戏画面传输方法、装置、存储介质和设备有效
申请号: | 202010120169.6 | 申请日: | 2020-02-26 |
公开(公告)号: | CN111346378B | 公开(公告)日: | 2022-01-14 |
发明(设计)人: | 谢志聪 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | A63F13/52 | 分类号: | A63F13/52 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 游戏 画面 传输 方法 装置 存储 介质 设备 | ||
1.一种游戏画面传输方法,其特征在于,应用于云游戏系统,所述云游戏系统包括游戏服务提供方的游戏云端服务器、画面传输服务器和游戏玩家所在的目标终端;所述方法具体应用于所述画面传输服务器;所述方法包括:
获取所述目标终端发送的游戏画面传输指令,从所述游戏云端服务器获取所述游戏画面传输指令对应的目标游戏进程以及所述目标终端对应的目标地址;
将预设钩子工具中的钩子模块注入到目标游戏进程中;
当侦听到所述目标游戏进程对应的游戏运行时,通过所述钩子模块对所述目标游戏进程中的缓存交换函数执行钩子操作,以获取缓存交换函数的控制权限,所述缓存交换函数为将后备缓存区与前台缓存区进行交换的函数;所述目标游戏进程具体为DirecteXtension类型的游戏进程,所述缓存交换函数具体包括Present函数;
当侦听到所述目标游戏进程执行缓存交换操作时,获取所述执行钩子操作后的缓存交换函数中的交换链对象,通过所述交换链对象调用缓存获取接口,所述缓存获取接口为GetBuffer接口;
通过所述缓存获取接口获取所述目标游戏进程中后备缓存区内游戏画面纹理数据,所述游戏画面纹理数据是指贴图,用于在三维的模型表面覆盖上二维的图片使实体更具有真实感;
获取游戏云端服务器发送的游戏画面设置指令,所述游戏画面设置指令是根据用户对目标游戏进程对应的云游戏所设置的画面质量数据来生成的;
提取游戏画面设置指令中画面纹理设置参数,并根据所述画面纹理设置参数的参数类型为所述画面纹理设置参数添加对应参数标签,所述画面纹理设置参数包括游戏画面纹理的大小和长宽;
根据所述画面纹理设置参数的参数标签对预设可读纹理参数进行修改,并根据所述修改后的预设可读纹理参数生成预设可读纹理对象;
获取所述执行钩子操作后的缓存交换函数中的交换链对象,通过所述交换链对象调用获取设备接口获取显卡设备抽象对象,通过所述显卡设备抽象对象调用纹理复制接口,所述纹理复制接口包括CopyResource接口;
通过所述纹理复制接口复制所述游戏画面纹理数据,并将复制获得的游戏画面纹理数据导入至所述预设可读纹理对象,所述预设可读纹理对象为预设中央处理器可读纹理对象,用于使得中央处理器能够直接将所述预设可读纹理对象内的游戏画面纹理数据读取到内存中;
获取所述预设可读纹理对象内保存的游戏画面纹理数据,根据所述游戏画面纹理数据生成游戏画面数据;
通过预先生成的所述预设可读纹理对象,根据用户需求对游戏画面的传输工具进行设置,并在游戏画面显示在前台之前,发送所述游戏画面数据至所述目标地址,以提高游戏画面的传输效率。
2.根据权利要求1所述的方法,其特征在于,所述获取所述预设可读纹理对象内保存的游戏画面纹理数据,根据所述游戏画面纹理数据生成游戏画面数据包括:
通过纹理读取函数读取所述预设可读纹理对象内保存的游戏画面纹理数据;
调用游戏编码进程对所述游戏画面纹理数据进行编码操作,将所述游戏画面纹理数据进行编码压缩处理,获得游戏画面数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010120169.6/1.html,转载请声明来源钻瓜专利网。