is there a workshop mode designed to quickly build the cache of all the 200k+ shaders in OW? this would make real gameplay smoother on many machines.
Can you a bit more specify? CPU cache? GPU cache? Server or Client cache? And unfortunately no the Workshop is designed in a way for us to don’t take any usages of memory managment or pre/post-loading assets let alone I/O, its all high-level and GCed (dynamically allocated) no move semantics possible. The only thing we can do is create visual effects or Dummy Bots and destroy them if we don’t need them any more via workshop scripts.
Client GPU cache I guess.
Does it make sense though? I mean, if the graphics card has enough cache to hold all the shaders it should be able to handle the normal gameplay without preloading, or did I miss something?
Yeah thats what i am curious as well and as the author wrote it and stay it like that without any more details, it makes currently no sense. Cause as you mentioned the GPU should have enough cache to run the game as smooth as possible, its end user dependent how smooth it will run for anyone alone. Its hard to optimize that for everyone even on older architectures and hardware at runtime with the workshop or simple spoken impossible right now, due workshop is also not a shader language :D, So if there is any optimization it comes or should comes from Blizzard’s engine backend from the game itself, lastly we have no access to GUID objects what every it be to manipulate or read from, well their might be some dumping tools to recieve them but we wont be able to fetch the data back into the game especially back into custom games and workshop. Maybe a hint to a map editor could provide that but it seems to be light years of sight.
Even you build entire cache, your GPU will cleanup all unused shaders, for optimization reason, if you don’t need all shaders don’t need to load or use them.
Like if you try preload all heroes in workshop, if you left match all game cache will be release since neither half of heroes textures is begin used.
Overwatch can track all files quickly because the indexes files, that tell where is file position inside big data file, and its length.