[发明专利]基于Unity引擎的网络图片加载方法、装置及介质有效

专利信息
申请号: 202210856964.0 申请日: 2022-07-20
公开(公告)号: CN115225623B 公开(公告)日: 2023-08-29
发明(设计)人: 段凌云;何柯庆;唐进;陈正超 申请(专利权)人: 贵阳语玩科技有限公司
主分类号: H04L67/02 分类号: H04L67/02;H04L67/568;H04L9/06;G06F16/955
代理公司: 杭州研基专利代理事务所(普通合伙) 33389 代理人: 刘然
地址: 550081 贵州省贵阳市贵阳国家高新技术*** 国省代码: 贵州;52
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 unity 引擎 网络 图片 加载 方法 装置 介质
【说明书】:

本申请提供一种基于Unity引擎的网络图片加载方法、装置及介质,通过将网络图片加载请求转到程序中使用HttpListener开辟的HTTP服务,以在HTTP服务线程完成缓存的校验和文件下载,解决了UnityWebRequest下载的图片无法缓存的问题。结合DownloadHandlerTexture可以在工作线程解码图片的特性,完美避免了在主线程执行缓存校验带来的URL编码耗时操作及文件数据I/O耗时操作,也避免了主线程对图片解码带来的CPU耗时操作,从而支持随时高效加载并缓存高清网络图片。

技术领域

本申请涉及软件开发技术领域,具体而言,涉及一种基于Unity引擎的网络图片加载方法、装置及介质。

背景技术

Unity引擎是一个较为流行的跨平台3D引擎,引擎通过主线程不断刷新画面实现运动的展示,每秒刷新的画面次数越多(即FPS,每秒传输帧数),运动的画面越流畅,常见的FPS档位有30、60、90、120。以60FPS为例,要达到该帧数,每一帧的代码执行时间不能超过16.66毫秒。同时Unity引擎为了避免线程安全问题,几乎所有API(应用程序接口)只能在主线程调用,其中就包括图片(2D纹理)的加载API。

一张图片的加载分为两个核心阶段,首先将文件二进制数据读取进内存,其次在内存中对二进制数据进行解码。从文件系统上将图片文件二进制数据读入内存属于耗时操作(I/O密集型),在内存中对图片进行解码也属于耗时操作(CPU密集型)。图片越高清,总像素数越多,文件所占的大小也越大,二进制数据载入内存与解码的时间也越长。

Unity引擎读取并解码图片的API只能在主线程调用,如果主线程执行代码耗时超过1帧最大时长,则画面就会掉帧,运动图像的视觉效果与操作就会变卡,降低或避免主线程在这两个阶段耗费过多时间将使得画面更加流畅。如果这张图片并不在本地,是放在网络服务器上,还需要增加额外的图片下载时长,如果一张图片需要频繁显示,重复的下载既慢且浪费用户网络流量。

无论使用什么引擎开发,游戏加载网络图片,基本都是在进入游戏前提前下好所有资源,在加载场景的界面等待图片加载、解码,加载完成后进入场景直接显示。

Unity中加载网络图片,可以使用UnityWebRequest进行动态按需加载图片,该API可以下载网络图片,并在引擎内部工作线程(不对外公开)中进行图片解码,不阻塞主线程,解码完成后得到纹理对象用来显示。但是该API无法对下载的图片进行缓存,每次显示同样的图片都需要重新下载,会浪费许多流量。

如果自行编写下载服务实现缓存,则需要对URL进行规则化定长编码,作为文件名进行保存、查找,但每次对URL进行编码需要消耗主线程执行时间。而加载和解码目前有两种方案,第一种是调用WWW类的LoadImageIntoTexture方法加载图片,但该方案会导致在主线程执行加载和解码而阻塞主线程。第二种是在子线程读取文件二进制数据到内存形成字节数组,主线程调用Texture2D类的LoadImage方法加载,这种方案虽然在文件加载时不阻塞主线程,但会因为必须在主线程解码而阻塞主线程。

发明内容

本申请实施例的目的在于提供一种基于Unity引擎的网络图片加载方法、装置及介质,以避免URL编码耗时,避免同一个文件重复下载,避免文件加载到内存及解码阻塞主线程,实现高效加载并缓存高清网络大图。

为了实现上述目的,本申请的实施例通过如下方式实现:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵阳语玩科技有限公司,未经贵阳语玩科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202210856964.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top