On-disk Canvas caching

Until I saw you were replying to JohannesDau, I was like

lmao

@Plokit Yeah, sorry. I can be a bit awkward with phrasing.

If you highlight people’s replies, you’ll see a little “quote” button pop up. I like to use that if I’m not replying to the most recent reply on the topic.

But it was just funny because that exact line in the gif popped into my head lol

If you all could turn down the “You don’t know what you’re talking about” dial that’d be nice. If I read something that makes me learn something new I do realize myself that I’ve been wrong.

URLs are just the location of the resource, upload and download depend on the context. What I mean is:

“Posts” is an upload. But when uploading from URL, not from your network. I’ve not monitored my network yet when uploading from URL so I might be wrong.

I do indeed regret having chosen to drop my little comment about that in this thread, seeing how far that escalated so far.

In the hypothetical case of you not reuploading used images to a hoster like imgur, you likely are. This hypothetical case was the context I originally posted in. @Heavysteam then mentioned how it’s actually work to upload files, especially with low bandwidth.

Also I wonder if the workshop playermodel cache system can be used for canvas caching, I imagine there’s a chance it’s practically the same code as it’s a similar kind of task but I don’t know the implementation.

Incorrect. Imgur is actually downloading that image from your linked URL. You upload from a client, and download from a host (most URL’s being hosts).

In this instance “posts” is actually a little process. The process being: Imgur downloads image from your chosen URL, then uploads it to the hosting section of their website. Once it’s downloaded from your chosen URL though, it less of a upload to their hosting section, and more of a transfer within their system.

(I work in IT so I get a bit technical with the wording. Gets my OCD going)

Did I say anything different? From the client side (imgur servers here) it’s a download so imgur downloads from the host but not you.

Well I used the word “upload” more as slang there. If you read the next sentence, you’d see that.

Imgur downloads it from the URL, then moves (technically not uploads) it to the hosting section of their website, where you then input the link into TU where you as a client download the image.

So as to your question, yes, you did say something different. You said “posts” is an upload. It is not an upload. Imgur downloads the images to their hosting service, and provides you with a link. You apply the link to the canvas in TU. Your computer (the client) downloads the images and displays it on the canvas.

All you’re doing when downloading an image from a URL to Imgur is adding another step in getting that image down to your computer. But it’s a good idea if you want to make sure the image isn’t moved or removed from it’s original location. On Imgur, it will stay there, regardless of if the original source has removed it. But it’s still a download the whole way down to your computer.


So returning to the original subject, OP’s connection is slow. Regardless of upload or download. So they would benefit from caching either way. Posting a linked image to Imgur doesn’t help this problem at all. In fact, it’s almost entirely irrelevant. OP never complained about Imgur upload speeds, they complained about canvas image download speeds.

1 Like

And even less so about the speed, but more the fact that it has to redownload nearly 100mb worth of canvas images EVERY TIME THE CONDO LOADS. Which, is terrible for both slow and metered connections. If you pop in and out of your condo frequently, that’s a lot of downloading/waiting, and a lot of wasted bandwidth.

Also terrible in cases like uploading images to your own webserver that’s has limited monthly bandwidth. (I usually upload to Imgur, but I also do this, in cases where imgur kills the quality of certain images for some reason.)

1 Like

Right, but it’s more of an issue with your speed. I mean, that’s still large even by standard broadband speeds. I get 30Mb/s (Megabits a second (that’s how the ISP companies get you, most people don’t know the difference between megabits and megabytes)) which is 4.375MB/s (Megabytes a second). So it’s going to take me close to 30 seconds to load, which doesn’t sound like long, but it sure feels like a long time when you’re loading into a video game map. For you, it’s much worse. At 1.5Mb/s (and that’s what they advertise, who knows what speeds you’re actually getting at peak hours) it’s going to take you about 9-10 minutes to load 100mb. Which is terrible.

On a side note, I’ve got to ask how you play any modern online games without horrible horrible unplayable lag.

In most cases, it’s fine. TF2, Zandronum, Quake 3/Live, Unreal Tournament 2004 are all very playable, and when I’m not loading models or canvases, I can play TU minigames and condos fine. But the moment there’s any large, heavy-duty downloading, it sucks. (Map/asset downloads in those games)

In TU, it usually takes anywhere from 10 minutes to load most canvases in my condo, with some canvases taking up to 30, or just never loading at all.

1 Like

And I use it whenever I look at a download from the side the data is coming from. I guess we can stop here because it’s now just a question of which dictionary to use.

That dial too, please.

Which is weird considering it’s just simple unit conversion with the factor of 8…

No offense @StrikerTheHedgefox but you have an obvious bottleneck there and considering how many players use workshop playermodels now and how some people apparently use 100M of canvas image data, it might be time to extend the “Broadband Internet Connection” on TUs Steam page under recommended with “fast”. Caching will only help for condos you revisit.

Condos I revisit are exactly why I want canvas caching. I don’t visit any other than my own and the ones my friends run. I don’t go to randoms.

Since playermodels already have caching, and there only being so many that are frequently used, that’s usually not much of an issue for me, even in the plazas.

Yeah, I’m sure eventually the connection just times out.

Yes, mother

Well I’m clearly going to be frustrated if you don’t listen to something I clearly said.

but you don’t upload from something. That’s not what the word means. If you want to use the word upload, you’d have to be initiating the file transfer from a client, sending to a server. So if you have an image on your computer, you request Imgur to accept your upload of the image. If you’re requesting a file, it’s a download. An upload only happens when the sender initiates the transfer.

So to simplify,
if client says “Hello, please give me the mail.” That’s a download.
If client says to host “Here, take your mail.” That’s an upload.

Condo’s that’ve been already visited, and any that share the same canvas images. But in his situation, even if it only helps condos he’s already visited, it’s better than nothing.

I have considered canvas file caching. Our only worry was downloading images that you may not like, so we’ll have to have a clear cache button and also remove cache from Condos you no longer trust / block.

The other issue is size management with the cache. I also want to make sure each Condo has its own folder, so I’ll have to sort it by Steam ID most likely.

2 Likes

I see why individual folders are the way to go. You can easily delete cache from condos that you no longer trust, or if you’re having an issue with a specific condo having a stuck cache, you can clear it individually.

The only problem I can see with it is, if someone links to an illegal image, and you don’t know, trust their condo, and it downloads to your computer, you could be caught with it.

If you download something like that, it’s already too late regardless - the image has to be stored somewhere whether it’s in VRAM or disk. You should report them to the FBI.

1 Like

True. I was just thinking if its in VRAM that’s volatile memory, so it’s off your machine as soon as it’s overwritten, or power is lost. And if it’s on the disk, without caching, wouldn’t it normally be deleted after you leave or close the session? Sorry for the 20 questions, I’m just a bit curious how it’s handled without caching. I mean, realistically 99% of players will never have to worry about actual illegal images being downloaded, but it’s just a what if.

Sounds good.

Happy to say that canvas caching will be part of 0.6.1.1.

https://trello.com/c/8RQ3tnrD/375-update-0611

9 Likes

Absolutely awesome. Thanks!

1 Like