ID:95594
 
Applies to:Dream Maker
Status: Open

Issue hasn't been assigned a status value.
I would like it so you can use the draw function to draw on the screen or to a buffer that you can display to the screen without it caching or sending to the server. In the past I've made games that rely heavily on drawing but the cache builds up then the icon function(s)/rsc crashes. If we could draw to the screen or a buffer or even multiple buffers client side it could open up a lot of possibilities. We would also need a clear screen function.

I would also like a way to clear the cache when ever I want. The cache builds up with junk that is never used. Examples, I use DrawBox on an icon. I update the icon. I use DrawBox again on the same icon. The Cache will store the previous icon. Unless there has been a change I am unaware of or I am completely wrong about how this works I would like a way to clear the cache without having to reboot Dream Seeker.
Some kind of client-side drawing control has been on our long-term wishlist for a while, but it needs serious design work before it can be considered.

Regarding the cache, something I would eventually like to improve on is setting up some kind of system to reference-count cache entries, but this is extremely non-trivial. The server cache does no reference counting of any kind. There is a system in place that attempts to clear out references to entries in the dynamic cache that aren't being used once everyone disconnects, but it's rather limited. It might be something that could be expanded on at some point.
The webclient makes this redundant since you can already draw on your own canvas element. What would be helpful though is if you could draw on the map elements.

Is there currently a way to override what is being drawn on map elements? i.e., after BYOND draws the map it could call a function on the map element with the canvas as the 1st parameter. This would resolve this issue IMO.