1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Заинтересует ли кого-нибудь ядро 1.7.10 на основе Forge

Тема в разделе "Альтернативные серверные платформы", создана пользователем vlad20012, 22 ноя 2015.

  1. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Вас никто не гонит обновляться. Юзайте стабильные билды или пишите и свои моды.
    Кто то вон сидит на 1.5.2 и не дергается, галаксикрафт вообще не ушел дальше 1.8.1 бета.
     
  2. oleg599

    oleg599 Активный участник Пользователь

    Баллы:
    88
    С таким успехом можно было заморозить разработку форджа где-нибудь на уровне MC 1.2.5 и заставить всех играть на ней по сей день.

    Не просто так игру же обновляют.
     
  3. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну да, заставь их заморозить. Да и моджанги не принесли в игру ничего интересного, да и то не сами придумали, а тупо скопитырили с модов. У них идеи кончились после бетки.
    Последняя их идея была поршни, остальное все скрысили. Ну или почти все.
     
  4. Автор темы
    vlad20012

    vlad20012 Активный участник Пользователь

    Баллы:
    68
    Skype:
    vlad20012
    Имя в Minecraft:
    vlad20012
    Эх, всем привет в этом чате. Давайте что ль все точки над i расставлю напоследок.
    Нет-нет, я ничего такого не "понял". Я просто работать пошел и с майном завязал. И еще раз, я выложил ядро только когда закрыл сервера и закончился по сути (с учетом предыдущих версий) трехлетний срок его использования. Я не говорю, что это релиз, вряд ли сейчас кто-то кроме меня сможет его использовать. Но программисты могут почерпнуть оттуда некоторые идеи. И мне до сих пор пишут люди, мол все отлично работает, и зря разработку забросил


    По поводу проблем в модах, а не в ядре. Если проблема в моде, я могу написать автору, и он ее исправит. Никогда так не пробовали? Моды, в отличии от ядра, продолжают развиваться, и баги исправляются. Если кто-то считает максимальную высоту перебором, как кто-то выше указывал, то этот баг и исправляется за одну минуту. Ядро, в отличии от модов, очень технически сложный продукт, в нем не так много багов, которые одной строчкой исправляются. А любое крупное изменение месяцы инженеринга занимает. Любая оптимизация может наоборот регрессию производительности вызывать, всегда или при определенных условиях, может не работать вместе с определенным модов, или группой модов, или вызывать регрессию только с определенными модами, или вызывать какие-то странные необъяснимые баги при определенных модах, и так далее. Посмотрите вот доклад Шипилева, где он объясняет, почему простое, казалось бы, изменение класса String в Java 9 затягивается на годы разработки. Это по поводу сложности. Теперь по поводу эффективности. Именно ядро балансирует нагрузку между модами. Выбирает, какие обновлять чанки, Entity, TileEntity, с каким рейтом, как загружать/выгружать/отправлять игроку чанки, в каком порядке. Именно ядро дает абстракцию над игровым миром, и ее производительность определяет производительность всей системы. Если оптимизировать мод, то только этот мод начнет работать быстрее. Если оптимизировать ядро, быстрее начинают работать все моды. И наконец, Forge не занимается производительностью. Пофигу им на нее, у них другие цели - воткнуть API с как можно меньшим объемом патчей в майновский код, чтоб портировать было проще. Я даже не говорю о том, что разработка Forge 1.7.10 прекращена в декабре прошлого года.


    А, и напоследок,
    В BlockPos'ах нет ничего плохого, это как раз и есть нормальная абстракция над координатами вместо костыльных xyz-параметров. Граф вызовов инлайнится, escape analysis статически доказывеат, что BlockPos можно выделить на стеке. Все, никаких проблем. И уж точно это никак не связано с утечками памяти, термин неверный в данном случае.
     
    Последнее редактирование: 28 июл 2016
  5. NickCcher

    NickCcher Активный участник

    Баллы:
    61
    Случаем не блоггер(не видео, а текстовый) ? Я что-то подобное читал. На LUA написан ?
     
  6. Radviger

    Radviger Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Radviger
    Действительно, термин я подобрал неверный, однако проблема с ними все-же существует, и она довольно таки большая. В системе рендера чанков используется метод BlockPos.getAllInBox, который возвращает набор координат в листе, сгенерированных на основе начальной точки и конечной точки, но очень часто бывает что участок, который необходимо получить через эту функцию очень огромен и происходит это каждый раз при рендере каждого чанка, и лично я не вижу в этом никакого смысла, если можно сделать цикл тройной вложенности и пробежаться по полученным интеджерам, ведь это будет куда быстрее. Я не говорю, что эта абстракция не нужна, я лишь говорю о том, что она используется даже там, где ее быть не должно из соображений быстродействия.
     
  7. Автор темы
    vlad20012

    vlad20012 Активный участник Пользователь

    Баллы:
    68
    Skype:
    vlad20012
    Имя в Minecraft:
    vlad20012
    Насколько я помню, не List он возвращает, а итератор, и новый BlockPos генерируется на каждый вызов Iterator.next() (а не сразу), после чего, процитирую.
    JIT свернет это до цикла.
     
    Последнее редактирование: 26 июл 2016
  8. Radviger

    Radviger Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Radviger
    таки нет, возвращает он именно лист.
    http://prntscr.com/bxm9a2
    В итоге получается двойная итерация. Сперва метод заполняет лист, затем вы итерируете этот лист.
     
  9. Автор темы
    vlad20012

    vlad20012 Активный участник Пользователь

    Баллы:
    68
    Skype:
    vlad20012
    Имя в Minecraft:
    vlad20012
    Да етить-колотить
    [​IMG]
     
  10. Radviger

    Radviger Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Radviger
    Можете уточнить, исходники какой версии у вас сейчас? Скорее всего это уже поправили.
     
  11. Автор темы
    vlad20012

    vlad20012 Активный участник Пользователь

    Баллы:
    68
    Skype:
    vlad20012
    Имя в Minecraft:
    vlad20012
    1.8.0 Это были, кажется. Неужели они, кхм, наоборот, в последующих версиях в лист это превратили?
     
  12. Radviger

    Radviger Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Radviger
    Таки нет, у вас 1,8,9 или выше. Ну, значит не так уж все и плохо.
     
  13. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    А ещё выше появился MutableBlockPosition, и PooledBlockPosition, хоть что-то моджанги начали делать правильно. Правда самое старое говно так и не починили.
     
  14. Radviger

    Radviger Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Radviger
    Может быть и до старого доберутся, будем надеяться)
     
  15. _KoteMyrok_

    _KoteMyrok_ Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    KoteMyrok
    Почему вы закрылись?? Играл с вами еще с 1.2.5 до вайпа. Так печально, что такие проекты уходят во мрак :(
    До сих пор. кстати, помню ник админа: SirMaxBlack
     

Поделиться этой страницей