技能标识:vvvv-troubleshooting
Diagnoses and fixes common vvvv gamma errors in C# nodes, SDSL shaders, and runtime behavior. Use when encountering errors, exceptions, crashes, red nodes, shader compilation failures, missing nodes in the browser, performance issues, or unexpected behavior.
症状:节点能工作,但在 vvvv 中显示的名称不美观。
修复:移除Node后缀——vvvv 规范禁止使用该后缀。
csharp
// 错误
[ProcessNode]
public class SteeringBehaviorNode { }
// 正确
[ProcessNode]
public class SteeringBehavior { }
症状:引脚顺序错误或节点无法正确编译。
修复:out 参数必须放在 Update 签名的最前面。
csharp
// 错误
public void Update(float input = 0f, out float result) { ... }
// 正确
public void Update(out float result, float input = 0f) { ... }
症状:你的 C# 类存在,但未在 vvvv 中显示。
修复:按顺序检查以下内容:
症状:GC 峰值、卡顿、帧率下降。
诊断:Update 循环中存在内存分配。
常见元凶:
修复:缓存所有内容,预分配缓冲区,从热点路径中移除 LINQ。
症状:即使没有变化,CPU 使用率也很高。
修复:将输入与缓存值进行比较,仅在变化时重新计算。
csharp
if (param != _lastParam)
{
_cached = Compute(param);
_lastParam = param;
}
result = _cached; // 始终输出缓存值
症状:连接的节点没有收到数据,尽管节点能工作。
修复:即使没有进行计算,也始终输出缓存结果。
csharp
// 错误——输出仅在 if 块内设置
public void Update(out float result, float input = 0f)
{
if (input != _last)
{
result = Compute(input);
_last = input;
}
// 当输入未变化时,result 未赋值!
}
// 正确——始终赋值输出
public void Update(out float result, float input = 0f)
{
if (input != _last)
{
_cached = Compute(input);
_last = input;
}
result = _cached;
}
关于 SDSL 语法规则、常见错误以及正确/错误示例,请参考 vvvv-shaders 技能及其 syntax-rules.md 文件。关键问题:static const 作用域、缺少分号、缺少 override、枚举绑定格式。
症状:内存使用量随时间增长。
原因:
症状:间歇性崩溃、数据损坏。
修复:Update() 在主线程上运行。在构造函数中捕获 SynchronizationContext,然后将后台结果编组回来:
csharp
private SynchronizationContext _vlSyncContext;
public MyNode()
{
_vlSyncContext = SynchronizationContext.Current!;
}
// 从后台线程:
vlSyncContext.Post( => { / 在 VL 线程上运行 / }, null);
症状:vvvv 警告存在循环依赖,补丁无法编译。
修复:插入一个 FrameDelay 节点来打破循环。
症状:DLL 加载成功但找不到类型。
修复:确保 .csproj 的目标框架为 net8.0(与 vvvv gamma 的运行时匹配)。
症状:运行时出现 FileLoadException 或 TypeLoadException。
修复:将包版本与 vvvv 捆绑的版本对齐。参考 vvvv 的 lib/ 文件夹。
有关详细的错误到解决方案映射,请参见 error-catalog.md。
以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:
帮我安装 SkillHub 和 vvvv-troubleshooting-1776204789 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 vvvv-troubleshooting-1776204789 技能
skillhub install vvvv-troubleshooting-1776204789
文件大小: 4.26 KB | 发布时间: 2026-4-15 12:10