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


    Electr0
    • Сделано

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

     

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

     

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

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


    Отзывы пользователей

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

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

    Ссылка на комментарий
    Поделиться на других сайтах



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

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

    Гость
    Добавить комментарий...

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

      Разрешено не более 75 эмодзи.

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

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

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


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

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

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

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

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

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

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