ID:2364300
 
(See the best response by Lummox JR.)
Code:
mob/proc/zoomMap()
for(var/zoom/z in zoomPlanes)
z.appearance_flags = PLANE_MASTER | PIXEL_SCALE
client.screen += z
animate(z, transform = matrix()*2)

var/zoomPlanes = newlist(
/zoom{plane=0},
/zoom{plane=1},
/zoom{plane=2},
)

zoom
parent_type = /obj
screen_loc = "1,1"
plane = 0


Problem description:

Hello i hava a question, if i have game window with
world view = "25x15"
and rise this value 2 times,
world view = "50x30 and resize plane
, part of map beyond visable area are still render?




Best response
It's complicated.

The server still has to track those turfs and send updates in that vicinity to the client. The client has to build icons for each one of those turfs and the objects on them, because it doesn't know right away if the turf and its contents will fall outside of its render window. This higher view distance will also impact opacity/lighting calculations, which are done even if you're not using any of those things. (It would be incredibly difficult to adjust for that and try to decide when visibility calculations could be skipped.)

So in that sense, a lot of extra work is done on the server and client ends both that potentially won't contribute a thing to the final display.

Before the icons are sorted for display, but after they've been created from the various object's appearances, the engine will try to cull anything that's out of bounds. (If plane masters with a transform or scale factor are in play, it just extends the culling bounds.) After the cull, icons are sorted, and then they get sent to the renderer.

However, when you raise the view size you also widen the culling window. The backend code that handles collating the icons and sorting and whatnot does not know how big your map control is or what your zoom level is; all it knows is that it wants to fill in a certain display size based on client.view, world.icon_size, and world.map_format. So if your map is set to zoom=1 and you increase your client.view, you don't get the benefit of any extra culling before the sort operation. End result: about 4x more icons to sort and render, even if they're outside the map control's screen real estate.