Перейти к содержанию

Дайджесты за январь-февраль

Обновления гайдов и аддонов

Январь Февраль

Мониторинг серверов и редактор аддонов

Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.

Мониторинг серверов Редактор аддонов

Подсказки из игры на вашем сайте

Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать

Скорость работы скриптов и еще пара вопросов :)


Гость LeonPRO

Рекомендуемые сообщения

Добрый день.

Никто не замерял скорость выполнения скриптов?

Допустим, сколько времени занимает 1000 вызовов несложной ф-ции на получение данных из к.л. глобальной переменной или сколько времени нужно, чтобы пробежаться по 1000 условиям и проверить на соответствие значению If(filter) then {do_someone;}

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

UPD.1

И ещё вопрос :)

Как можно обмениваться данными между аддонами? В офф. документации только написано, что можно через события, но как конкретно - не указано.

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

Не, ну я смотрел не только его (но особенно его), но сложно найти что-то, не зная даже как оно точно должно выглядеть.

Я посмотрел конструкции использующие имена эвентов, попробовал так и сяк вставлять в свой код. Пыхтел часа два до 4 утра, но не осилил и пошел спать -_-

Эх, так надеялся на ответ сегодня :( выходные заканчиваются...

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

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

Могу ответить на вопрос в первом сообщении не заданный, но схожей тематики - скрипты выполняются 1 раз в кадр, т.е. делят очередь выполнения с разнообразными другими системами АО, самая тяжелая из которых - графическая, т.е. при большой графической нагрузке получаем меньшее кол-во кадров в секунду - реже могут юзаться скрипты. При большой скриптовой нагрузке получаем более редкую прорисовку кадров - падает ФПС.

Однако сколько времени занимают определенные элементарные действия я не засекал.

В принципе как я понял тебе нужно что-то типа:

Global("Ololo",1)

LogInfo(mission.GetLocalTimeHMS().s,"s, ",mission.GetLocalTimeHMS().ms,", ms")

for i = 1, 1000 do

Ololo = Ololo + 1

end

LogInfo(mission.GetLocalTimeHMS().s,"s, ",mission.GetLocalTimeHMS().ms,", ms")

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

Setras, спасибо, сейчас нагенерирую "нагрузку" и замерю )

А что на счет межаддонового обмена данными с помощью событий?

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

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

LogInfo(mission.GetLocalTimeHMS().s,"s, ",mission.GetLocalTimeHMS().ms,", ms")

for i = 1, 100000 do

Ololo = Ololo + 1

end

LogInfo(mission.GetLocalTimeHMS().s,"s, ",mission.GetLocalTimeHMS().ms,", ms")

Выдало:

Info: addon TestingButton: 7s, 135, ms

Info: addon TestingButton: 7s, 144, ms

Я х.з. если честно что и как конкретно тебе хочется замерить, скажу лишь что перерисовка пользовательского интерефйса дпс метра "DarkDPS" каждый кадр уже значительно уменьшает кол-во кадров в секунду (поэтому его переделали - интерфейс обновляется каждую секунду, на арене уменьшал до неиграбельного состояния).

А вычисления всяких циферек... Мм... Никто пока не жаловался :)

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

userMods.SendEvent( eventName, eventParams )

Использование:

userMods.SendEvent( "MY_EVENT_NAME", params )

Первый параметр - имя.

Второй параметр - переменная, можешь передать таблицу в которой понапихано всякой фигни.

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

При этом добавление после

Ololo = Ololo + 1

строки

LogInfo(Ololo)

"Притормозило" игру на 25 секунд и выдало

Info: addon TestingButton: 46s, 616, ms

Info: addon TestingButton: 4s, 708, ms

(Ясное дело - открыть файл, записать в него, закрыть файл, и так 100000 раз).

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

>> Выдало:

>> Info: addon TestingButton: 7s, 135, ms

>> Info: addon TestingButton: 7s, 144, ms

Cупер! Спасибо.

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

P.S. Я вчера случайно рекурсивно вызвал метод - игра зависла намертво и лог-файл мгновенно вырос до нескольких десятков килобайт )

>> Использование:

>> userMods.SendEvent( "MY_EVENT_NAME", params )

Огромное спасибо!!! Работает! А я использовал common.SendEvent("MY_EVENT_NAME", params ) и ничерта не получалось :)

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

Самые последние изменения в API лежат в доках в папке с игрой. Вполне возможно когда-то оно и было common.

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

короче графика грузит процессор - особенно Contaier

а простые вычисления мало жрут процессор.

передача данных через прерывания - тоже затратная - но не особо

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

Скорость цикла в игре достаточно хорошая. перебежать около 1000 предметов сохраненных в файле user.cfg и сравнить с ними какие либо строки для игры вообще не заметно. даже если подряд происходит проверка 50 таких проверок. только вот сохранение хромает =( сохранить 40-50 элементов(по одному) в файл размером 300кб занимает около 5-15с. при этом игра висит(((

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

а зачем их по 1му сохранять?? ведь сохраняться то будут все равно ВСЕ - так как перезаписывается вся секция config для этого аддона.

Если в чат выводить (используя LogToChat из ScriprLIB) по 10-20 строчек то тоже заметны зависы. Причем чем чем больше строк уже в чате есть, тем больше тормозит - поэтому у меня в библиотеке еще удаление из чата запускается

на АП с размером панели в 24 панельки целей и с полной анимацией меток на этих целях - еле заметно притормаживание 2Д графики.

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

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

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

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

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

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

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

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

Важная информация

Пользуясь сайтом, вы принимаете Условия использования