If client FPS is above 30 with a large client.view a high amount of objects that use vis_contents, the items in the vis_contents vanish from the screen after around 10-30 seconds (can get really random but is usually between these).
Code Snippet (if applicable) to Reproduce Problem:
client
perspective = EDGE_PERSPECTIVE|EYE_PERSPECTIVE
fps = 60
New()
. = ..()
view = "40x23"
mob
verb/Test()
for(var/i=1 to 80)
var/obj/o = new()
var/obj/b = new() //this is what vanishes from view
b.icon = 'Test.dmi' //white square
o.vis_contents += b
o.loc = locate(rand(1, world.maxx), rand(1, world.maxy), 1)
When does the problem NOT occur?
If client.fps is lowered to 30, client.view is lowered, or objects using vis_contents are below 50
Workarounds:
The objects still exist just aren't visible unless you change an appearance vars to bring them back into the view with some vars apparently reset for their appearance.