Helps write code using vvvv gamma's Spread
Spread
关键属性:
csharp
var builder = new SpreadBuilder
for (int i = 0; i < count; i++)
builder.Add(ComputeValue(i));
Spread
csharp
// 从数组(扩展方法)
Spread
// 从数组(静态工厂)
Spread
// 空 spread(永远不要使用 null)
Spread
// 单个元素
var single = new SpreadBuilder
single.Add(42f);
Spread
csharp
// 在索引前始终检查 Count
if (spread.Count > 0)
{
float first = spread[0];
float last = spread[spread.Count - 1];
}
// 迭代(推荐 — 无内存分配)
foreach (var item in spread)
Process(item);
// 循环中的索引访问
for (int i = 0; i < spread.Count; i++)
Process(spread[i]);
csharp
public static Spread
{
var builder = new SpreadBuilder
foreach (var value in input)
builder.Add(value * factor);
return builder.ToSpread();
}
csharp
public static Spread
{
var builder = new SpreadBuilder
foreach (var value in input)
{
if (value > threshold)
builder.Add(value);
}
return builder.ToSpread();
}
csharp
public static Spread
{
int count = Math.Max(a.Count, b.Count);
var builder = new SpreadBuilder
for (int i = 0; i < count; i++)
{
float va = a.Count > 0 ? a[i % a.Count] : 0f;
float vb = b.Count > 0 ? b[i % b.Count] : 0f;
builder.Add(va + vb);
}
return builder.ToSpread();
}
csharp
public static Spread
{
var builder = new SpreadBuilder
float sum = 0f;
foreach (var value in input)
{
sum += value;
builder.Add(sum);
}
return builder.ToSpread();
}
对于热路径输出(例如,每帧模拟数据),ReadOnlySpan
csharp
[ProcessNode]
public class ParticleSimulator
{
private ParticleState[] _states;
public ReadOnlySpan
{
// 模拟到预分配的数组 — 零分配
Simulate(_states, config, deltaTime);
return _states.AsSpan();
}
}
对于不频繁的配置输入使用 Spread
csharp
[ProcessNode]
public class SpreadProcessor
{
private Spread
private Spread
public void Update(
out Spread
Spread
{
input ??= Spread
if (!ReferenceEquals(input, _lastInput))
{
var builder = new SpreadBuilder
foreach (var v in input)
builder.Add(v * 2f);
_cachedOutput = builder.ToSpread();
_lastInput = input;
}
output = _cachedOutput;
}
}
更多代码示例,请参见 examples.md。
该技能支持在以下平台通过对话安装:
帮我安装 SkillHub 和 vvvv-spreads-1776204809 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 vvvv-spreads-1776204809 技能
skillhub install vvvv-spreads-1776204809
文件大小: 3.92 KB | 发布时间: 2026-4-15 11:16