场景资源的加载方法和加载装置制造方法及图纸

技术编号:9765576 阅读:99 留言:0更新日期:2014-03-15 09:21
本发明专利技术公开了一种场景资源的加载方法和装置。所述方法包括:渲染线程、读取线程和解析线程:渲染线程将包括待加载资源名的资源数据结构加入任务队列,激活所述读取线程;读取线程根据任务队列中的待加载资源名,按照所述资源数据结构的格式,向内存缓冲区中读入相应的资源文件,激活所述解析线程;解析线程对所述内存缓冲区中的资源文件进行解析,生成相应的解析数据;渲染线程查询所述内存缓冲区,在预定的时间内,根据内存缓冲区中的解析数据,创建相应的对象;其中,读取线程和解析线程被激活后,与渲染线程并行执行。本发明专利技术缓解了惰性加载方式加载场景在短时间内出现大量物体时的卡顿现象,提高了惰性加载方式中场景资源的加载效率。

【技术实现步骤摘要】
场景资源的加载方法和加载装置
本专利技术涉及计算机技术和多线程控制
,尤其涉及一种场景资源的加载方法和加载装置。
技术介绍
随着计算机技术的不断发展,计算机已经成为人们日常的工作、生活、娱乐和休闲中必不可少的一项必需品。基于计算机开发的游戏,尤其是大型的3D(Three Dimensions,三维数字化)游戏正在日益受到广大用户的欢迎。在计算机终端显示3D游戏场景之前,需要首先将场景的模型和贴图等资源载入到内存和显存中。在现有技术中,通常采用一次加载或惰性加载的方法加载游戏场景。一次加载是指在游戏玩家进入一个场景的时候,一次性加载与该场景对应的所有资源。这种方法的缺点是:进入场景需要长时间的等待;并且对于大型游戏中的大型场景,内存和显存无法容纳整个场景的资源;另外,对于网络游戏来说,一些场景中的物体(随机掉落的装备、随机出现的角色等)是随机出现的,无法在进入该场景时立刻判断是否应该加载该物体的资源。惰性加载是指当场景中的一个物体首次被玩家看见时加载该物体的资源。但是,如果在短时间内出现了大量物体,加载过程就会耗费大量的时间。因此,使用这种方法就会出现卡顿(画面卡住)本文档来自技高网...

【技术保护点】
一种场景资源的加载方法,其特征在于,包括:渲染线程、读取线程和解析线程:所述渲染线程将包括待加载资源名的资源数据结构加入任务队列,激活所述读取线程;所述读取线程根据任务队列中的待加载资源名,按照所述资源数据结构的格式,向内存缓冲区中读入相应的资源文件,激活所述解析线程;所述解析线程对所述内存缓冲区中的资源文件进行解析,生成相应的解析数据;所述渲染线程查询所述内存缓冲区,在预定的时间内,根据所述内存缓冲区中的解析数据,创建相应的对象;其中,所述读取线程和所述解析线程被激活后,与所述渲染线程并行执行。

【技术特征摘要】
1.一种场景资源的加载方法,其特征在于,包括:渲染线程、读取线程和解析线程: 所述渲染线程将包括待加载资源名的资源数据结构加入任务队列,激活所述读取线程; 所述读取线程根据任务队列中的待加载资源名,按照所述资源数据结构的格式,向内存缓冲区中读入相应的资源文件,激活所述解析线程; 所述解析线程对所述内存缓冲区中的资源文件进行解析,生成相应的解析数据;所述渲染线程查询所述内存缓冲区,在预定的时间内,根据所述内存缓冲区中的解析数据,创建相应的对象; 其中,所述读取线程和所述解析线程被激活后,与所述渲染线程并行执行。2.根据权利要求1所述的场景资源的加载方法,其特征在于,当所述读取线程将与任务队列中待加载资源名对应的资源文件全部读入内存缓冲区时,所述读取线程进入休眠状态。3.根据权利要求1或2所述的场景资源的加载方法,其特征在于,当所述解析线程将所述内存缓冲区中的资源文件全部解析完成时,所述解析线程进入休眠状态。4.一种场...

【专利技术属性】
技术研发人员:王衎
申请(专利权)人:北京像素软件科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1