ID:161706
 
1) Can the same object be added to a client screen twice with different screen_locs so that it appears twice on the screen but is only created once?

2) Does creating a new datatype that has only the atom/movable class as it's parent_type eat up part of the object count limit or do raw movables count seperately from objects?
Obs wrote:
1) Can the same object be added to a client screen twice with different screen_locs so that it appears twice on the screen but is only created once?

No, changing the object's screen_loc variable will move it on the screen.


2) Does creating a new datatype that has only the atom/movable class as it's parent_type eat up part of the object count limit or do raw movables count seperately from objects?


It counts against /atom/movable, but you lack the special functions associated with the /obj type alone.
In response to Nadrew
3) And now a third question.

I've noticed removing objects on a client's screen with client.screen -= object is rather slow. That is, when I disable certain functions that use it extensively, I notice performance is less sluggish, even though the client screen is constantly adding new objects on the screen. Now throughout this whole thing, BYOND is showing 0 to 1% cpu usage, but I operate under the assumption that this can't be entirely correct.

What's the fastest possible way to remove something from the client.screen?
In response to Obs
i don't know if there is much difference..try using:
for(var/obj/whatever/WE in src.client.screen)
del(WE)
In response to RG7
no thats even slower

also I should point out I'm not trying to delete the object anyway, I'm just removing it from the screen.
In response to Obs
Well I found lists are your best friend. Make a list of objs that belong to the screen and just remove that obj from that list.
In response to Dpheonix7
Dpheonix7 wrote:
Well I found lists are your best friend. Make a list of objs that belong to the screen and just remove that obj from that list.



client.screen is already a list of objects on the screen.