RenderIcon() (probably?) does a lot more work than it needs to for non-network situations
|
|
BYOND Version: | 515.1596 |
Operating System: | Windows 10 Pro 64-bit |
Web Browser: | Chrome 108.0.0.0 |
Applies to: | Dream Seeker |
|
Status: |
Open
Issue hasn't been assigned a status value.
|
|
|
Descriptive Problem Summary: When using RenderIcon() running a client in a local copy of Dream Seeker it still seems to be doing some kind of network round trip, this causes RenderIcon() to take upwards of 200-300ms to give a result, despite the client having the ability to relay those results to the server without any kind of network usage at all. This isn't exactly a BUG, but more of what I imagine is a lack of shortcut that could probably exist to make RenderIcon() a much faster process when you're doing local batch operations.
(Mind you I haven't done any profiling of the network or anything here, it just seems to be way slower than it should be in this usecase, can't the client just dump the icon into the server's memory since they're the same process?)
Code Snippet (if applicable) to Reproduce Problem:
var/obj/test_obj = new() // Just make sure it has some kind of icon to send client/verb/RenderTest() src << "Started at [time2text(world.timeofday)]" src.RenderIcon(test_obj) src << "Finished at [time2text(world.timeofday)]"
|
It's very likely given how byond handles these things that this yield is only "waking up" at the start of the next tick.
I doubt it's networking costs is what I'm saying. My opinion sorta lives and dies on your world fps tho