Los objetos tirados son entidades. Las tolvas los buscan constantemente. Junta unos miles de cada cosa en un sitio —que es exactamente lo que es un almacén— y tienes un problema de rendimiento construido con bloques que nadie considera caros.
Lo que estás viendo
- El TPS baja cerca de la base de un jugador y se recupera cuando se va.
- Un perfilador que muestra bastante tiempo en tolvas o en ticado de objetos.
- Miles de objetos tirados en un chunk después de que se desborde una granja.
- Un horno o un clasificador que se ralentiza a la vista cuando está lleno.
Tres arreglos, del más barato al menos
| Arreglo | Dónde | Efecto |
|---|---|---|
merge-radius | spigot.yml | Los objetos y la experiencia se apilan antes, así que existen menos entidades. |
disable-move-event | paper-world-defaults.yml | Las tolvas dejan de lanzar un evento de plugin en cada movimiento de objeto. |
alt-item-despawn-rate | paper-world-defaults.yml | Deja que la roca y otra chatarra desaparezcan antes que los objetos valiosos. |
Por qué son caras las tolvas
Una tolva comprueba el contenedor de encima y el que alimenta en cada tick, se esté moviendo algo o no. Cien tolvas en un clasificador son cien comprobaciones veinte veces por segundo, y ese coste se paga aunque el sistema esté parado y todos los cofres llenos.
Las cadenas largas de tolvas para transportar se pueden sustituir casi siempre por una corriente de agua o una caída a un punto de recogida. Los objetos llegan igual; el coste de ticado pasa de decenas de bloques a uno.
Los objetos desaparecen a los cinco minutos por defecto, y los jugadores cuentan con que eso da tiempo a volver corriendo tras morir. Acortarlo para todo convierte un ajuste de rendimiento en inventarios perdidos. Usa la tasa alternativa para la chatarra en su lugar.
De pie en el almacén, el TPS se mantiene en 20, y un informe de spark ya no muestra el ticado de tolvas arriba del todo.