Асинхронная загрузка модов

jopi

Попрошайка
1,421
30
260
Что вы об этом думаете? Какие могут быть у этого плюсы и минусы
Первым плюсом я бы выделил то что майн впринципе запускается сразу
по минусам на сервер который моды требует сразу не зайдешь
Какие еще плюсы/минусы у такого могут быть?
 

CumingSoon

Местный стендапер
1,634
12
269
Думаю, что реализация тривиальна на графе зависимостей и топологической сортировке
Но меня интересует профайлинг загрузки - что конкретно занимает всё это время. Парсинг, чтение из файлов, расчёты может и можно распараллелить. А вот как быть с загрузкой текстур, генерацией атласа? В общем да, надо сначала понять, на какие субтаски делится загрузка, а там уже смотреть
 

jopi

Попрошайка
1,421
30
260
ну я какбы понел типа, ну пока я сделал только загрузку
 
7,099
324
1,510
Думаю, что реализация тривиальна на графе зависимостей и топологической сортировке
При условии, что все моды правильно выставляют у себя значение @Mod#dependenсies
 

jopi

Попрошайка
1,421
30
260
атлас там отдельная текстура уже готовая, с итемами и блоками на той версии что я копаюсь, впринципе так то тут они не зачем, а вообще вряд-ли кто то такой мод лоадер юзать будет
 
7,099
324
1,510
а вообще вряд-ли кто то такой мод лоадер юзать будет
Если он будет совместим с forge, то вполне будут. Я бы юзал: приятно, когда игра запускается быстрее
 

jopi

Попрошайка
1,421
30
260
@hohserg1 оффициального релиза форжа не было тогда, да и вряд-ли, это же b1.8.1, совсем олдскул
 

jopi

Попрошайка
1,421
30
260
Впринципе ну база хоть какая-то тут уже есть, типа ток проблемы с запуском пофиксить синхронного запуска(краш ачивок) и асинхронного(не работает invoke на объекты)
а так ну чота есть, за ночь наклепал загрузку классов без ASM, добавил приколы для регистрации рецептов, bindTexture с String аргументом, да и пока впринципе всё, самая крупная проблема на клиенте пока-что ввести как-то подгрузку текстур, а дальше на легче остальное доработать и выкинуть в опенсурс
1595430780915.png
 
7,099
324
1,510
Ну а нафига на такую древнюю версию щас че-то делать? Лучше для 1.7+
 

jopi

Попрошайка
1,421
30
260
@hohserg1 ну мне нравятся очень версии эти, а особенно рассказ одного чела с Omniarchive канала про 2b2t и как он тогда играл в 11 году, а сейчас недавно коллекционировал скрины с 2b2t 2011-х годов, насобирал не мало и я чет такой 'ого ниhaia'
А вообще неплохой способ попрактиковаться не используя лишних либ и тд, с ASM я не дружу вообще, а про 1.7 градл мне не друг, и там чет сделать сложно будет мне
 

CumingSoon

Местный стендапер
1,634
12
269
Может, я чего то не понимаю, но атлас можно генерировать без знания завистемостей?
Его просто нельзя асинхронно собрать, надо ждать загрузки всех модов. Тут, кстати, все на футуры удачно ложится, вся реализация
 
7,099
324
1,510
Тогда нужно будет часто биндить текстуру - снижение производительности
 

jopi

Попрошайка
1,421
30
260
@hohserg1 понел, но это потом, сейчас опять проблема ток уже с обработчиком событий, чекни если хочешь
 

CumingSoon

Местный стендапер
1,634
12
269
@CumingSoon а если не генерить атлас?
Та в нём нет ничего такого, просто он будет собираться после загрузки всех модов
Я вообще, на самом деле, не вижу проблемы. Как мне кажется, все упирается в парсинг каких-то данных и загрузку dumb af png. Как по мне, лучше хранить кастомный формат в каком-нибудь архиве, чтобы быстрее загружать и не тратит время на декодинг png. У опенгл как раз есть свой формат
 
Сверху