Как работает система электричества IC2

Artmoneyse

Администратор
Команда форума
Администратор
Работа электричества EU сделана авторами мода через массив. Массив можно представить обычной таблицей в программе Excel.
Все источники энергии, проводники (кабеля, провода) а также потребители (механизмы) вносятся в данный массив. Точнее каждый тик сервера формируется массив а потом происходят все вычисления в нем. Создания массива и вычисления в нем является трудоёмким процессом. Потому разработчики ic2 решили не изобретать велосипед и заюзали библиотеку EJML (Efficient Java Matrix Library).
Подробнее о библиотеке можно узнать тут:
Please, Вход or Регистрация to view URLs content!

Данная библиотека автоматически скачивается всем игрокам в папку с модом ic2.

Чем больше источников энергии\проводов\механизмов тем больше размер массива а потому и возрастает нагрузка. Оптимизировать тут особо нечего.

Чтобы снизить нагрузку на сервер можно не выполнять расчеты массива каждый тик.
Допустим, если выполнять расчет массива 1 раз в 2 тика то нагрузка на сервер падает в 2 раза.
На работу самих механизмов такая оптимизация существенно не влияет.

Например, солнечная панель генерирует 4096 EU\t
За 2 тика будет 8192 EU\t
Получается что все измерительные приборы в игре будут показывать в 2 раза больше выход энергии.
В реальности такой выход нужно делить на количество тиков (учитывая пропуски).
Правильные показания обычно можно посмотреть в самих панелях или генераторах.
 
R

Rafnsult

Guest
Сегодня произвёл тестовые замеры
Поставил 2 радиоизотопных генератора, в одном 5 пеллет (16eu/t), во втором 6 пеллет (32eu/t)
так же подключил их к МФЭХ, через стационарный энегосчётчик.
И так результаты: счётчик отображает инфо сразу за 2 тика,
тоисть с 5 пеллет мы видим 32eu/t (фактическое 32eu/2t)
в то же время с 6 пеллет мы видим такой же выход в 32eu/t (тоже фактическое 32eu/2t)+ наполнение внутреннего энергохранилища радиоизотопного генератора
при этом оба МФЭХа заполняются энергией с одинаковой скоростью

из этого можно сделать вывод, что сервер позволяет выходить энергии раз в 2 тика,
генератор с 5 пеллетами добросовестно по лимитам отдаёт 32eu/2t, но так как лимит самого генератора 32, второй с 6 пеллетами не может отдавать 64eu/2t, это очевидно потому что энергия внутри накапливается.
тоисть фактически генератор работает в 2 раза слабее, если навести перекрестие на генератор с 6 пеллетами, он покажет реальный выход в 16eu/t.

а теперь внимание еще одно доказательство негативного воздействия фикса на генераторы:
подключив угольный/геотермальный/полужидкостный генератор к молекулярке мы тоже увидим что энергия накапливается во внутреннем энергохранилище, хотя должна благополучно и без остатка съедаться молекуляркой.

с солнечными панелями и ядерными реакторами нет таких багов, поскольку они могут отдавать больше чем генерировать.

Есть теория что все энергохранилища тоже замедлили скорость отдачи своей энергии в 2 раза.

Предлагаемое решение: удвоить максимальный выход на ic2 механизмах.
 
Сверху