mosinnik 0 Posted March 2 Занимался какое-то время оптимизацией потребления памяти GeoDriver от L2J и его скоростью работы. По памяти 40-45% экономии, по скорости получения высот из геодрайвера до пяти раз быстрее на отдельных типах блоков. Код на гитхабе: https://github.com/mosinnik/l2-geo И еще статейку на хабр накидал о том что и почему было сделано: https://habr.com/ru/articles/1000082/ Share this post Link to post Share on other sites
Saltfire 102 Posted March 4 А что ты сделал то? Как было все плохо, так и осталось. Как был распухший до боли 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); ////////.................. }; } Share this post Link to post Share on other sites
mosinnik 0 Posted March 5 @Saltfireпосмотри на GeoDriverBytes Share this post Link to post Share on other sites
Saltfire 102 Posted March 5 12 часов назад, mosinnik сказал: @Saltfireпосмотри на GeoDriverBytes а к чему тогда остальное все там лежит? Share this post Link to post Share on other sites