news 2026/7/14 14:58:51

关于性能优化的说明-–-behaviac

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
关于性能优化的说明-–-behaviac

原文

概述

behaviac作为图形化的脚本,设计上是用来调用代码(c++,c#)提供的方法,在调用这些方法的时候会有些额外消耗,该消耗已经被充分优化,可以参考消耗。

实践中,要尽量把需要计算的操作由代码实现,通过方法提供给behaviac,behaviac只是去选择这些方法,behaviac作为选择者,发挥behaviac灵活直观的优势。

设计

要想高效的使用behaviac,首先要有好的设计,需要什么Agent,Agent需要有什么属性,什么方法,有一个好的接口。所谓好,是指不能太底层,也不能太高层。

  • 太底层,意味着需要进行很多小的计算
  • 太高层,意外着失去了灵活性

底层的计算要尽量在代码(c++或c#)实现。behaviac用来做策略选择。

behaviac虽然提供了Assignment,Compute,Compare,IfElse等节点,允许做一些“小的”计算,允许就像写代码一样进行if else的基本选择,但不鼓励这样做。鼓励使用Selector,Sequence,前置,后置等节点及附件。

持续运行的动作

Agent提供的方法,最好是能够持续运行的方法,比如,播放动画,移动一段距离,都是持续很多帧的动作;而不是只是返回某个值,然后再需要在行为树里根据该值做比较,进行计算,再执行其他小的一帧触发的方法。

持续运行的节点在下一帧会被持续继续执行,behaviac不会愚蠢的每一帧都从根节点重新执行。但是,不好的行为树(只是简单的成功或失败,没有返回运行的节点)就会迫使behaviac每一帧都不得不从根节点重新选择。可以参考行为树的基本概念及进阶。

持续运行的动作往往需要大量计算,由代码(c++或c#)实现,behaviac只是在高层去选择使用它,避免大量的计算。这样子,利用behaviac的灵活直观的优势而不会有性能的损失。

并行及选择检测节点

选择监测节点以及并行节点用起来很方便,但是需要提醒的是,相比其他节点,这两个节点比较费。

并行节点每次更新都会更新它所有的子节点(子树),选择监测节点也是如此。不仅如此,这两个节点还会导致接管所在树对处于运行状态节点的控制,形成多一级的控制。(不理解没关系,总之,比其他节点更费。)

不是说这两个节点不能用,但是使用起来请注意其性能,特别的不能滥用,最好不要嵌套这两个节点。

发布版

当发布版本或测量性能的时候,可以定义宏BEHAVIAC_RELEASE关闭开发功能,这样子性能是最优的。或者可以保留开发功能但使用功能开关有选择的关闭或打开开发功能。

关于BEHAVIAC_RELEASE可以参考优化及性能

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 10:17:47

PCB激光钻孔:CO₂激光VS紫外激光,谁更胜一筹?

【问】激光钻孔分哪几种类型?各自的适用场景是什么?【答】目前 PCB 行业常用的激光钻孔技术主要有两种:CO₂激光钻孔和紫外激光钻孔,两者的发光原理和加工特性差异很大。CO₂激光的波长是 10.6μm,属于远红外光&#x…

作者头像 李华
网站建设 2026/7/14 10:59:43

数据质量革命:Great Expectations如何重塑企业数据治理格局

数据质量革命:Great Expectations如何重塑企业数据治理格局 【免费下载链接】great_expectations Always know what to expect from your data. 项目地址: https://gitcode.com/GitHub_Trending/gr/great_expectations 在数字化转型的浪潮中,数据…

作者头像 李华
网站建设 2026/7/14 10:02:53

AI如何帮你快速解决SQL Server连接问题

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个工具,能够自动检测SQL Server连接问题。功能包括:1. 分析连接字符串语法错误;2. 检查网络连通性和端口开放状态;3. 验证SQL …

作者头像 李华
网站建设 2026/7/14 6:22:30

torch.matmul性能优化:比传统方法快10倍的技巧

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个性能对比工具,展示:1) torch.matmul在不同张量形状下的执行时间;2) 与numpy.dot的基准测试对比;3) GPU加速效果演示&#xf…

作者头像 李华
网站建设 2026/7/14 10:26:31

OpenModScan 完全指南:掌握工业自动化调试的必备利器

OpenModScan 完全指南:掌握工业自动化调试的必备利器 【免费下载链接】OpenModScan Open ModScan is a Free Modbus Master (Client) Utility 项目地址: https://gitcode.com/gh_mirrors/op/OpenModScan OpenModScan 是一款功能强大的免费开源 Modbus 主站调…

作者头像 李华
网站建设 2026/7/14 9:50:55

深度学习压缩技术实战:CompressAI框架的5大核心应用场景

深度学习压缩技术实战:CompressAI框架的5大核心应用场景 【免费下载链接】CompressAI A PyTorch library and evaluation platform for end-to-end compression research 项目地址: https://gitcode.com/gh_mirrors/co/CompressAI 在人工智能快速发展的今天&…

作者头像 李华