MEWDMA
跳到内容
返回 Learn

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 Read213 µs305 µs
Slowest Read579 µs20,785 µs
Throughput144 MB/s31 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 开一个工单,附上:

还没买,想知道你的电脑速度够不够?把配置发到支持论坛。

我们漏了什么吗?

告诉我们你想找却没找到的内容,或我们弄错的地方,我们会跟进。 无需账户。

这篇有帮助吗?

无需账户。这能告诉我们该多写哪些内容。