FireRedAudio 分阶段性能分析 · T8star-Aix
The node that tells you whether your 'fast mode' is actually fast
- 性能摘要
- 性能 JSON
- RTF
- 总耗时(秒)
- 峰值显存 GiB
Every generation node in this pack already embeds a performance block in its report - cold-start flag, per-phase timings, RTF, GPU peak allocation. This node is the decoder ring for that blob. Feed it the report string and it hands you a plain-language summary, the numbers as floats you can compare in other nodes, and a pass/fail verdict against the real-time factor you actually care about. It's the honest middle ground between "trust the author's benchmark" and "blindly flip acceleration modes and pray."
How it works
PerformanceReport takes generation_report (a JSON string - wire in the report output from a TTS, SeedAudition, or BatchDubbing node, or the performance payload from a manifest) plus a target_rtf. RTF is the real-time factor: how many seconds of compute per second of audio. RTF of 1.0 means real-time, 0.5 means twice as fast as real-time. Set target_rtf to your acceptable ceiling and the node tells you if you made it.
It parses the report, pulls total_seconds, rtf, and gpu_peak_allocated_bytes (converted to GiB), and sorts phase_seconds so the biggest time sinks float to the top of the summary. That phase list is the useful part - if model loading is eating half your wall time, no acceleration mode fixes that, and the node will show you exactly that instead of you guessing.
Outputs: 性能摘要 (the human-readable multi-line summary), 性能 JSON (enriched with target_rtf and a target_met boolean), plus three machine-readable floats - RTF, 总耗时(秒), 峰值显存 GiB - that you can compare with simple math nodes or log to text.
Where it fits
Two patterns work well. First, as a one-off sanity check after you switch 加速模式 on the model loader: the pack's own long-run tests (e.g. off vs FlashAttention vs DeepSpeed on an RTX 5090) show real single-digit-percent differences between modes - the kind of thing you can't feel but this node will measure for you on your machine and your text length. Second, wire it into a workflow that writes the verdict to a text file every run, so you build your own performance log across sessions.
The pack also ships a full 加速实测向导 (AccelerationBenchmark) that warms up and runs multiple formal measurements per mode and only then recommends. This node is the lighter cousin: no warmups, no recommendation, just "here's what the last run actually cost."
Gotchas
- The input must be a JSON string with a
performancefield - connect a v0.10+ generation node's report, not arbitrary text. The node raises a clear error if the field is missing. - Peak VRAM is what the worker measured (
nvidia-ml-py-style allocation tracking), so it's the allocation, not the whole-card usage. Read it as a change signal between modes, not an absolute memory budget. - No model needed - this is pure number crunching, so it works even before you've downloaded weights. That makes it a nice "did my setup actually work" check on a fresh install.
Installing
The pack-level install applies: ComfyUI Manager search comfyui-fireredaudio-T8, or git clone https://github.com/T8mars/comfyui-fireredaudio-T8 into custom_nodes/ and run python scripts\setup_runtime.py once. The node itself doesn't need the worker, but the generation nodes that produce its input do, so you'll run the full setup anyway.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| generation_report | STRING | — | |
| target_rtf | FLOAT | 1.00–1000 | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| 性能摘要 | STRING | — |
| 性能 JSON | STRING | — |
| RTF | FLOAT | — |
| 总耗时(秒) | FLOAT | — |
| 峰值显存 GiB | FLOAT | — |