System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及图像处理,特别是涉及一种3d资源的高效加载方法、系统、设备及介质。
技术介绍
1、目前,在3d游戏中,加载和渲染显示场景、模型是一个必要的过程;通常的加载方法是:先下载加载所用的网格数据和材质贴图数据,等待加载场景和模型的网格数据和材质贴图数据都完成后,最后进行场景和完整模型的渲染显示,在渲染时处理编译相应的着色器;这样做的目的是,通过一次渲染就达到目标显示效果,这种方式在所有模型资源都已经下载到本机的情况下,能够为用户提供较为流畅的体验。
2、但是,在网页游戏中,场景及模型都是线上实时加载的,采用上述方法,会使用户等待很长时间才能看到画面;若场景和模型复杂较高,则加载和编译shader时等待的时间越多,不仅容易造成卡顿,影响用户体验,而且易导致用户失去耐心离开游戏,该方式的具体缺陷体现在如下方面:
3、(一)时效性问题:加载模型所需的资源可能会很多,比如贴图数据,每张贴图的尺寸都可能在256*256以上,一旦贴图数量较多,这些资源全部加载完毕的时间就会变长,100m的带宽都要消耗用户较长的等待时间,时效性差,影响用户体验。
4、(二)cpu占用问题:等待所有资源加载完成后,需要cpu处理这些资源,才能达到渲染目的;但是,全部资源的囤积,导致cpu积压的任务过多,资源量较大导致cpu占用过高,cpu无法快速及时的进行全部处理,易造成掉帧,导致卡顿,影响用户体验。
5、(三)网络占用问题:若同时放开模型资源的加载,则会导致下载需求突然增大,网络压力会突然增加,造成较大的
6、(四)其他卡顿问题:在渲染时,着色器编译任务由cpu交给gpu,gpu并非与cpu同步编译结果,当cpu通知gpu需要进行画面渲染时,gpu会等待shader编译完成后才进行渲染动作,期间产生的滞后问题会导致卡顿,再次影响用户体验。
技术实现思路
1、本专利技术的目的在于,提供一种3d资源的高效加载方法、系统、设备及介质,进而解决现有技术中存在的上述所有问题或问题之一。
2、为解决上述技术问题,本专利技术的具体技术方案如下:
3、一方面,本专利技术提供一种3d资源的高效加载方法,包括以下步骤:
4、模型加载优化步骤:
5、设置模型加载策略,基于所述模型加载策略进行模型预加载处理;
6、资源处理优化步骤:
7、响应于模型资源下载任务,基于分量处理操作进行模型资源下载;
8、资源下载优化步骤:
9、响应于模型资源下载任务,设置资源下载优先级,按照所述资源下载优先级进行模型资源下载;
10、着色器优化步骤:
11、设置着色器编译策略,采用所述着色器编译策略调整着色器的调用顺序。
12、作为一种改进的方案,所述模型加载策略,包括:
13、响应于游戏运行,加载游戏模型的网格数据;
14、响应于所述网格数据加载结束,对所述游戏模型进行预渲染。
15、作为一种改进的方案,所述预渲染,包括:
16、采用半透明材质渲染简易模型;
17、采用所述简易模型响应用户的模型控制操作。
18、作为一种改进的方案,所述分量处理,包括:
19、响应于模型资源下载结束,创建资源处理队列,将下载的模型资源置入所述资源处理队列内;
20、设置处理量阈值,控制处理器每帧按照所述处理量阈值进行所述资源处理队列中模型资源的渲染处理。
21、作为一种改进的方案,所述设置处理量阈值,包括:
22、响应于设置所述处理量阈值,根据应用设备的硬件性能调高或降低所述处理量阈值。
23、作为一种改进的方案,所述资源下载优先级,依次为:网格、材质数据、主贴图以除所述主贴图外的贴图。
24、作为一种改进的方案,所述着色器编译策略,包括:
25、在后台编译着色器,在着色器编译结束前,采用简易着色器渲染画面;
26、响应于着色器代码交给gpu编译后,不调用gpu编译结果的api;
27、响应于着色器编译完成,调用编译后的相应着色器渲染游戏画面。
28、另一方面,本专利技术还提供一种3d资源的高效加载系统,包括:
29、模型加载优化模块、资源处理优化模块、资源下载优化模块和着色器优化模块;
30、所述模型加载优化模块,用于设置模型加载策略,并基于所述模型加载策略进行模型预加载处理;
31、所述资源处理优化模块,用于响应于模型资源下载任务,基于分量处理操作进行模型资源下载;
32、所述资源下载优化模块,用于响应于模型资源下载任务,设置资源下载优先级,并按照所述资源下载优先级进行模型资源下载;
33、所述着色器优化模块,用于设置着色器编译策略,并采用所述着色器编译策略调整着色器的调用顺序。
34、另一方面,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述3d资源的高效加载方法的步骤。
35、另一方面,本专利技术还提供一种计算机设备,所述计算机设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;其中:
36、所述存储器,用于存放计算机程序;
37、所述处理器,用于通过运行所述存储器上所存放的程序来执行所述3d资源的高效加载方法的步骤。
38、本专利技术技术方案的有益效果是:
39、本专利技术所述的3d资源的高效加载方法,可以实现优先渲染简易模型,加快用户着手操作的时间,避免因长时间加载资源导致用户空白等待,提升资源的加载效率;本专利技术通过把cpu的工作任务进行按帧分摊,节省更多的画面渲染时间,避免cpu占用过高;本专利技术基于优先级安排下载请求,减少网络堆积风险,防止网络占用过高导致游戏延迟;本专利技术对于高低端机型进行贴图质量的分别控制,降低一定的性能要求,提升了应用范围;本专利技术通过着色器的编译方式优化,避免了cpu等待gpu而造成的延迟卡顿;本专利技术对资源加载时的各种卡顿问题进行了优化,提升了适配性,降低了局限性,弥补了现有技术的缺陷,具有较高的应用价值。
40、本专利技术所述的3d资源的高效加载系统,可以通过模型加载优化模块、资源处理优化模块、资源下载优化模块和着色器优化模块的相互配合,进而实现优先渲染简易模型,加快用户着手操作的时间,避免因长时间加载资源导致用户空白等待,提升资源的加载效率;本专利技术通过把cpu的工作任务进行按帧分摊,节省更多的画面渲染时间,避免cpu占用过高;本专利技术基于优先级安排下载请求,减少网络堆积风险,防止网络占用过高导致游戏延迟;本专利技术对于高低端机型进行贴图质量的分别控制,降低一定的性能要求,提升了应用范围本文档来自技高网...
【技术保护点】
1.一种3D资源的高效加载方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种3D资源的高效加载方法,其特征在于:
3.根据权利要求2所述的一种3D资源的高效加载方法,其特征在于:
4.根据权利要求1所述的一种3D资源的高效加载方法,其特征在于:
5.根据权利要求4所述的一种3D资源的高效加载方法,其特征在于:
6.根据权利要求1所述的一种3D资源的高效加载方法,其特征在于:
7.根据权利要求1所述的一种3D资源的高效加载方法,其特征在于:
8.一种3D资源的高效加载系统,其特征在于,包括:模型加载优化模块、资源处理优化模块、资源下载优化模块和着色器优化模块;
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~7中任一项所述3D资源的高效加载方法的步骤。
10.一种计算机设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成
...【技术特征摘要】
1.一种3d资源的高效加载方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种3d资源的高效加载方法,其特征在于:
3.根据权利要求2所述的一种3d资源的高效加载方法,其特征在于:
4.根据权利要求1所述的一种3d资源的高效加载方法,其特征在于:
5.根据权利要求4所述的一种3d资源的高效加载方法,其特征在于:
6.根据权利要求1所述的一种3d资源的高效加载方法,其特征在于:
7.根据权利要求1所述的一种3d资源的高效加载...
【专利技术属性】
技术研发人员:秦国强,
申请(专利权)人:苏州九宫数字科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。