Перейти к содержанию
  • добавить автоматическую синхронизацию кнопок


    во вторую страницу меню настроек кнопки добавить пункт синхронизация, по нажатию будет диалог выбора с какой кнопкой настраиваемую кнопку синхронизировать

     

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

     

    Действия выставить вкл. выкл для синхронизации с другими кнопками не трогаются.

     

    если не хватает лимита уместить действия синхронизации то выбивает в ошибку.


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

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



    Electr0

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

    пора активизировать работу по данному направлению

    Electr0

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

    прототип 1: 

     

    во вторую страницу меню настроек кнопки добавить пункт синхронизация, по нажатию будет диалог выбора с какой кнопкой настраиваемую кнопку синхронизировать

    Electr0

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

    прототип 1 завершен, менюшки добавлены, теперь надо делать функцию синхронизации.

     

    прототип 2 

     

    make it

    Electr0

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

    прототип 2 завершен, синхронизация кнопки с указанной кнопкой происходит успешно

     

    прототип 3

     

    нужно добавить проверки защиты от превышения лимитов действий во время синхронизации.

    Electr0

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

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

    Electr0

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

    прототип 3

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

    Electr0

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

    прототип 3 завершен, синхронизация помеченных кнопок между собой работает

     

    прототип 4 добавить проверки:

    1. при выполнении синхронизации помеченнных предметов если предмет один то не запускать цепочку действий

    2. при выполнении синхронизации помеченных предметов делать расчет в предварительной проверке у какой кнопки сколько осталось в лимите действий.

    3. при синхронизации кнопки на указанную игроком кнопку тоже нужно добавить проверку о наличии в кнопке места под действие выставления статуса.

     

    Electr0

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

    прототип 4 отложен, в ходе тестов выяснились серьезные проблемы с скоростью выполнения синхронизации 30 и более кнопок между собой, возникает значительный лаг, нужна оценка что жрет столько ресурсов

     

    Electr0

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

    причины вполне объективны, при синхронизации 45 кнопок, кол-во связей между ними  44 * 45 = 1980 действий

     

    На выполнение синхронизации одной кнопки с другой уходит:  0.000406 сек

    На выполнение синхронизации 45 предметов уходит: 0.946917 сек, а это очень большой лаг ведь встает весь сервер на секунду

     

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

    Electr0

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

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

    Electr0

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

    Уменьшил общее время до  0.40 сек, за счет замены вызовов функций подсчета кол-ва действий у кнопки и кол-ва действий посвященных кнопке с которой будем синхронизировать кнопку, в цикл в котором проходит перебор всех действий кнопки и удаления предыщих действий синхронизации.

    Electr0

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

    в связи с отсутствием идей по дальшейшей оптимизации запуск разработки прототип 4 с проверками по лимитам перед выполнением операции синхронизации.

    Electr0

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

    прототип 4, полностью готова синхронизация через настройки кнопки, добавлены все необходимые проверки и проведено тестирование.

     

    прототип 5, добавить предстартовые проверки в функцию синхронизации помеченных кнопок.

    Electr0

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

    прототип 5,

     

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

     

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

    все хорошо, исправлено, добавлено, удалено

     

    при синхронизации помеченных кнопок эти параметры суммируются и показывается общая статистика по выполенной работе: к примеру:


    [FS] Вы синхронизировали 45 кнопок между собой, по действиям: все хорошо 0, исправлено: 0, добавлено 1980, удалено: 0.

     

    если запуск происходит повторно и все действия в порядке:


    [FS] Вы синхронизировали 45 кнопок между собой, по действиям: все хорошо 1980, исправлено: 0, добавлено 0, удалено: 0.

     

     

    если замечена ошибка в настройках синхронизации:


    [FS] Вы синхронизировали 45 кнопок между собой, по действиям: все хорошо 1978, исправлено: 2, добавлено 0, удалено: 0.

     

     

    Electr0

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

    Значение Статус изменено на: Закрытое тестирование

    Electr0

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

    Значение Статус изменено на: В обработке

    Electr0

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

    необходимо добавить показ кол-ва недобавленных по причине отсутствия лимита на действие.

    Electr0

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

    Значение Статус изменено на: Закрытое тестирование

    Electr0

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

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

    Electr0

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

    Значение Статус изменено на: Публичное тестирование

    Electr0

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

    Значение Статус изменено на: В обработке

    Electr0

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

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

    Electr0

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

    Недочет устранен.

     

    Значение Статус изменено на: Публичное тестирование

    Electr0

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

    Значение Статус изменено на: В обработке

    Electr0

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

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




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

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

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

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

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

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

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

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


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

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

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

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

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

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

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