Aggressively Cache Commonly Used Assets

I’m using Studio on crappy internet today because everyone on my block is using Zoom.

All these assets are fetched every single time I launch Test Solo:

Test solo would probably happen a lot quicker if these were fetched from my local disk, which is two SSDs in RAID0 instead of over my network which is a hamster running through a wire with a tiny backpack strapped to it. Even with fast internet, Studio probably only makes X concurrent requests. Some of these requests seem to be blocking, based on the variable amount of time it takes Play Solo to launch.

This level file is almost empty and most of these assets are related to the basic R15 character and its animations.

If these aren’t cached locally by the client either, not caching these is probably generating several billion requests/month.

18 Likes

We already cache assets on disk. The requests that you see going out in Studio are necessary because we need to instantaneously reflect moderation status. They don’t go out one at a time (they go out in large batches), and the request only returns the actual CDN URL - the contents of that is cached on disk.

The fact that you see errors immediately reflected upon launch is thus by design. The same would happen if these assets were moderated.

2 Likes

If I’m running locally, maybe the moderation status of these assets don’t matter?

Why are we checking the moderation status of Roblox-authored meshes and animations?

Maybe do this in the background? Maybe only do it every hour? I don’t need up-to-the-second moderation status on assets when I’m testing.

Something about my network is making Play Solo take a really long time. Maybe it has nothing to do with these assets. Maybe there are other assets that Studio is fetching?

3 Likes

We do this in background under some circumstances but not in Studio; I don’t recall the original reasoning - maybe there’s more to this than moderation, not 100% sure.

There’s a few end points that Play Solo needs to hit that aren’t cached or cacheable (unrelated to assets). If Play Solo itself takes a while to start these would be why - asset fetches in our system are basically never fully blocking.

Whatever it’s fetching I’m sure the copy from 5 minutes ago would be fine and that should be cached.

I’m waiting 90 seconds between clicking Play Solo and having my character fully load.

@zeuxcg I’m not being a whiny. This is what it looks like. I’m trying to debug stupid Lua scripting bugs. Every time I press run it costs 90 seconds. I don’t think it has to work this way.

The failed asset loads come in one at a time, so I’m not totally convinced that they are being batched.

I have a Roblox toy file with ~70 characters in it. That one takes forever to load even on a fast line and it happens piecemeal, more evidence against the occurrence of batching. I can send it along if you want. Everything should be cached locally. I even want the intermediate mesh geometry and character compositing cached locally. Delays due to moderation is the tail wagging the dog. That’s a presentation layer problem not a developer problem.

5 Likes

I’d just like to tack on that my housemates and I have been having similar connectivity issues with Roblox. This has made working in Roblox Studio extremely difficult at times. The results seem similar to what Shedletsky is experiencing, but are sporadic throughout the day. Also, it is not an internet issue in general for us, because we are able to connect to other external sites without trouble during our Roblox’s repeated connection failures.

3 Likes