mosinnik 0 Опубликовано Понедельник в 09:42 Занимался какое-то время оптимизацией потребления памяти GeoDriver от L2J и его скоростью работы. По памяти 40-45% экономии, по скорости получения высот из геодрайвера до пяти раз быстрее на отдельных типах блоков. Код на гитхабе: https://github.com/mosinnik/l2-geo И еще статейку на хабр накидал о том что и почему было сделано: https://habr.com/ru/articles/1000082/ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Saltfire 102 Опубликовано 13 часов назад А что ты сделал то? Как было все плохо, так и осталось. Как был распухший до боли Region с IBlock[] массивом который сжирает сотни и тысячи мегабайт, так и осталось. Теперь сравни с моим: private final ByteBuffer types; @Override public int getNearestZ(int x, int y, int z) { final int offset = getBlockOffset(x, y); final byte type = types.get(offset); return switch (type) { case FLAT -> readFlatZ(offset + 1); case COMPLEX -> readComplexZ(offset + 1, x, y, z); ////////.................. }; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты