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
The Steam client may do it's job, but holy moly, peek just a little under the surface and it's a absolutely horribly designed piece of software.
You ask Steam to nuke it's download cache. Steam did exactly that.
It says that it might solve some issues with downloading.
What is the issue here?
(You'd think that option would clear out the temp folders that store downloaded game chunks. It shouldn't delete art assets.)
The topic of this thread is: why did Valve decide to obfuscate stored art assets in such a nasty and seemingly senseless way? It was much better before!
Incidentally, it also makes the client slower, because now it has to read/parse/debinarify some file somewhere just to get the path to the asset.
My goodness, do I ever loathe this POS software. I hate not being able to get rid of it without losing access to my library.
Gaben, fire your software engineers. They are incompetent.
because 99.99% of steam users do not care in which folders the client stores some cached data, as it has not the slightest impact on using steam.
Because they wanted to.
If this path is stored in a binary file - as I suspect it is, to prevent snooping - it has to load in this file, debinarify it, and then parse it to get the path.
Every time it needs to display this asset.
It's nonsensical and wasteful.
It makes Steam slower.
And unless you're playing a two-decade old mouldy potato, no one is going to notice any such potential slow down.
And so the enshittification continues, bit by bit.
Click on the first game in your list.
Now, step down by pressing the 'arrow down' key.
Tap it rapidly.
Steam completely chokes here trying to load all the assets here and there.
It feels very laggy, taking about a full second to load a page.
It doesn't even employ proper threading; it won't display the logo or banner (even if locally cached) until all the HTML fluff is done.
This should be instant.
The Steam client is a terrible piece of software. Stop trying to defend it. You are arguing against your own interests.
You had 2 points, I asked about the first one and then commented on the second one.
For what reason would you need to be in those folders?
Modern day CPUs can do what? millions to billions of calculations per second so Steam going to another directory isn't going to make it any slower.
I'm sorry you appear to have lacking hardware or a similarly poor internet connection, but Steam is loading the assets just fine for me when doing that -- even though there is no real reasonable use case for even needing to do that.
If I had to guess, it's probably related to when they started accepting / requiring higher-resolution artwork for library assets, with the SHA1 hash of the originally submitted asset used to tag all the things which their backend pipeline generates from that asset.
For example, this library hero art:
https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/3674060/ee25c37e61184a35ae5e814aadf22fff98d14cbc/library_hero_2x.jpg
https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/3674060/ee25c37e61184a35ae5e814aadf22fff98d14cbc/library_hero.jpg
https://shared.fastly.steamstatic.com/store_item_assets/steam/apps/3674060/ee25c37e61184a35ae5e814aadf22fff98d14cbc/library_hero_blur.jpg
All clearly derived from the same source image.
I'm virtually certain it's not to prevent snooping. For one, if you actually wanted to prevent snooping, or at least make it more difficult, there's lots of ways you could easily obfuscate the data. Encryption, for example. Or heck, just XOR the data with a fixed bit-pattern.
Also, the binary VDF format isn't complicated; you can figure it out easily with a hex editor and some patience, and people did that years ago. Pretty sure I did it myself at one point. Because lots of people have done this before, there's plenty of code out there for parsing VDF files, e.g. https://www.npmjs.com/package/binary-vdf-parser Other people have written similar code for other languages.
People bothered to do this years ago because Steam's always* kept the metadata it needs to work in binary VDF files, like the appinfo.vdf file that stores app metadata. The mapping from asset type to path is one of the things stored in that metadata, so is one of the things tracked by SteamDB**, see e.g.: https://steamdb.info/app/3674060/info/
Anyway: I would be extremely surprised if Steam was reading and parsing these files every time it needed any of this data. It is almost certainly reading it once at start-up and caching the result in memory.
I think a fair summary is that, at most, they've gone from hardcoded paths to paths which are controlled by the same metadata which governs things like: what name is displayed for the game in the library, what review score it has for the purposes of library sorting, what beta branches are available, what the current version of the game content is, etc.
* It's actually not always. Steam used to keep everything in a file called "clientregistry.blob", way back in the day; but that was all an older iteration of the Steam system.
** Although SteamDB doesn't work by parsing appinfo.vdf; instead they talk to the Steam backend directly using a reverse-engineered implementation of the protocol the Steam client uses to talk to the backend to read the metadata from a system called PICS.
I've just done what you suggested, I tapped down each of my games in my library (over 9000 of them) and I had no problems at all.
You say you have a ghetto PC, so do you mind sharing the specs of your system because from this end it seems that Steam is working fine and the problem is more than likely your end.
16Gb ram
SSD
10/Mb sec internet connection, wired (not wifi)
Stop trying to gaslight. The problem is that Steam is designed all wrong, not my specs. It is a friggin' desktop app. A very bad one.
Thank you. This is a reply that can be worked with.
Ultimately, Steam is designed so badly it barely benefits from storing resources locally. Open a page. It won't display the header/logo until after it loaded in all the HTML fluff in the lower half.
What it should do is display this straight away, and load the rest of the HTML in the background - and cancel it when you select another game. It won't allow you to do that, the UI is basically frozen until it's done loading.