mcpField
T
Tachyon GPU monitor

Tachyon GPU monitor

本地服务
github.com数据与分析0今天更新

关于 Tachyon GPU monitor

Tachyon 是面向运行游戏、创意应用、脚本或渲染任务用户的 NVIDIA GPU 只读监控器。它在本地解释瓶颈、预测显存使用、记录任务历史并诊断崩溃;可选的本地 MCP 服务向助手提供 GPU 状态。

主要功能

  1. 01实时 GPU 指标与进程归属
  2. 02解释性能瓶颈
  3. 03预测显存耗尽时间
  4. 04记录崩溃证据并诊断原因
  5. 05跟踪并比较渲染任务
  6. 06可选本地 MCP 服务,含九个只读工具

适用场景

  1. 01检查渲染任务是否可能适配现有显存
  2. 02结合近期读数和 Windows 事件调查重启
  3. 03将当前渲染性能与此前运行进行比较

MCP 相关

启用后,`tachyon.exe mcp` 会通过管道运行本地 MCP 服务,提供九个只读工具。助手可查询 GPU 状态及相关读数;监控器不会修改 GPU 设置。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbtachyon-1.2.0-windows-x64.mcpb1.2.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Tachyon

CI License: MIT OR Apache-2.0 Rust 2024 Windows 10/11 NVIDIA NVML

Tachyon:实时 GPU 监控器,拥有 Aurora 玻璃岛,由 Formray 打造

NVIDIA 显卡上最轻量的实时 GPU 监控器,也是最能说明情况的监控器: 是什么拖慢了你的工作、显存何时会耗尽、电脑为何宕机,以及这次渲染与上次相比如何。它只读取信息:绝不会触碰时钟、风扇、电源限制或网络。

作者:Formray。

Hex 指出 GPU 的瓶颈:视频解码器是限制因素(wine、假驱动、合成值) 意外重启后的崩溃报告:过去几分钟发生了什么(wine、合成数据)

Tachyon 1.0 是首个正式版本。5.0 到 5.1.1 版本是 1.0 发布前的预览版;请参阅变更日志。

功能

1.1 新增:

  • 渲染前检查:“此任务能否运行?” 渲染任务开始时,Tachyon 会查找同一任务(接着是同一项目,再接着是名称相似的任务)在相同分辨率下的早期运行记录。分辨率信息来自任务名称、日志路径或日志的前 16 KB(4k、2160p、uhd、3840x2160、ffmpeg scale=)。根据这些运行记录中各进程所需的显存,以及其他应用当前占用的显存,它会判断 应该能运行、比较紧张 或 很可能内存不足(“此任务在 4K 下需要约 15.2 GB 显存;可用显存为 14.0 GB。很可能内存不足,或运行速度非常慢。”),列出关闭后可释放显存的空闲应用,并给出预计时长。如果只有一个宽泛匹配项,或各次运行差异很大,它不会给出结论,以免误报。Hex 确认判断可靠时,会针对每个任务提示一次;面板会在瓶颈下方显示结果;Agent 可使用 preflight 工具。
  • 崩溃诊断。 崩溃报告现在会按可能性排列原因,并给出大致百分比:内存不稳定或 EXPO/XMP、GPU 核心/显存超频、电源或 PSU、过热、驱动超时(TDR)或应用程序错误。规则会综合分析错误检查代码(0x1A、0x124、0x116……)、NVIDIA 驱动重置(nvlddmkm 153/13/14)、GPU 超时报告(LiveKernelEvent 141/117)、WHEA 错误、Kernel-Power 41、应用程序崩溃、停止前的温度、功耗和负载、GPU 的时钟偏移和功耗限制(崩溃前保存),以及内存速度与其额定速度的对比(SMBIOS)。每种原因都会列出相关证据和一条建议;报告只会使用 很可能 或 可能 等措辞,不会给出确定结论,也不会更改任何设置。可在报告视图(证据 ›)和 Hex 的提示中查看,也可使用 diagnose_crash 工具。该工具还可以直接从事件日志和飞行记录器诊断旧崩溃(around: "2026-10-22" 或 "2026-10-26 18:09",按电脑实际停止运行的时间匹配)。如果 GPU 空闲时电脑断电,会指向断电或手动关机,而不是 GPU 功耗;如果内存运行速度低于标准速度、时钟在重启时发生跳变,且 BIOS 启动缓慢,报告会将这些情况列为 BIOS 设置已重置的迹象。Windows 在停止前写入、但时间早于飞行记录器最后一个采样点的记录(EventLog 6008 的“最后运行迹象”、最后一条日志)会标记为过期,不会被当作电脑停止运行的时间。

1.0 版新增,全部根据 Tachyon 已采集的数据在电脑本地完成计算(不额外轮询、不使用云服务或 AI 模型):

  • 飞行记录器。 最近 15 分钟的读数(负载、温度、功耗、显存、时钟、限制因素、占用最高的进程)会写入磁盘上的两个小型固定大小文件,每个约 170 KB。如果 Windows 重启或 Tachyon 被强制关闭,下次启动时会显示一份崩溃报告:用通俗易懂的语言说明最后几分钟发生了什么、峰值是多少、哪个进程占用的显存最多,以及对应的 Windows 事件(Kernel-Power、错误检查、WHEA 硬件错误、NVIDIA 驱动程序重置)。Hex 只会提及一次,并附上 打开报告。菜单中的 导出飞行记录器 会写出 CSV 和 JSON 文件。
  • “为什么这么慢?” 用一句话说明工作受阻的原因:GPU 本身、功耗上限、过热、视频解码器或编码器、单个 CPU 线程、所有 CPU 核心、显存或 PCIe,并标明判断的把握程度(确定、很可能或可能),以及作为依据的读数。只有新结论持续数秒后才会更新,因此不会闪烁。该信息会显示在面板和 Hex 的气泡中。
  • 显存预测。 对显存使用情况按显卡和各个进程分别计算稳健趋势(斜率取中位数,因此单次峰值不会影响结果)。只有趋势稳定,且按当前速度显卡将在 15 分钟内满载时才会发出警告(“照此速度,约 6 分钟后显存将占满(python.exe 正以 25 MB/s 的速度增长)”),并指出占用显存却未使用 GPU 的后台应用。
  • 作业历史。 每个已完成的渲染作业,或持续一分钟及以上的 GPU 忙碌时段,都会保存为一行记录:持续时间、平均和峰值负载、fps、能耗(Wh,由驱动程序的能耗计数器得出)、显存和温度峰值、受限速影响的时长,以及主要限制因素。下次运行相同作业时会与之比较(“比上次慢 14%;GPU 因功耗限制运行了 6 分钟”)。设置 price_per_kwh 即可查看每个作业的成本。
  • 供 AI Agent 使用:tachyon.exe mcp。 一个本地 MCP 服务,提供九个只读工具,因此 Claude Desktop 或 Cursor 等助手可以查询 GPU 正在做什么以及原因。默认关闭,需在设置中启用(或设置 agent_api = true);它通过管道运行,不使用网络。
  • 设置页面。 右键单击小岛、Hex 或面板,然后选择 设置…,也可以使用面板中的齿轮图标。可设置模式、刷新率、项目文件夹、警报阈值、飞行记录器、作业历史、能耗价格和 Agent API,并提供 复制 MCP 配置 按钮。更改会在进行时自动保存并立即生效;只有飞行记录器需要重启。

沿用预览版的功能:

  • 一个便携式 exe,大小约 1.8 MB。 无需安装程序、运行时或 OpenGL,也不会创建自己的 GPU 上下文:它不会唤醒正在测量的 GPU。
  • 极光玻璃效果: 磨砂玻璃搭配柔和、实时变化的色彩场。色调随 GPU 负载变化(从蓝色到紫色),温度升高时会泛起暖色;只有数值变化时才会动效。真正的无边框设计:逐像素透明度、圆角形状和柔和阴影,窗口周围的空白区域可点击穿透至桌面。
  • 三种模式,可从右键菜单切换(并会记住选择):
    • Island: 屏幕顶部的胶囊形窗口,始终置顶,显示负载、温度、VRAM 和功耗。渲染运行时,辉光会像进度条一样填满窗口,并显示任务、帧数和 ETA。
    • Companion (Hex): 桌面上的小型玻璃六边形,带有眼睛。它会呼吸,偶尔眨眼;渲染期间,发光进度线会沿边缘延伸;显卡温度过高时,它会变热(并冒出少许蒸汽);安静十分钟后会进入休眠。点击它会显示一个对话气泡,内含渲染进度、负载和温度、VRAM 占用最高的进程、四项关键数值以及 打开面板。
    • Panel: 完整窗口,大小适配其内容。
  • 实时显示 NVML 提供的所有信息: 负载、温度、VRAM、相对于上限的功耗、核心和内存时钟、风扇、NVENC/NVDEC、PCIe RX/TX、60 秒负载和温度曲线,以及用通俗文字说明的时钟限制因素(功耗上限、温度限制、功耗刹车等)。
  • GPU 进程归因: 显示每个进程及其类别标签(游戏、创意应用、脚本/Python、浏览器、AI/Agent、系统、其他)、启动该进程的程序(python.exe 经由 ComfyUI.exe 启动),以及该进程自身的 SM / ENC / DEC % 和 VRAM。点击 显示全部 前,空闲的桌面进程会被隐藏。类别由 toml 文件中的规则定义。
  • 可选的渲染跟踪: 指定包含渲染日志的文件夹(ffmpeg、tqdm、progress.json、批次和分块日志),即可跟踪进度、fps 和 ETA。
  • 轻量设计: 单线程;没有持续运行的动画计时器(Hex 每绘制一帧才设置一个一次性计时器);窗口隐藏或被全屏应用遮挡时不绘制任何内容;启动后会缩减工作集。1.0 分析使用已采集的样本,记录器每 5 s 写入一次,每 30 s 刷新一次。

这里有什么

路径功能
src/gui.rs小岛和面板:Win32 分层窗口、布局、输入、右键菜单和模式切换
src/gui/companion.rsHex 及其气泡:窗口、命中测试、帧调度、拖动
src/present.rs分层呈现器:通过 UpdateLayeredWindow(ULW_ALPHA) 推送预乘 BGRA DIB
src/aurora.rs、src/glass.rs实时色彩场和软件玻璃效果(色调、光泽、细线、阴影)
src/hex.rs、src/png.rs、res/hex/Hex:内嵌精灵图集、轻量级 inflate/PNG 读取器、动画器、边缘辉光和合成器
src/gui/views.rs洞察区块、崩溃报告和历史记录视图
src/voice.rsHex 在气泡中说的话
src/explain.rs“为什么这么慢?”:基于最近 10 s 采样数据、带滞回的规则
src/forecast.rs按显卡和进程预测显存趋势(Theil-Sen 斜率),以及空闲时占用大量显存的进程
src/recorder.rs、src/report.rs、src/events.rs飞行记录器环形文件、崩溃报告及其导出、通过 EvtQuery 获取 Windows 事件
src/history.rs任务检测、能耗、jobs.jsonl 以及与上次运行的对比
src/insight.rs每个时钟周期基于监视器已有的采样数据,将以上四项关联起来
src/mcp.rs、src/agent.rstachyon.exe mcp 以及 Tachyon 在共享内存中发布的只读状态
src/dw.rs通过原始 COM 使用 DirectWrite 绘制文本,将字形运行缓存为覆盖纹理
src/theme.rs颜色,以及所有文本颜色必须通过的 WCAG 对比度检查
src/nvml.rs运行时加载 NVML;按设备记住不受支持的调用
src/procinfo.rs、src/monitor.rs启动器链、类别规则、进程筛选器、小岛规则、采样器
src/scan.rs、src/parse.rs渲染日志发现和解析器
src/config.rstachyon.toml:默认值、阈值、保存位置和模式,同时保留注释
tests/解析器、发现、配置和合成场景测试;模拟用的 nvml.dll、脚本化 MCP 客户端,以及用于截图和测量的 wine 辅助工具

使用方法

从发布页面下载 tachyon.exe(或 zip 文件),然后双击运行。 该 exe 未经过代码签名,因此 SmartScreen 可能会提示:先点击 More info,再点击 Run anyway。你也可以自行构建:

git clone https://github.com/formray/tachyon.git
cd tachyon
# on Windows (MSVC): no icon unless MinGW windres is on PATH
cargo build --release
# from Linux/macOS, as the releases are built:
rustup target add x86_64-pc-windows-gnu      # plus mingw-w64 for the linker and windres
cargo build --release --target x86_64-pc-windows-gnu

点击小岛可打开面板;点击小岛按钮(或双击顶部栏)可返回。点击 Hex 可打开它的气泡,拖动任意一个即可移动。 在任意位置右键打开菜单:GPU、固定、显示所有进程、 Mode(小岛 / 伴侣 / 面板)、Crash report(崩溃报告)、Job history(任务历史)、 Export flight recorder(导出飞行记录器)和退出。Tachyon 没有任务栏按钮。

在面板中,瓶颈旁的 Why? › 会解释原因,Open report › 会打开崩溃报告,History › 会打开任务列表。在 Hex 的气泡中,Why is it slow? › 会将气泡切换为答案。

设置
设置页面的“常规”选项卡(酒红色、模拟驱动、合成数值)

右键菜单(悬浮岛、Hex 或面板)中的 Settings…,或面板顶部的齿轮图标。共有五个选项卡:

选项卡可更改的内容
常规显示模式(悬浮岛、Hex、面板);Hex 是否播报崩溃报告;Hex 气泡保持打开的时长(5–30 s 或直到点击);刷新率(0.25–2 s);Start with Windows;存在多个 GPU 时要显示哪一个
项目要监视的渲染文件夹(最多 12 个):通过文件夹选择器添加,点击 × 移除
警报温度警报的琥珀色和红色阈值;VRAM 警报的琥珀色和红色阈值(GB);VRAM 预测提前多久发出警报(5–60 min,或关闭)
数据飞行记录器开关及保留时长(分钟);作业历史记录开关;能源价格和货币;Reset settings;数据存放位置以及如何移除 Tachyon
AI AgentAgent API 开关及实时状态、Copy MCP config,以及 Agent 可以和不可以执行的操作

使用 − 和 + 按钮,或将鼠标滚轮悬停在数值上进行调整。每次更改都会经过范围检查、立即保存,并在 Tachyon 运行时应用;只有飞行记录器设置会提示 restart to apply。文件会先写入临时文件,再重命名,因此即使保存过程中发生崩溃,也不会留下不完整的文件;每次进入页面后首次更改时,都会将原文件保留为 tachyon.toml.bak。注释、未知键以及页面未显示的内容都会保留。除 tachyon.toml 外,页面只会在你明确操作时更改一项内容:默认关闭的 Start with Windows 会在“启动”文件夹(shell:startup)中放入指向此 tachyon.exe 的快捷方式,关闭该选项则会移除此快捷方式。不改注册表、不需要管理员权限,也不创建计划任务。点击 Reset settings 后还需再次点击确认;旧文件会保留为 tachyon.toml.bak,窗口位置也会保留。

页面支持键盘操作:按 Tab 和 Shift+Tab 在控件间移动焦点环,按 Space 或 Enter 确认,按 ← 和 → 更改数值、选项卡或分段,按 Ctrl+Tab 切换选项卡,按 Esc 返回。按 Ctrl+, 打开设置,按 Shift+F10 或菜单键打开右键菜单。玻璃背景上的文字颜色对比度至少为 4.5:1(通过 cargo test 检查)。

首次启动时,tachyon.toml 会以默认值写入 exe 所在目录,面板会打开并显示简短提示;文件中不含个人路径,也不会包含渲染文件夹,除非你添加一个。如果 exe 所在文件夹不可写,文件会改存至 %LOCALAPPDATA%\Tachyon\tachyon.toml。省略任何设置项时都会使用默认值;退出时会保存窗口位置和模式,不会改动你的注释。如果文件无法读取(例如拼写错误、类型错误、不是 UTF-8 或大于 1 MB),Tachyon 会将其保留为 tachyon.toml.corrupt-<date>-<time>,使用默认值启动,并在面板中说明情况。使用相同设置文件再次启动 tachyon.exe 时,已运行的实例会置于前台,而不是再打开一个实例。TACHYON_CONFIG=<file> 和 TACHYON_DATA_DIR=<folder> 可让某个副本使用独立的设置和数据,从而并行运行两个实例。

mode = "island"             # "island", "companion" (Hex) or "panel"; unset = from [window] compact
glass = "auto"              # "tint" (works everywhere), "blur" (experimental) or "auto"
poll_ms = 1000              # 250-2000
gpu_index = 0               # which GPU, when there is more than one (Settings > General)
pcie = true                 # PCIe RX/TX (about 20 ms of NVML wait per tick)
process_refresh_secs = 4
process_cmdline = false     # true = also show command lines (off for privacy)
process_hide = ["dwm.exe", "explorer.exe", "…"]   # hidden unless "show all"
render_roots = []           # folders with render logs; empty = no render tracking
blackbox = true             # flight recorder (about 460 KB on disk in total)
blackbox_minutes = 15       # 1-60
history = true              # job history
# price_per_kwh = 0.30      # optional: show the energy cost of each job
currency = "EUR"
agent_api = false           # true = let `tachyon.exe mcp` answer AI agents
hex_announce = true         # Hex opens its bubble once after an unexpected stop
bubble_close_secs = 8       # Hex's bubble closes after this; 0 = only when clicked
vram_forecast_minutes = 15  # warn when VRAM would be full this soon; 0 = off

[gpu]
# util_band_low = 77        # optional: cyan inside the band, amber above it
# util_band_high = 82
temp_amber_c = 80.0         # also when Hex gets warm
temp_red_c = 83.0
vram_amber_mb = 14500.0
vram_red_mb = 15600.0

[window]                    # written for you on exit
always_on_top = true
show_all_processes = false
# island_cx, island_y, x, y, hex_x, hex_y: remembered positions

[[process_rules]]           # first match wins; * wildcards; replaces the built-in list
category = "Game"
color = "#FF5C7A"
names = ["*-win64-shipping.exe"]
parents = ["steam.exe", "epicgameslauncher.exe"]

渲染机器配置示例见 examples/tachyon_render.toml。 4.x 文件中的 glass = true/false 仍可加载(自动/着色);如果不存在 tachyon.toml,也会读取旧名称 rig_monitor.toml。

你的数据与隐私

Tachyon 不含网络代码:没有遥测、更新检查、崩溃上传或账户。它会读取 NVIDIA 驱动、进程列表、你添加的文件夹中的渲染日志,以及(针对崩溃报告)Windows 事件日志,并且只会写入以下内容:

位置内容
exe 旁边的 tachyon.toml(或 %LOCALAPPDATA%\Tachyon 中)你的设置,旁边还会有 .bak 和任何 .corrupt-… 副本
%LOCALAPPDATA%\Tachyon\blackbox\飞行记录器:两个固定大小的读数文件(约 460 KB)
%LOCALAPPDATA%\Tachyon\history\jobs.jsonl已完成的作业(达到 2 MB 时轮替,并保留一个旧文件)
%LOCALAPPDATA%\Tachyon\exports\仅当你选择 导出飞行记录器 时
%LOCALAPPDATA%\Tachyon\logs\仅当 Tachyon 本身崩溃时生成一个简短文本文件:版本、时间、停止位置和错误消息;不含读数
你的启动文件夹仅当启用 随 Windows 启动 时包含 Tachyon.lnk
共享内存 Local\TachyonAgentSnapshottachyon.exe mcp 的实时状态,仅当 Agent API 启用时;只有你的用户账户可以读取

记录器会保留进程名称(最多 24 个字符),不会保留路径或命令行(process_cmdline = true 会在面板中显示命令行,但绝不会存储);历史记录会保留渲染日志中显示的作业名称。将 blackbox = false 或 history = false 设为关闭相应功能。

移除 Tachyon: 关闭 随 Windows 启动(或从 shell:startup 中删除 Tachyon.lnk),退出程序,然后删除 tachyon.exe、其 tachyon.toml 和 %LOCALAPPDATA%\Tachyon 文件夹。不会留下其他内容。

安全模型和问题报告方式:SECURITY.md。

AI Agent(MCP)

打开 设置… → AI agents 并启用 Agent API;它会立即启动。复制 MCP 配置 会将包含此 tachyon.exe 完整路径的客户端条目复制到剪贴板。将其粘贴到你的 MCP 客户端中:Claude Desktop 使用 claude_desktop_config.json,Cursor 使用 .cursor/mcp.json。若不使用此页面,请设置 agent_api = true 并重启 Tachyon。条目如下所示:

{
  "mcpServers": {
    "tachyon": { "command": "C:\\Tools\\Tachyon\\tachyon.exe", "args": ["mcp"] }
  }
}

客户端会启动 tachyon.exe mcp,并通过 stdin 和 stdout 与其通信。工具:get_status、get_bottleneck、get_vram_forecast、get_processes、get_blackbox、get_history、diagnose_crash(1.1)、preflight(1.1)、compare_last_run;全部为只读工具。Tachyon 运行时,这些工具会读取它每两秒发布一次的状态;若 Tachyon 未运行,tachyon mcp 则会自行进行一次简短读取。

搭配 Claude、Codex 和 Grok 使用

首先,在 Tachyon 中启用 Agent API(Settings → AI agents)。然后,针对每个客户端:

  • **Claude Desktop:**从发布页面下载 tachyon-<version>-windows-x64.mcpb 并双击(或选择 Settings → Extensions → Advanced → Install Extension)。系统会要求提供 Tachyon 设置文件:选择你所运行的 Tachyon 对应的 tachyon.toml (位于其 exe 旁边;如果通过 winget 和 Scoop 安装,则位于 %LOCALAPPDATA%\Tachyon\tachyon.toml),这样扩展程序就能看到相同的 Agent API 开关。也可以将 Copy MCP config 条目粘贴到 claude_desktop_config.json 中。
  • Claude Code:claude mcp add tachyon -- "C:\Tools\Tachyon\tachyon.exe" mcp (如果通过 winget 或 Scoop 将 Tachyon 添加到了 PATH 中,也可以直接运行 tachyon mcp)。
  • Codex(CLI、IDE、ChatGPT desktop):codex mcp add tachyon -- tachyon mcp,或者在 ~/.codex/config.toml 中添加:
    [mcp_servers.tachyon]
    command = 'C:\Tools\Tachyon\tachyon.exe'
    args = ["mcp"]
    
  • **Grok Build 和其他 MCP 客户端:**添加一个 stdio 服务,命令为 tachyon.exe,参数为 mcp;大多数客户端都可以直接使用 Copy MCP config JSON。 Grok Build 也能读取 Claude Code 插件和技能。

使用 packaging/skill/tachyon-gpu/SKILL.md 中的技能可以让 Agent 更好地回答:针对不同问题该使用哪个工具、如何解读答案,以及 Agent API 关闭时该如何说明。将 tachyon-gpu 文件夹复制到 ~/.claude/skills/(Claude Code)、 ~/.codex/skills/(Codex)或客户端的技能文件夹中。服务在读取数据的 PC 上运行;云端托管的 Agent 无法访问它。

在控制台中通过 TACHYON_DEBUG=1 运行它,即可查看玻璃模式,以及每 10 个刻度的绘制时间和轮询时间、绘制的帧数、工作集、私有字节数和 CPU 使用情况。

工作原理

采样。 每隔 poll_ms,一个 WM_TIMER 会同步读取 NVML: 利用率、温度、显存、功耗、时钟、风扇、编码器和解码器、 每个周期读取一个方向的 PCIe 数据、时钟事件原因,以及包含各进程利用率的进程列表。某台设备上的调用如果返回 NOT_SUPPORTED,就不会再对该设备发起该调用。

进程。 Toolhelp32 快照会缓存 process_refresh_secs 的时长,并为每个 GPU 进程提供一直追溯到 shell 的父级进程链。首条 names 与进程匹配或 parents 与启动器匹配的规则会设定类别。

绘制。 每个窗口(island、panel、Hex、bubble)都是一个 WS_EX_LAYERED 工具窗口。帧由 CPU 绘制到预乘 BGRA DIB 中(使用 tiny-skia 绘制形状、使用 DirectWrite 绘制文本、每种字符串和字号的字形只栅格化一次),再通过 UpdateLayeredWindow(ULW_ALPHA) 交给 Windows,因此透明像素确实是透明的。静态图层会一直保留,直到其指纹发生变化;每次轮询只绘制实时数值,没有变化时则不会呈现任何内容。命中测试遵循 alpha:阴影和形状周围的空白区域都允许点击穿透。

Hex 是一个精灵图集(包含三张 8 位掩码,分别用于 1x、1.5x 和 2x,约 140 KB),嵌入在 exe 中,并由内置的小型 PNG 读取器按当前 DPI 解码。状态脚本(idle、render、hot、sleepy)通过滞回机制选择帧;进度边缘采用带解析光晕的距离场描边,并按每 0.1 % 的进度缓存。每绘制一帧,都会为其停留时间设置一个单次计时器(0.33 s 到 2 s;只有眨眼和过渡时才使用 12 fps);Hex 在隐藏时或全屏应用位于其所在显示器前方时会暂停。

洞察。 每次采样后都会将刚取得的样本交给洞察引擎;引擎不会另外进行轮询。瓶颈规则会检查最近 10 s 的数据,且新结论必须连续四次评估胜出。VRAM 趋势是根据两分钟内的数据计算的 Theil-Sen 斜率。记录器会将每秒数据打包成一条 192 字节的校验记录,写入两个预分配的环形文件,并在每个会话中交替使用;session.json 会标明上一个会话是否正常结束。下次启动时,如果会话未正常结束,则会结合启动时间(GetTickCount64)判断应用是否被强制结束后重启,并通过 EvtQuery 获取该时间段内的 System 事件。作业数据以总和和峰值的形式累积,因此长时间渲染也只需几百字节。一次只允许一个实例记录(tachyon.lock)。

实测

Windows 11、RTX 5080

一台 PC:Windows 11 Pro(build 26300)、GeForce RTX 5080 16 GB、驱动程序 617.42、Ryzen 9 9950X(32 个线程)、64 GB RAM。Tachyon 以 Hex(伴随)模式运行,通过外部 Get-Process 测量(统计时间段内的 CPU 时间、工作集和专用字节);测量期间 GPU 视频渲染运行了 87 s 和 143 s(GPU 占用率为 72–84 %,功耗约为 220–260 W),之后又在 GPU 空闲时进行了测量。渲染数据取自添加 Settings 页面之前的 1.0 构建版本;空闲和 MCP 数据来自此版本。

Windows 11、RTX 5080CPU(全部 32 个线程)CPU(单个核心)工作集专用字节
Hex,GPU 渲染中(每 5 s 采样一次,共 158 次)0.05 %(峰值 0.17 %)约 1.6 %32 MB(峰值 34)38 MB
Hex,空闲(60 s,Agent API 已开启)0.025 %0.8 %25 MB33 MB
tachyon.exe mcp,请求间隔期间0 %0 %9 MB1.7 MB

从日志中提取了两次渲染作业并保存到作业历史记录中;面板上的 VRAM 数值与 nvidia-smi 相符(1252 对 1254 MiB,其中 326 MiB 为驱动程序预留)。同一台 PC 上的 MCP 客户端在启动 tachyon.exe mcp 后 9 ms 收到 initialize 的响应;Tachyon 运行时,每个工具的响应时间为 0.05–0.4 ms(中位数;首次 get_blackbox 最多需要 8.5 ms,因为它会读取记录器文件),温度和功耗也与 nvidia-smi 相符(35 °C、29.6 对 29.0 W)。

Linux 上的 Wine

这些数据来自 Linux 上搭配伪造 nvml.dll 的 wine 10(tests/fake_nvml_v4.c)、 Xvfb 和 picom 合成器;每次运行使用相同的伪造进程, 在 22 秒预热后测量 30 秒(tests/measure.sh)。预览版 5.1.1 在同一会话中与 1.0 交替测量。1.0 包含飞行记录器、作业历史和洞察;Agent API 已关闭。

Wine 10,伪造驱动1.0 CPU(单核)1.0 内存5.1.1 CPU5.1.1 内存
Island,空闲0.33 %34 MB0.33 %33 MB
Companion(Hex),空闲0.40 %34 MB0.27 %34 MB
面板,空闲1.57 %45 MB1.13 %42 MB
Island,渲染中0.53 %34 MB0.53 %33 MB
Companion,渲染中0.43 %35 MB0.40 %34 MB
面板,渲染中1.47 %46 MB1.27 %43 MB
Companion,高负载(3 fps 循环)0.57 %34 MB

可执行文件:1,803,776 字节(5.1.1:1,423,872)。不同运行的单次 30 秒测量窗口相差约 ±0.1 个百分点。面板的开销略高于 5.1.1,因为它更高且会显示洞察;Island 和 Hex 则与之前大致相同。大部分常驻内存来自 wine 本身,而 wine 既不会缩减工作集,也不会报告专用字节数,因此这些数据反映的是不同模式和版本之间的对比,而非 Windows 上的显示结果。

设置页面关闭时不会产生任何开销:它不保留状态,也不会启动计时器。使用相同方法与不含设置页面的 1.0 版本交替测量,面板空闲时的结果为 1.50–2.23 %,而对照版本为 1.37–1.93 %;Island 空闲时为 0.40 %,对照版本为 0.40 %;Hex 空闲时为 0.40 %,对照版本为 0.43 %;常驻内存多出 1–2 MB (可执行文件略大:1,846,272 字节)。

屏幕截图

这些截图是在 wine 下使用伪造驱动和程序生成的 壁纸(tests/make_wallpaper.py)拍摄的,因此所有 名称和值都是合成的。picom 混合图层窗口后,对 X 根窗口进行截取,因此图中显示的是真实的逐像素 Alpha 值。

崩溃报告来自一个预置数据的会话(tests/demo_data.rs);历史记录显示了演示作业的两次预置运行,以及一次在 wine 下实时记录的 GPU 会话。

Hex:瓶颈在视频解码器崩溃报告
Hex 中的 VRAM 预测警告作业历史
渲染中的 island带气泡提示的 Hex
1.1:崩溃报告中的可能原因1.1:背后的证据
1.1:面板中的渲染前检查1.1:作业因内存不足而中断前,Hex 会发出警告
1.1:Hex 指出可能原因
设置:常规设置:AI Agent,Agent API 已开启

已知限制

  • 仅在一台 Windows 11 PC(RTX 5080)上检查过实时读数、作业检测、 历史记录和 MCP 服务;尚未测试 Windows 10 和其他显卡。 真实重启后的崩溃报告、Windows 事件及重启检测仍仅用合成数据测试过(wine 无法查询 事件日志)。
  • **崩溃报告:**它可以说明何时发生崩溃以及当时正在运行什么,但无法证明 原因。正常关机不算崩溃;如果在最后 30 s 内断电,可能会丢失这段时间的数据。
  • 瓶颈和预测是基于驱动读数的规则,并非分析器: 可能表示推测。WDDM 下通常无法获取每个进程的 VRAM 数据,此时预测仅针对显卡。
  • **崩溃诊断(1.1)**是加权规则列表,并非调试器:百分比表示证据的大致占比, RAM 超频和 GPU 超频看起来可能相似(两者都会导致驱动重置和内存错误检查)。 RAM 速度来自 SMBIOS,某些主板可能无法提供;时钟偏移来自 NVML,只有 Tachyon 在崩溃前运行时才已知(较早的报告会在不使用这些数据的情况下重新分析)。 应用程序日志事件(GPU 超时报告、应用崩溃)需要能够读取 Application 日志。
  • **预渲染检查(1.1)**仅从 1.1 记录的作业中学习(进程自身的 VRAM);1.0 的 记录只有显卡峰值,因此置信度较低。作业进程指作业期间 GPU 使用率至少达到 5% 的进程, 因此同时运行的其他繁忙应用也会被计入该作业。无法获取每个进程的 VRAM 数据时(WDDM 下很常见), 会改用显卡峰值减去开始时的数值。分辨率仅从名称和日志文本中获取。
  • 仅支持 NVIDIA,Windows 10 1607+ 或 11,64 位。
  • **没有真正的背景模糊效果:**玻璃效果使用有色调的替代效果。 glass = "blur" 是实验性功能(可能出现锯齿边缘或模糊矩形),因此 auto 仍使用色调效果。
  • **气泡:**按 Esc 不会关闭气泡(它不会获取键盘焦点):点击 Hex 或气泡,或等待 8 s(可在设置中更改)。它会淡入并滑入,而非缩放出现。
  • 全屏暂停(游戏或视频占满显示器时,Hex、岛状界面和面板停止绘制;读数仍会继续)尚未在 Windows 上测试。
  • **显示器变更:**窗口所在的显示器被拔掉后,窗口会回到最近的屏幕;仅通过单元测试验证过(wine 无法拔掉显示器)。
  • **带可切换显卡的笔记本(Optimus):**每秒读取驱动可能会让 NVIDIA GPU 在电池供电时保持唤醒。设置 poll_ms = 2000,或在电池供电时退出 Tachyon;1.1 中没有自动暂停功能。
  • 目前仅支持英语。
  • **未签名的 exe:**Windows SmartScreen 首次启动时可能会提示 Windows 已保护你的电脑;检查文件与 SHA256SUMS.txt 的校验值,或运行 gh attestation verify tachyon.exe --repo formray/tachyon 后,选择 更多信息 → 仍要运行。
  • **点击穿透:**alpha 为 96/255 或更高的光环像素会接收点击;阴影会让点击穿透(HTTRANSPARENT)。
  • **没有托盘图标,也没有任务栏按钮:**请使用岛状界面、Hex 或右键菜单。
  • 等宽数字依赖 Segoe UI;使用其他字体时,数字可能略有偏移。
  • 高温状态下,只要显卡温度达到或高于 temp_amber_c,就会以 3 fps 重绘。
  • 面板会根据内容调整大小;无法调整大小。
  • VRAM 数值以 MiB(1024 × 1024 字节)为单位,但标为 MB;“已用”与 nvidia-smi 显示的数值相同:不包括驱动为自身预留的内存(16 GB 显卡上约为 300 MiB)。不支持 nvmlDeviceGetMemoryInfo_v2 的驱动只会报告已用 + 预留,因此 Tachyon 读取到的数值会偏高。
  • **每个进程的 VRAM:**在 WDDM 下,驱动通常不会报告该数据(“—”)。 每个进程的 SM/ENC/DEC 数据需要驱动支持。

许可证和来源

  • Tachyon:MIT OR Apache-2.0(LICENSE-MIT, LICENSE-APACHE),© 2026 Formray。
  • 依赖项(均采用 MIT 和/或 Apache-2.0 许可证,tiny-skia 采用 BSD-3-Clause): windows-sys、tiny-skia、libloading、serde、serde_json、toml、toml_edit、chrono。
  • NVML(nvml.dll)随 NVIDIA 驱动程序一同提供;它在运行时加载, 不会再分发。
  • 不含来自 GPL 或 AGPL 项目的代码。
  • 徽标、Hex 角色及其图集均为本仓库绘制; 徽标字样使用 Inter(SIL Open Font License),并转换为轮廓。

贡献

目前最有帮助的贡献是真实的 Windows 数据,以及真实崩溃的报告。请参阅 CONTRIBUTING:始终只读,先轻量处理,每项更改都附上测试或 截图。


由 Formray 制作。以匠心打造技术。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。