Disk reads are non-cached and use too small block size
On Windows, VLC uses non-cached read operations when reading from disk. This disables Windows cache optimizations (read-ahead etc.) and reduces performance.
Read blocks are also too small which is a critical error when non-cached reads are used. Procmon shows that when playing a H.264 video, VLC reads only in 1.5KB and 4KB blocks. This seriously affects initial buffering and seeking performance and may cause frame drops.
For example, non-cached reading of 1MB of data in 1KB blocks can take up to several seconds.