WinSCP supports caching directory content. The caching can be configured per-session. To configure it see Directories page of Advanced Site Settings dialog.
There are two caches. The first cache stores file listing of already visited directories. The cache is enabled by default and can be disabled by unticking Cache visited remote directories checkbox. The cache is temporary, i.e. not preserved between sessions.
The second cache stores information useful for changing directories, like existence of particular directory and canonical paths (useful for SFTP protocol only, as SFTP servers need not follow Unix-style path handling). The cache is enabled by default and can be disabled by unticking the Cache directory changes checkbox. The cache can be permanent (enabled by default), i.e. preserved between sessions. It is stored into configuration storage. Note that the cache is specific for a specific user/host. So you may need to disable it, if you are running two servers on the same host with different path semantics. For SCP protocol the cache has no benefit without Cache visited remote directories being turned on as well.
When both caches are enabled, the already visited directory can be opened without any data exchange with the server, i.e. immediately.
The directory cache is updated whenever you perform any operation on the directory, like file transfer. If the directory is changed externally (not from WinSCP), you may use Refresh command to reload directory content and update the cache. Note that running remote command purges the cache for the current directory only. If your command modifies other directories too, you need to refresh them manually.
If you want to clear the whole cache for a particular session, use Commands > Clear Caches command. In the latest beta version, you can clear all caches on Cleanup application data dialog.