当前位置: 首页 > wzjs >正文

招商网站平台站长工具百度百科

招商网站平台,站长工具百度百科,项目转让网,网站访问量查询​Profiler 模块 新版的cocos creator3D已经把dc,fps统一放到这个Profiler模块里了,在源码的位置是: Web路径:engine/cocos/profiler/profiler.ts 原生路径:engine/native/cocos/profiler/Profiler.cp Profiler 是 C…

​Profiler 模块

新版的cocos creator3D已经把dc,fps统一放到这个Profiler模块里了,在源码的位置是:
Web路径:engine/cocos/profiler/profiler.ts
原生路径:engine/native/cocos/profiler/Profiler.cp

Profiler 是 Cocos Creator 3D 引擎内置的性能分析工具,主要用于实时监控游戏运行时的核心指标,包括:

  • 核心状态:FPS、帧耗时、GPU 类型、多线程状态等。
  • 对象统计:渲染节点数量、对象实例数量及其峰值。
  • ​内存统计:内存分配总量、对象计数及峰值。
  • 性能统计:各代码块(如渲染、逻辑)的耗时分布及调用频率。

profiler.stats

我们核心状态信息都在这个profiler.stats里,如果项目需要再界面上显示dc,fps等信息,可以在这里获取
在这里插入图片描述

stats 字段全解析

statsIProfilerState 类型的对象,用于存储引擎运行时的核心性能指标。以下是其所有字段的详细含义:


1. fps(帧率)

作用:实时显示每秒渲染的帧数(Frames Per Second)。
理想值:≥ 60(流畅),30 ≤ FPS < 60(可接受),< 30(卡顿)。
监控点:游戏整体性能的核心指标,反映设备负载和代码效率。
数据来源:通过 PerfCounter 每帧计算时间差统计。


2. draws(绘制调用次数)

作用:统计每帧的 Draw Call 数量。
优化关键:Draw Call 过多会显著降低渲染性能(尤其在移动端)。
合理范围:移动端建议 ≤ 100,PC 端可放宽至 200~300。
数据来源:通过 device.numDrawCalls 获取 GPU 提交的绘制指令次数。


3. frame(帧时间)

作用:统计每帧的总耗时(毫秒)。
计算公式帧时间 = 1000 / FPS
性能瓶颈:若帧时间波动大(如突增至 50ms),需定位耗时操作。
数据来源:记录从 beforeUpdateafterPresent 的完整帧生命周期时间。


4. instances(实例化数量)

作用:统计每帧的 GPU Instancing 实例化对象数量。
优化手段:高 instances 值表明有效利用了实例化技术,降低 Draw Call。
合理值:根据场景复杂度动态调整,无固定上限。
数据来源:通过 device.numInstances 获取实例化渲染的提交次数。


5. tricount(三角形数量)

作用:统计每帧渲染的 三角形总数
性能影响:三角形过多会导致顶点处理负载过高(尤其移动端)。
合理值:移动端建议 ≤ 10 万/帧,PC 端可适当放宽。
数据来源:通过 device.numTris 获取 GPU 处理的三角形总数。


6. logic(逻辑耗时)

作用:统计游戏逻辑(update 生命周期)的耗时(毫秒)。
优化重点:若 logic 耗时高,需检查脚本中的复杂计算或循环。
合理范围:建议 ≤ 5ms/帧。
数据来源:记录 beforeUpdateafterUpdate 的时间差。


7. physics(物理耗时)

作用:统计物理引擎计算(碰撞检测、刚体模拟)的耗时(毫秒)。
优化手段:简化碰撞体形状、减少物理对象数量。
合理范围:建议 ≤ 5ms/帧。
数据来源:记录 beforePhysicsafterPhysics 的时间差。


8. render(渲染耗时)

作用:统计渲染管线(场景裁剪、材质提交、Draw Call 执行)的耗时(毫秒)。
优化关键:高 render 值需优化材质复杂度、减少渲染对象。
合理范围:建议 ≤ 10ms/帧。
数据来源:记录 beforeDrawafterRender 的时间差。


9. present(呈现耗时)

作用:统计将帧缓冲区提交到屏幕的耗时(毫秒)。
平台差异:移动端受垂直同步(VSync)影响较大。
异常值:若 present 突增,可能因分辨率过高或 GPU 负载过载。
数据来源:记录 afterRenderafterPresent 的时间差。


10. textureMemory(纹理内存)

作用:统计显存中 纹理资源 占用的内存总量(单位:MB)。
优化手段:使用压缩纹理格式(如 ASTC、PVRTC),及时释放未用纹理。
合理值:根据设备显存容量动态控制。
数据来源:通过 device.memoryStatus.textureSize 获取。


11. bufferMemory(缓冲区内存)

作用:统计显存中 缓冲区对象(顶点/索引/Uniform 缓冲区)占用的内存总量(单位:MB)。
优化手段:减少动态缓冲区更新频率,合并小缓冲区。
数据来源:通过 device.memoryStatus.bufferSize 获取。


关键代码逻辑

数据更新机制

afterPresent 方法中,通过以下代码更新统计值:

// 更新 Draw Call、Instance、三角形数量
this._profilerStats.draws.counter.value = device.numDrawCalls;
this._profilerStats.instances.counter.value = device.numInstances;
this._profilerStats.tricount.counter.value = device.numTris;// 更新显存占用
this._profilerStats.bufferMemory.counter.value = device.memoryStatus.bufferSize / (1024 * 1024);
this._profilerStats.textureMemory.counter.value = device.memoryStatus.textureSize / (1024 * 1024);
性能数据渲染

通过 generateNode 方法创建 MeshRendererMaterial,将性能数据绘制到屏幕:

// 创建专用材质和网格
this._meshRenderer.material = _material; // 使用内置 shader 'util/profiler'
this._meshRenderer.node.layer = Layers.Enum.PROFILER; // 指定渲染层级

应用场景与优化建议

  1. 卡顿排查:若 fps 骤降,结合 logic/render 耗时定位瓶颈。
  2. 内存泄漏:监控 textureMemory 是否持续增长,及时释放未引用资源。
  3. 渲染优化:高 draws 时启用合批(Batching)或实例化(Instancing)。
  4. 物理优化:高 physics 时简化碰撞体或降低物理更新频率。

通过 profiler.showStats() 可实时查看性能面板,深入分析引擎运行状态。

http://www.dtcms.com/wzjs/128578.html

相关文章:

  • 网站做优化需要哪些后台信息近10天的时政新闻
  • wordpress免费商城模板下载地址seo站长网
  • 网站备案网站简介网站排行查询
  • 做网站怎样快速收录百度竞价推广怎么收费
  • 三站合一的网站怎么做女教师网课入侵录屏
  • phpcms做的网站有哪些教育培训机构网站
  • 视频播放类网站建设费用网站关键词优化软件
  • 比格设计官网兰州seo推广
  • 外发加工网邀请码威海seo
  • 免费公司网站模版semester
  • 页面设计师招聘seo技术教程
  • 政府制作网站收费百度地图导航2022最新版
  • 网站专做盗版小说 会犯法吗北京网站优化站优化
  • 网站建设需注意的广州seo顾问服务
  • 战略咨询小璇seo优化网站
  • 商城购物网站建设aso是什么意思
  • 网站建设的作用是什么意思我想做百度推广
  • wordpress文章标题大小快抖霸屏乐云seo
  • vue做网站好吗品牌网
  • 衡水网站建设公司联系电话网上写文章用什么软件
  • 百度网站建设目标seo入门免费教程
  • 做互联网小程序 和网站有没有前景网上全网推广
  • 注册一个新公司的流程如下宁波优化推广选哪家
  • 宿州大型网站建设公司seo中国官网
  • 做网站的公司怎么拓展业务关键词排名关键词优化
  • 安装安全狗网站打不开嘉峪关seo
  • 网站流量真难做企业建站 平台
  • 柳州学校网站建设免费隐私网站推广app
  • wordpress 超过了站点的最大上传限制北京网站优化公司哪家好
  • 郑州专业的网站建设公司排名企业网站seo诊断工具