ID:137876
 
If an atom's icon var is given a value equal to its current value, is the server to client message suppressed? There are several places in my code where I've written something like this:

proc/UpdateIcon(i)
if (icon!=i)
icon=i

but I'm not sure if the check is saving any bandwidth.

If an atom's icon var is given a value equal to its current value, is the server to client message suppressed?

Yes. All changes to visible properties of objects are stored in a special "appearance" object that keeps track of true changes.

In fact, if you were to change the icon to something else and then a little farther down in the code change it back, it still wouldn't generate any network overhead! That is true, because the client map is not updated after each change but on a regular update cycle that looks for changes. That avoids a lot of little packets getting sent while you are changing stuff.