18

» WarCraft 3 / Преобразование индекса массива в число

NulliFLie, сделайте для каждого таймера свой триггер, тогда будете знать, какой из них завершился
18

» Администрация XGM / Не сворачивается сообщение в личке

ScorpioT1000:
Ты можешь написать мне в ЛС таким образом, чтобы у меня это тоже сработало? У нас нет возможности читать чужие ЛС.
Отправил
Загруженные файлы
18

» WarCraft 3 / Как оценить фпс в мультиплеере?

Bergi_Bear, 1.26a. Изначально идея заключалась в том, чтобы по данным теста подправить нагрузочные коэффициенты. Сейчас расчет этих коэффициентов сам по себе составляет отдельную проблему, замедляющую любую разработку в 3 раза.
Все упроститься, если будет быстрый доступ к любым объективным данным о текущей нагрузке.
На глаз фпс падает до нуля менее чем за 0.1с. Поэтому для прерывания исполнения нужно будет вызывать Get_stress() значительно чаще.
18

» WarCraft 3 / Видимость воды

Jack-of-shadow:
Короче раздаю воду с настройками: Water_From_HoV
А что делать, если вода нужна на разных высотах?) Еще писать алгоритм генерации волн на берегах(
18

» WarCraft 3 / Иконки на заказ

Кажется, что идет разделение на две ветки. Одна - ветка брони, другая - наростов
18

» WarCraft 3 / Выделение памяти в хеш-таблице

Проверил по другому. Да, обращение к заполненной hashtable чуть тяжелее, как и должно быть. В ходе экспериментов было выяснено:
  1. Обращение к последним добавленным parentKey быстрее, чем к первым.
  1. Обращение к последним childKey внутри одного parentKey быстрее, чем к первым добавленным.
  1. При постоянном обращении к одному и тому же элементу со временем нагрузка выравнивается.
  1. Падение производительности незначительное, обычно это 6-0 фпс.
Слишком много сходства между parent и child, надеюсь это хеш-таблица хеш-таблиц, а списки там лишь для решения коллизий, как и сказал ScorpioT1000 (что объясняет пункт 1 и 2)
18

» WarCraft 3 / как создать возможность проходить юнитам под платформой?

А как заимствовать у летающих?
Сделать юнита по настоящему летающим - или морф, или [использовать коллизию летающего над ним юнита, отключив пафинг у оригинала] или может мемхак
18

» WarCraft 3 / Выделение памяти в хеш-таблице

Оцениваю не время, а количество операций. То есть: если блок кода больше нагружает, то внутри одного потока он выполнится меньшее количество раз.
Тест проводился следующим образом:
  1. Сначала проверил, что и parentKey и childKey принимают все доступные int-ы.
  1. Дальше нужно было наполнить таблицу и посмотреть на разницу в работе. В процессе выяснилось, что значения перестали сохраняться. Экспериментально были вычислен порог для parentKey. Далее проверил, что childKey ведут себя так же и каждый родительский ключ может иметь не более 18747 дочерних.
  1. Когда мы убедились, что hashtable наполняется корректно, можно начать нагрузочное тестирование. Максимальное кол-во элементов 74985 (все доступные parentKey и три полных childKey) и варьировалось в зависимости от цели конкретного теста.
  1. Нагрузочное тестирование.
4.1 Запоминаем количество успешных обращений к пустой hashtable внутри одного потока.
4.2.1 Заполняем все доступные parentKey.
4.2.2 Считаем количество обращений к первому, к последнему, к выбранным мной случайно. Получаем идентичное число операций с пустой hashtable.
  • 4.3. Проверяем, нет ли встроенного кеширования. Обращаемся к случайному parentKey. Запускаем несколько раз, результат не меняется. (Либо обход списка инкапсулирован в виртуальной машине, либо это не список)
  1. Идентично с childKey.

Таким образом, мы видим внешнее поведение, как оно внутри, узреть не удастся
18

» WarCraft 3 / как создать возможность проходить юнитам под платформой?

8gabriel8, писать свою систему коллизий. Если все объекты можно представить кружками, то это не сложно, но с ней не будет взаимодействовать родной поиск пути. Или позаимствовать карту у летающих юнитов
18

» WarCraft 3 / Выделение памяти в хеш-таблице

  1. parentKey и childKey могут принимать значения от 2147483647 до -2147483648.
  1. Количество parentKey или childKey ограничено 18747, то есть не более 351450009 элементов.
  1. Не зависимо от загруженности таблицы и порядка опроса ключей, обращения выдают одинаковую нагрузку на поток.
  1. Так как существует функция FlushChildHashtable(), то конкатенация ключей возможна, но маловероятна.
18

» WarCraft 3 / Выделение памяти в хеш-таблице

Не понял. Если в jass hashtable это хеш-таблица хеш-таблиц, то зачем экономить parentkey?
18

» WarCraft 3 / Выделение памяти в хеш-таблице

PT153:
Почему информация о массивах является верной?
Не знаю является ли она верной, но её написал Hanabishi, а не ноунейм, она выбрана лучшим ответом на этом сайте, никто из пользователей в комментариях (DracoL1ch, Doc, Clamp, nvc123, quq_CCCP) никак не опровергнул это
18

» Hunter or Victim / Hunter or Victim: Краткое руководство по выживанию

Наконец! Пособие для теоретиков

Кнопка Скачать открывает первый скрин, фича или баг? )
18

» WarCraft 3 / Редактирование спецэффектов

N7 Molot, понятно. Просто по видео кажется это значительно дольше, даже с ускорением. Для коррекции того же цвета, автор переходит в каждый элемент отдельно. Если что-то не понравилось, то менялся снова каждый элемент, вместо наложения цветокорректирующего фильтра на выбранные элементы. Не увидел горячие клавиши для быстрой работы. Иногда автору приходилось повторно смотреть необходимый материал. Неудивительно, когда названия выглядят как Material 0081A100. Не хватает небольших картинок, чтобы понимать, какой материал нужен. Чтобы посмотреть, что окрашивает данный элемент, автор был вынужден сначала выставлять какой-нибудь яркий цвет, смотреть, что изменилось, и только потом принимать решение, на какой цвет изменить. Рабочий способ, но костыль, поскольку отсутствует кнопка автовыделения выбранного элемента на модели.
Эти названные и другие неназванные мелочи способствуют экономии общего времени, подобно тому, как IDE с горячими клавишами автодополнения, быстрого перехода к реализации, рефакторингом отличается от notepad++. Если с нуля работа заняла у вас действительно 10 минут, то хорошо. В любом случае, очень здорово, что вы решили нам передать свой опыт
18

» WarCraft 3 / Можно ли добавить больше способностей?

quq_CCCP:
Если хотите рефордж - изначально на рефордж делайте карту
Cейчас ни там ни там нет необходимых инструментов
18

» WarCraft 3 / Можно ли добавить больше способностей?

quq_CCCP:
пути в рефордж и так у вас нет если карта уже готова и она сложнее мили карт
Разве jass больше не поддерживается?
сложный - ну ясно понятно, надо читать интсрукции и тестить код.
Какие инструкции, которые на хайве?
18

» WarCraft 3 / Можно ли добавить больше способностей?

quq_CCCP:
мемхаком пользоваться не хотят...
Потому что инструмент достаточно сложный и потому что лишает возможности перейти на следующий патч при желании
18

» WarCraft 3 / Ошибка при загрузке сохраненной игры из за [HashTable]

Jack-of-shadow, а восстанавливать рельеф из карты высот?
Даже подтягивая из файла, все равно придется с ней работать
18

» XGM Team / 2019 to 2020 + Обновление Stage 6

Новый год разве не семейный праздник

Почему нельзя выбирать несколько вариантов?