Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Taken from the Changelogs:
http://store.steampowered.com/news/12181/
Either the documentation on this feature is simply wrong or it is not working properly. Maybe even both.
I am installing Payday 2 right now and the download is extremely slow. It is stuttering and only downloading chunks which are several megabytes in size.
Now it is not a normal behaviour to stop one process accessing the drive completely. Operating Systems and the drive itself will not do that on their own.
I can only explain that in such a way that Steam thinks (!) the drive is busy and therefore stops the download. This makes no sense at all since the drive will handle the load if you only let it get through. In my case it is not even a single drive but a RAID behind a proper hardware RAID controller. It will easily handle the download and the preparation of the game files, i.e. preparing images of the game files / allocating disk space and extracting the already downloaded data, concurrently.
So, if you are implementing this feature then, for gods sake, do it right or don't do it at all. I don't know what the idea behind it was exactly. I can only guess this is some sort of protection for users who are that familar with processes happening in the background while they are doing certain things with their machine.
Sadly it interferes badly with the overall performance if you have faster storage and therefore compromises user experience quite a lot because it makes the whole process much longer than it would normally be.
This is a system which processes data and not a production line. You don't want work or delieveries to be done just in time like you do in certain factories and you don't want it to be done one after the other either. Work can be done concurrently. Downloading should continue all the way through the process. This is the bottle neck, why would you make it artificially worse than it already is? You can store downloaded data which can't be used at the moment so it is already available when it is needed
How exactly does Steam do the measurement if a device is busy or not?
Also please note that I was doing the initial installation of the game. Steam is allocating disk space for the entire game in advance without having the actual data to fill this space. While it is doing that it could easily download the data for later. But it thinks the device it busy while it isn't. At least not in a way it couldn't store the downloaded data concurrently while doing the allocation. Constant downloading only continues when the allocation is finished.
I can't see the advantages of this system. Is Valve deliberately wasting performance to favor users with machines with slow storage to keep their machines a little bit more usable while installing a game?
It's a similar principle to a TCP congestion control algorithm; you can't actually measure the traffic on the Internet, but you can infer that it's busy from the packet loss, and back-off your sending rate appropriately.
Absolutely you could have the download carry on irrespective of what the disk's write queue looks like. Just imagine a disk write queue that has infinite capacity! Only problem with that is: it always takes the same amount of time to write X items. It doesn't matter when they were put into the queue, it's going to take the same amount of time to write.
You save nothing in time by piling up the data in RAM beforehand, and you suffer the cost of squandering a system resource (physical RAM). Even worse, there's the possibility of the OS paging out some of the data you have stockpiled, in which case it would be flushed to disk by the OS, and then when you wanted to write it to disk the OS would have to read it back in from disk before you could write it back in, a pointless round-trip, which really would hurt performance.
It's certainly unusual for this to happen during installs, I must admit, but it's certainly not a deliberate attempt to waste performance.