DMA 速度慢?DMA 卡读取太慢的解决办法
DMA 卡读取慢的原因和解决办法。先看正常的速度测试结果是什么样,再依次检查线、USB 口、PCIe 插槽、电源设置、软件和固件。
指南phantom · 1 次阅读
DMA 卡慢,几乎从来都不是卡坏了。问题出在它和副机之间的连接上:线、USB 口、PCIe 插槽,或者某个设置。先跑一遍速度测试,对照下面的数字,然后按顺序往下排查。大多数人前三节就能解决。
正常的速度是什么样
我们的 GODLIKE 100T 和大多数 DMA 卡一样,通过一颗 USB 3 芯片 FTDI FT601 传数据。这条连接的上限大约是 200 MB/s。换更快的 USB 口也不会提高。
MewTools 的速度测试会跑两项测试。速度测试统计卡每秒能完成多少次小读取,吞吐量测试以 MB/s 测量大块读取。两项都要达到 ACCEPTABLE 或更好,总体结果为 PASS。下面是我们刷写指南里的两个结果:
| 通过 | 未通过 | |
|---|---|---|
| Total Read Speed | 每秒 4,562 次读取 | 每秒 3,217 次读取 |
| Average Read | 213 µs | 305 µs |
| Slowest Read | 579 µs | 20,785 µs |
| Throughput | 144 MB/s | 31 MB/s |
- 每秒读取次数最重要。
你的软件读的是很多小块内存,而不是大块数据。每秒读取次数少,ESP 就会跟不上游戏。 - Slowest Read 特别大说明连接在掉线。
一次读取要 20 ms,说明连接卡住了。几乎每次都是线或者 USB 口的问题。 - 吞吐量在 20 到 45 MB/s 左右就是 USB 2 的速度。
卡仍然能识别、也能用,只是慢太多了。链路上有东西是 USB 2:线、USB 口或者集线器。 - 也要看失败的读取。
像通过的那次测试一样,失败 1% 到 2% 是正常的。速度很快但失败页很多,并不是好结果,因为失败的读取比真正的读取返回得更快。
先冷启动
普通重启或者从睡眠中唤醒,可能会让卡卡在半死不活的状态。它还能响应,但很差。把主机关机,拔掉机箱背后的电源线,按住电源键 15 秒,然后开机再测一次。先冷启动主机里有具体步骤。在开游戏之前测试。
1. 线
- 用盒子里附带的线。
很多 USB-C 线其实是充电线,里面是 USB 2 的线路。插头看起来一样,所以光看是分辨不出来的。 - 不要用延长线。
每多一个接头,就多一个可能断开连接的地方。 - 把 USB-C 插头翻过来插。
在卡那一端翻面再测一次。它能解决接触不良的次数比你想的多。 - 用数据口,不是 JTAG。
JTAG 只用来刷写。如果你的卡上没有标注,数据口是离金手指最远的那个。
2. 副机上的 USB 口
- 主板背面的 USB 3 或更快的接口。
前面板和顶部的接口要经过机箱里的一根线,可能导致掉线。它们也能用,但背面更可靠。千万不要用集线器。 - 给卡单独一组接口。
背面的接口分属几个 USB 控制器。摄像头、采集卡或者其他一直在传数据的设备,如果和卡共用一个控制器,就会造成卡顿。把卡换到另一组背面接口上。 - 设备管理器看不出速度。
即使连接跑在 USB 2 上,它也会显示 FTDI FT601 USB 3.0 Bridge Device。要知道速度,得靠速度测试。 - 扩展 USB 卡。
有些便宜的扩展控制器比主板上的接口还差。如果你在用,换成主板上的接口试试。
3. 主机上的 PCIe 插槽
- 短的 x1 插槽就够了。
像我们这样的 DMA 卡只用一条 PCIe 通道。插在更大的插槽里并不会更快。稳定的插槽才会。 - 注意共享通道。
有些插槽和 M.2 接口共享通道,M.2 上装了硬盘时可能会掉线或者运行不正常。到底该选哪个插槽有详细说明。 - 插槽速度设置。
把插槽保持在你主板提供的最快设置上。只有卡不稳定或者识别不到时,才一代一代往下调。Gen1 的余量更小,所以不要为了保险而调低。PCIe 插槽速度告诉你在哪里设置。 - 不要用转接线。
把卡直接插在插槽上。便宜或者很长的转接线正是这类问题的常见原因。 - 其他 PCIe 设备。
它们可能让速度不稳定。在 BIOS 里关掉不用的板载设备,比如你用网线的话就关掉 Wi-Fi。
Above 4G decoding 没有影响,保持原样就行。
4. 副机上的电源设置
Windows 会让 USB 口进入睡眠来省电,而卡不喜欢这样。
然后在玩的时候,把副机上不需要的程序都关掉。CPU 一直 100% 的副机跟不上读取。
5. 软件方面
- 驱动。
用 MewTools 里的数据驱动:Drivers & Flashing,然后 Install DATA Driver (FTDI FTD3XX)。不要用驱动下载网站上的。 - 内存映射。
加载慢和读取掉线,可能是因为缺少内存映射或者映射过旧。什么是内存映射讲了什么时候需要它。 - "TINY PCIe TLP algorithm auto-selected"。
大多数 DMA 软件都基于 LeechCore。它打印出这句话时,说明已经退回到非常小的读取包,速度会慢很多。这通常说明连接或固件有问题,所以先把上面几节检查一遍,然后在工单里告诉我们。 - 软件更新。
如果你的速度在软件更新当天就掉了,告诉你的软件的客服。以前就有一个有问题的 LeechCore 版本把读取搞坏过。如果你用的是 Blurred,不要自己改它的连接设置。到他们的 Discord 问 Blurred。
6. 固件
如果换了每一根线、每一个背面接口、每一个插槽,速度测试都通不过,那就值得看看固件了。开一个工单,把截图发给我们。不要为了测试去刷从别处弄来的固件。我们的文件是按你的卡的 DNA ID 做的,只能在你的卡上运行。
还是慢?把这些发给我们
在我们的 Discord 开一个工单,附上:
还没买,想知道你的电脑速度够不够?把配置发到支持论坛。
这篇有帮助吗?
无需账户。这能告诉我们该多写哪些内容。
