Author Topic: Selective Ghosting for Default Blockland  (Read 141 times)

Making a client aware of too many renderable objects will lag the client.

I can use selective ghosting to remove some unnecessary objects from the list of things to render.

I can use selective ghosting to:
    Create large, complex maps without lagging any clients.
    Create bricks which have an extra layer of impenetrable collision without lagging the client.
    Create 3D gui elements specific to one client.


Badspot, please add the functionality of Selective Ghosting so I can share cool stuff without asking users to download a hacked version of the game.
The source for the selective ghosting DLL can be found here:  https://gist.github.com/Zeblote/c6764e924eadea2bf71165c2d1046ffe

only the server requires the selective ghosting dll, but yeah this would be awesome to have default and enable a lot of self-optimization for servers who need it

bump

I did some testing w/improving brick collision by putting a staticshape just inside the surface of the brick.
I've only tested it on the 1x12x5 brick, but so far it has performed very well.
However, at ~11,000 bricks I'm getting 17 fps.  Sooooo...

I now have it set up to clear the collision shapes from the "list of things to send to new clients", thus preventing the staticshapes from lagging the clients.
However a client must rejoin to fix their lag.  That's not ideal cause they will have to rejoin every 8k bricks or so to keep above 60fps.

Selective ghosting would allow me to fix this lag issue midgame without forcing clients to rejoin.