mosinnik 0 Опубликовано Понедельник в 09:42 Занимался какое-то время оптимизацией потребления памяти GeoDriver от L2J и его скоростью работы. По памяти 40-45% экономии, по скорости получения высот из геодрайвера до пяти раз быстрее на отдельных типах блоков. Код на гитхабе: https://github.com/mosinnik/l2-geo И еще статейку на хабр накидал о том что и почему было сделано: https://habr.com/ru/articles/1000082/ Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Saltfire 102 Опубликовано Среда в 04:28 А что ты сделал то? Как было все плохо, так и осталось. Как был распухший до боли 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); ////////.................. }; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
mosinnik 0 Опубликовано 23 часа назад @Saltfireпосмотри на GeoDriverBytes Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Saltfire 102 Опубликовано 11 часов назад 12 часов назад, mosinnik сказал: @Saltfireпосмотри на GeoDriverBytes а к чему тогда остальное все там лежит? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты