Network Transfer Speeds

Hi All,

When transferring files by LAN using Dopus i get ~70MB/s. When transferring files using Windows Explorer i get ~119MB/s. Can someone explain why this is happening?


It's a very complicated topic, but boils down to a few things:

  • Different software reports speeds, and when things complete, in different ways. To compare like-for-like, it's important to look at a network usage graph and time how long it takes between the start and end of the data being transferred (which may last longer than the progress dialog being displayed in some programs).

  • Buffer sizes can have huge effects with some network drivers/hardware. Playing around with the buffer settings in Preferences / Miscellaneous / Advanced can improve performance in some cases. (Increasing them usually helps with network issues.) Changing the configuration of the network (e.g. MTU settings etc.) can also help, but is outside my area of expertise.

  • Microsoft knew about speed issues in some situations in Windows and did not fix them at a low level. Instead, they optimised a high-level API which is only useful for copying simple files from one place to another. The fixed File Explorer, rather than the OS itself, because File Explorer is the only thing that reports speed and the only thing anyone notices. (The API, CopyFileEx, doesn't work with archives, FTP sites, or other virtual sources. It's no good for reading files into memory or saving memory to disk.) Essentially, every single piece of software on your system, other than things using CopyFileEx, that is accessing things over the network may be the same speed, and you just don't notice it because hardly anything tells you how quickly it's reading and writing data.)

Opus doesn't currently use CopyFileEx, because it isn't general-purpose enough to cover all the things Opus does. You can make Opus copy files using it with a special button or hotkey, however:

In the future, we'll be changing Opus to use CopyFileEx automatically in situations where it can be used, and falling back on lower-level APIs where needed.


Windows is just Sweet & Sour.

Again, thanks for the input Leo. Much appreciated :grinning:.