Перейти к содержанию
  • Оптимизировать отмену повтор в том числе групповую


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

     

    но проблема заключается в том что чтобы найти предмет который имеет нужный нам hammerid нам нужно перебрать все 2048 возможных пропов, выходит если вы делали действия с 200 предметами и хотите их отменить то сумма итераций цикла неободимых для того чтобы найти нужные предмета будет: 200 на 2048 = 409600 итераций, это очень много..

     

    для групповых действий которые по сути своей личные для игроков, можно сделать вот что:

    вместо того чтобы искать каждый предмет всегда по новому нужно перед запуском отмены/повтора группового действия сделать цикл с с данными из стека объектов игрока где хранятся данные с уникальными entity refference ссылками к пропам и записывать hammerid предмета в качестве ключа а в качестве значения  entity refference код пропа, так вот у нас получится готовая пачка данных и серверу не придется делать 409600 итераций, мы это сделаем за 200 собрав данные перед запуском цикла отмены, дальше уже цикл отмены будет просто обращатся к KeyValue пакету указывая hammerid получая entity refference код предмета.


    Обратная связь

    Рекомендуемые комментарии

    Electr0

    Опубликовано

    Значение Статус изменено на: Тестируется

    Electr0

    Опубликовано

    по результатам при отмене повторе групповых действий с 200 предметами, просадка var снизилась с 11 до 7-8 в принципе это как раз то что нужно чтобы без жертв в скорости работы использовать пред проверки в отмене повторе.



    Присоединяйтесь к обсуждению

    Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

    Гость
    К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
    Добавить комментарий...

    ×   Вставлено с форматированием.   Вставить как обычный текст

      Разрешено использовать не более 75 эмодзи.

    ×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

    ×   Ваш предыдущий контент был восстановлен.   Очистить редактор

    ×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Обозначения статусов

    В обработке = Мы работаем над вашим отзывом.

    Будет сделано = Ваша идея добавлена к плану будущих изменений.

    Тестируется = Изменения внесены, но требуют тестирования.

    Сделано = Ваша идея реализована!

    Отклонено = Отзыв некорректный, бред, либо уже реализовано. Если у вас есть дополнительная информация напишите комментарий и мы снова откроем этот вопрос.

×
×
  • Создать...