由于红警的资源比较大,红警2加上红警尤里复仇两个版本,还有二十多首高清无损的背景音乐,有一个G左右的大小,当用户打开网页玩耍的时候,总不能每次都下载一个G的资源吧。所以需要一个方法,将所有的资源保存到本地使用。

好在h5里面增加了indexeddb,也就是本地数据库,可以实现我们想要的需求。

既然有这个东西了,那我们也不能用原生的,那样操作起来更复杂,有没有相应的轮子呢,答案肯定是有的。找来找去,最后确定使用 Dexie 这个库。

那么如何去实现呢,还需要保存一些配置项,我在库里面创建了两个表,一个是存放资源使用,另一个是存放配置项使用。

具体实现逻辑:

  1. 第一次进入游戏时,先去配置项表里面获取游戏的相关配置项,如果没有,则生成一份默认配置,但不会将版本号存入,当前表里就多了一份配置项。
  2. 接着进入资源加载状态,判断本地版本号和服务器版本号是否一致,不一致,将去资源表里面获取本地所有的资源索引,然后和服务器上的资源表进行对比。完成以后将未含有的资源进行加载。
  3. 加载完成所有资源以后,将本地配置表的版本号存入。
  4. 第二次打开游戏的时候,直接读取本地配置表配置,如果版本号不一致,将触发资源比对。如果版本号一致,将直接略过,进入游戏。

网页版红警的资源加载的实现相关推荐

  1. queueing 优化_简单聊聊网页的资源加载优化

    移动开发中很重要的一块是资源的加载优化.移动开发由于网速低带宽,高延迟,移动设备小内存,低处理器性能的原因,因此很多时候不得不通过优化前端页面的性能来满足用户对网页加载的预期. 前段时间做了相关方面的 ...

  2. js网页文件资源加载器

    功能:依次加载资源文件 范围:适用于所有js网页 //资源加载var arr = ['img/pic_1.png', 'img/pic_2.png', 'img/pic_3.png'];functio ...

  3. 【读书笔记】【WebKit技术内 幕(二)】Chromium Webkit资源加载与网络栈、DOM树、HTML解释器、影子DOM、CSS解释器和样式布局、网页层次与渲染、绘图上下文、

    文章目录 前言 Something great 第4章 资源加载和网络栈 Webkit 资源加载 Chromium多进程资源加载 Chromium 网络栈 第5章 HTML解释器和DOM模型 DOM模 ...

  4. 浏览器页面资源加载过程与优化

    评价页面性能好坏的核心之一就是页面的加载速度,而页面加载速度的关键就是页面资源的加载.本文将从浏览器浏览器页面资源加载过程展开分析,来引出页面关键请求路径的概念,并给出如何优化该关键请求路径的一些方法 ...

  5. 【Unity3D日常开发】Unity中的资源加载与文件路径

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...

  6. win7ie11调用java失败,win7纯净版系统下ie11无法加载java插件

    在win7纯净版系统中,我们会使用系统自带IE11浏览器来上网,最近有用户在使用IE11上网的时候无法加载java插件,导致网页无法全部显示,我们碰到这个问题应该怎么解决呢?下面给大家讲解一下win7 ...

  7. 前端性能优化学习 08 资源加载优化

    图片延迟加载 什么是延迟加载 首先来想象一个场景,当浏览一个内容丰富的网站时,比如电商的商品列表页.主流视频网站的节目列表等,由于屏幕尺寸的限制,每次只能查看到视窗中的那部分内容,而要浏览完页面所包含 ...

  8. 记一次灰度发版打印背景图片无法加载的处理过程

    记一次灰度发版打印背景图片无法加载的处理过程 前言 需求为给订单加上新的打印模板,测试环境正常,灰度环境打印不出来图片.请求服务器路径可以展示图片,使用lodop设置背景图或打印图片都无法展示 解决过 ...

  9. 美团金融扫码付静态资源加载优化实践

    原文链接:https://mp.weixin.qq.com/s?__biz=MjM5NjQ5MTI5OA==&mid=2651747208&idx=1&sn=b9fc54300 ...

  10. Unity资源加载入门

    写在前面 本文转载自:https://gameinstitute.qq.com/community/detail/123460,供自己学习用,如有疑问,请移步原创. 引言 Unity的资源加载及管理, ...

最新文章

  1. java 最近将工作中用到的工具总结——日期工具
  2. Spring boot+Spring Security 4配置整合实例
  3. 基于注解的AOP实现事务控制及问题分析
  4. 代理服务器https协议单站点开通注意事项
  5. Android开发之ApiCloud模块开发之模块引用第三方库的问题
  6. Spring Boot 2.0 正式发布
  7. 多级队列调度算法可视化界面_C++实现操作系统调度算法(FSFS,SJF,RR,多级反馈队列算法)...
  8. 一套漂亮的Bootstrap模板
  9. c语言数码管显示1234,各位大神,如何用C语言实现在数码管上实现1234同时亮
  10. sama5d36 OUT0-OUT3 对应关系 带光模块的系统
  11. Java多线程学习总结(7)——创建线程池的正确姿势
  12. java中的随机生成算法_随机生成算法的java代码太复杂了
  13. 怎样通过计算机修改蓝牙音箱,蓝牙音箱怎么连接电脑(图文教程)
  14. as常用固定搭配_英语专业四级常用固定搭配
  15. 7步打造持续盈利的会员体系
  16. Flutter 通知栏通知
  17. 2021中国市场十大IT热点
  18. 数据湖和数据仓库区别介绍
  19. 微信小程序实现3D轮播图
  20. 两个和尚的故事【摘】

热门文章

  1. HOJ 12814 SIRO Challenge (状态压缩DP)
  2. You are what you read 笔记
  3. 仿蓝色理想的“运行代码”功能
  4. 入职5年前端工程师针对web前端小白,作出的职业规划建议
  5. 计算机的虚拟接口,怎样设置计算机的虚拟目录和虚拟端口
  6. 中望3D2022 草图综合训练
  7. 服务器运维有夜班吗,运维倒班之所获
  8. C++ Beep()演奏简谱的改进以及实现背景音乐
  9. C#给图片加水印文字或图片
  10. 《蔡康永的说话之道》读书笔记