【运行环境】加载资源的形式

相关资源:性能优化原则

1 加载资源的形式

html代码
媒体文件,如图片,视频等
javasccript css

2 加载资源的过程

DNS解析:域名-> ip地址
浏览器根据IP地址向服务器发送http 请求
服务器处理http 请求,并返回给浏览器

3 渲染页面的过程

根据HTML 代码生成DOM Tree
根据CSS 代码生成CSSOM
将DOM Tree和CSSOM 整合形成render Tree
● 根据Render Tree渲染页面
● 遇到 script则暂停渲染,优先加载并执行JS 代码,完成再继续
● 直到Render tree 渲染完成

window.onload 和 DOMContentLoaded的区别

window.addEventListener('load',function(){
    //页面的全部资源加载完才会执行,包括图片、视频等
})
window.addEventListener('DOMContentLoaded',function(){
    //DOM 渲染完即可执行,此时图片、视频还可能没有加载完
})
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
异步资源是指在资源时,不会阻塞游戏的运行,而是在后台进行,并在完成后通过回调函数来通知游戏,从而避免了游戏卡顿的情况。在Cocos Creator中,异步资源是默认的方式。 异步资源会对代码的编写有一定的影响。由于异步资源需要通过回调函数来获取结果,因此在编写代码时需要注意回调函数的使用。通常,异步资源的代码会采用嵌套回调函数的形式,这会使代码变得比较复杂和难以维护。为了解决这个问题,可以使用Promise或async/await等方式来简化代码的编写。 以下是一个使用Promise来异步资源的示例代码: ```javascript cc.loader.loadResAsync("textures/hero", cc.SpriteFrame).then((spriteFrame) => { // 资源完成后的处理逻辑 let node = new cc.Node("Hero"); let sprite = node.addComponent(cc.Sprite); sprite.spriteFrame = spriteFrame; this.node.addChild(node); }).catch((error) => { // 资源失败的处理逻辑 cc.error(error.message || error); }); ``` 在这个示例中,使用`cc.loader.loadResAsync`方法异步了一个名为"textures/hero"的贴图资源,并将其转换为SpriteFrame类型。在资源完成后,使用Promise的then方法来执行完成后的处理逻辑。如果资源失败,则使用catch方法来执行失败的处理逻辑。通过使用Promise,可以使代码变得更简洁易懂,提高代码的可读性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端小超人rui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值