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

开发功能开关-–-behaviac

原文

behaviac的运行时提供有核心的更新行为树的功能,在其之上,还有logging,热加载,连调等调试功能。这些调试功能只是‘开发’功能,在游戏发布后实际上是不需要的。

除了可以在config.h中定义BEHAVIAC_RELEASE宏为1来完全使‘开发功能’不被编译外。也可以保留这些‘开发’功能但只是使用下面所列的‘开关’来关闭或者打开某些功能。

具体可以参考优化及性能

Cpp

namespacebehaviac{classBEHAVIAC_APIConfig{public:staticboolIsProfiling();staticvoidSetProfiling(boolbEnabled);//logging是否打开staticboolIsLogging();staticvoidSetLogging(boolbLogging);//logging打开的情况下,是否每次logging的时候都FlushstaticboolIsLoggingFlush();staticvoidSetLoggingFlush(boolbFlush);//socket连接是否打开,只有打开socket连接,连调功能才会支持staticboolIsSocketing();staticvoidSetSocketing(boolbSocketing);//是否是阻塞模式,当时阻塞模式的时候,游戏会阻塞,等待编辑器的连接,//只有成功建立连接后,游戏才继续运行staticboolIsSocketBlocking();staticvoidSetSocketBlocking(boolbBlocking);//游戏和编辑器建立连接的时候使用的端口staticvoidSetSocketPort(unsignedshortport);staticunsignedshortGetSocketPort();//热加载是否打开staticboolIsHotReload();staticvoidSetHotReload(boolbHotReload);};

具体的代码可以查看behaviac/base/workspace.h

Unity

C#下同名函数的意义和Cpp一样,此外,IsSuppressingNonPublicWarning是个用来控制是否输出非public成员的警告。

IsSuppressingNonPublicWarning为true的时候,Agent的成员(field,method,property)如果不是public的,则输出警告信息,从而可以修改其为public,这样的话,当使用导出格式为c#时其效率就是最高的,而且没有GC Alloc。

具体的代码请查看behaviac/runtime/workspace.cs

http://www.cnnetsun.cn/news/52780.html

相关文章:

  • Week 29: 深度学习补遗:MoE的稳定性机制与路由策略实现
  • 25年12月14日复盘总结,大盘方向,操作建议,板块机会,实用干货
  • what?动态规划?
  • CommonJS 的缓存机制:为什么二次 require 得到的对象是同一个?
  • 跨标签页通信的五种方案:LocalStorage、BroadcastChannel 与 SharedWorker
  • JavaScript 与 CSS 变量交互:利用 setProperty 动态修改 CSS 变量实现主题切换
  • 2、UNIX基础入门教程
  • 6、互联网通信全解析:从邮件到多媒体的多元世界
  • vue基于Spring Boot框架 农产品销售供应商管理系统_m11i2507_
  • 10、UNIX系统管理:技术与实践指南
  • vue基于SpringBoot的健身房管理系统设计与实现_45vy0km9_
  • 父子进程关系与终止机制详解
  • Qt面试题合集(一)
  • Claude vs ChatGPT vs Gemini:全方位对比与选用指南
  • 大模型量化技术原理-ZeroQuant系列(一)
  • RISCV的异常和中断
  • vue基于Spring Boot框架的水果商城设计与实现_6628xfyb_
  • 【入门级-数据结构-3、特殊树:完全二叉树的定义与基本性质】
  • python用openpyxl操作excel-读取或创建excel文件
  • 刷题日记day5(二分+前缀和)
  • 005-AES:采招网
  • 基于python+django的在线考试系统(源码+lw+部署文档+讲解等)
  • C语言一维与二维数组名详解:从本质理解到高手应用
  • 当水印遇见AI:一场像素级的美学修复之旅
  • 软件测试是保障软件质量的关键环节,尤其在当前无法完全依赖形式化方法证明软件正确性的背景下,测试成为发现缺陷最主要、最有效的手段
  • 如何用AI快速生成Flink面试题答案?
  • 10分钟搞定:DeepSeek本地开发环境快速搭建方案
  • 豆包AI手机智能操控的硬核原理
  • CVE-2023-48795漏洞深度解析:原理与影响
  • 深入解析strspn:字符串扫描的精确尺子