• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток! Спешите принять участие в конкурсе "Таинственные миры" 2024!
    Ждем именно вас!

    Ссылка на конкурсную тему - тык
Иконка ресурса

Готика 2: НВ AST (Agama Script Tools) 002

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
может ли, теоретически, функция покадрового цикла вызывать проблемы с производительностью?
Конечно. Онаж жрет полезное время рендера. Но все зависит от кодера, конечно. При наличии прямых рук, нагрузку можно минимизировать до незаметной глазу. По хорошему, в цикле должны быть только менеджеры с хорошо отлаженной работой, а функции с вычислениями нужно прятать в условные события..

А вообще, г2 сколько потоков умеет занимать?
Готика намеренно не делит процесс на потоки. Почти вся нагрузка висит на основном, откуда работает и рендер и все вычисления из общего цикла. В потоки, как правило, выталкивается мелкий мусор типа звуков и им подобная ерунда, но не какие-то сложные вычисления.. Астом, в принципе, разбить логику можно, но сложно. Там все настолько кучно, что проще будет переписать движок под ноль, заведомо подгоняя архитектуру под мультитрединг....
 

Ziptar

Участник форума
Регистрация
13 Июл 2007
Сообщения
679
Благодарности
52
Баллы
200
Конечно. Онаж жрет полезное время рендера. Но все зависит от кодера, конечно. При наличии прямых рук, нагрузку можно минимизировать до незаметной глазу. По хорошему, в цикле должны быть только менеджеры с хорошо отлаженной работой, а функции с вычислениями нужно прятать в условные события..
В В2 это, в основном, проверки разной степени вложенности. Но их очень много. =/
Готика намеренно не делит процесс на потоки. Почти вся нагрузка висит на основном, откуда работает и рендер и все вычисления из общего цикла. В потоки, как правило, выталкивается мелкий мусор типа звуков и им подобная ерунда, но не какие-то сложные вычисления.. Астом, в принципе, разбить логику можно, но сложно. Там все настолько кучно, что проще будет переписать движок под ноль, заведомо подгоняя архитектуру под мультитрединг....
С основным потоком всё более-менее понятно.
Со вторичными не очень. В2 ухитряется грузить 2 потока i7-3770 на 100%, на 3-х потоках выходит 1 поток на 100% и 2 по 80%, на 4-х 1 на 100% и 3 на 40-60~.
Если на вторичных потоках всякая мелочь - мне не совсем понятно чем же они так загружены. Впрочем, это уже не так важно.

Благодарю за ответы *thumbs up*
 

rusk

Участник форума
Регистрация
16 Дек 2015
Сообщения
246
Благодарности
39
Баллы
190
Gratt
тут Тразеге достали с переводом В2 на новий АСТ - он дал ответ
пробовали уже переходить. Но есть проблема. Во 1 новая версия работает исключительно на мод-стартере. Это большая головная боль игрокам, которые даже мод порой поставить нормально не могут. Во 2 СП - сейчас запуск АСТ производится через инъекцию, прописанную в СП. В новой версии такого уже не сделать, а значит СП пролетает, что 100% недопустимо. В 3 у меня он что то вобще не завелся....дальше переводить не пробовали. Вообщем забудте про хот бар и про новую платформу АСТ. Либо после кажой загрузки вам надо будет его выставлять заново. + магия на нем работать не будет, а только оружие. И вобще эта идея так себе без нормальной реализации. А реализовать ее сможет только Грат. А грат ее не будет реализовывать, поскольку он сидит на новом АСТЕ. Вот такой порочный круг...
можеш прокоментировать? Почему получаються такие костили и порочний круг замкнут?
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.332
Баллы
315
Потому что у тразага свой форк аст, довольно старый, отсюда и все грабли. Беда вся в том, что тразаг решил себе сделать обособленую версию аст, и по сути это в принципе исключило любую поддержку новых версий и тд, так что такие дела.
 
Последнее редактирование:

rusk

Участник форума
Регистрация
16 Дек 2015
Сообщения
246
Благодарности
39
Баллы
190
Потому что у тразага свой форк аст, довольно старый, отсюда и все грабли.
ну ето я понял - то он как раз и дал ответ( хотя и не розвернутий) почему не может он заюзать новий АСТ. ( или я непонял твой ответ изза отсутствия знаний).


Истина всегда в дискусии( или в вине). А стрелки пусть на жд перебраcивають
 
Последнее редактирование:

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.332
Баллы
315
Ну блин, как тебе объяснить, понимаешь аст который в в2, и который у нас это два КООРДИНАЛЬНО разных продукта, не совместимых друг с другом в принципе.
 

Ziptar

Участник форума
Регистрация
13 Июл 2007
Сообщения
679
Благодарности
52
Баллы
200
Сатурас, Тразег там пишет про то, что якобы "сп пролетает". Это так, или Тразег "хитрит"?
Из этой и соседних тем я могу сделать вывод, что сп и аст актуальных версий прекрасно работают вместе. Я не прав?


UPD:
Гратт, в описании AST SDK присутствует выделение функции во второй поток. Возможно ли отправить выполнение покадрового цикла в него?
Кроме того, возможно ли сделать её вызов каждый второй/четвёртый/восьмой кадр? Хотя я догадываюсь как это можно сделать в самих скриптах... хм.
 
Последнее редактирование:

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
В В2 это, в основном, проверки разной степени вложенности. Но их очень много. =/

С основным потоком всё более-менее понятно.
Со вторичными не очень. В2 ухитряется грузить 2 потока i7-3770 на 100%, на 3-х потоках выходит 1 поток на 100% и 2 по 80%, на 4-х 1 на 100% и 3 на 40-60~.
Если на вторичных потоках всякая мелочь - мне не совсем понятно чем же они так загружены. Впрочем, это уже не так важно.

Благодарю за ответы *thumbs up*

Все что там прописано работает исключительно по условиям. Да и самих условий там на самом деле не так много. Можно конечно часть вынести в посекундный таймер, вот только это навряд ли снизит нагрузку. Но попробовать можно. А без циклических функций и перфрейма ты можешь смело забыть про большую часть вещей в в2...это уже будет прошлый век оригинальной г2. В любом случае я уберу все условия с перфрейма и гляну что там с загрузкой. Если она снизится в разы, тогда будем копать...если нет, то это дело вовсе не в ней.

Это не я хитрю, а ты не понимаешь. :) У нового АСТА загрузка четко по плану, в котором СП никак не участвует и вообще не рекомендуется к использованию вместе с ним.

Хз..у меня сейчас фризов нет ни с дх11 ни без него. Есть только вылеты OOM...но че с этим делать я хз.
 

Ziptar

Участник форума
Регистрация
13 Июл 2007
Сообщения
679
Благодарности
52
Баллы
200
Все что там прописано работает исключительно по условиям. Да и самих условий там на самом деле не так много. Можно конечно часть вынести в посекундный таймер, вот только это навряд ли снизит нагрузку. Но попробовать можно.

Это не я хитрю, а ты не понимаешь. :) У нового АСТА загрузка четко по плану, в котором СП никак не участвует и вообще не рекомендуется к использованию вместе с ним.
Естественно, я ж ни того, ни другого не видел. Ориентируюсь по тому, что написано. :D
А вот на счёт совместимости буквально сегодня читал в одной из тем по асту, что работают они вместе, с такими ещё намёками, что, мол, коммунити русскоязычное - друг другу реверансы делают. ;)

PS кажется надо завязывать на двух форумах одновременно разговаривать :D
 
Последнее редактирование:

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
СП патчит память, АСТ же фигачит свою логику через хуки. Если они нигде не пересекаются пока то да, работают вместе. Аст писаный для в2 не пересекается, Сатурас тогда сам лично сверял перед релизом все вызовы. Что сейчас я хз.
 

rusk

Участник форума
Регистрация
16 Дек 2015
Сообщения
246
Благодарности
39
Баллы
190
Что сейчас я хз.
Тоесть В2 и АСТ дороги разошлись навсегда? А есть хоть какието мододели ( может поляки или немци хотя б) кто тогда использует АСТ в своих модах.
Анклав и Амель ето понятно - то все же ето технические моди по больше мери будут.
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Тоесть В2 и АСТ дороги разошлись навсегда? А есть хоть какието мододели ( может поляки или немци хотя б) кто тогда использует АСТ в своих модах.
Анклав и Амель ето понятно - то все же ето технические моди по больше мери будут.

Таких пока не знаю... мб и есть. В моем случае мне это светит только в том случае, если Грат доработает запуск нового аста через обычный ехе или же будет возможность изменения начинки тех функций, что патчит СП, чтобы исключить его использование (например расчет урона арбалета от силы как пример). В ином же случае везде будут грабли. У меня вот он даже на чистой готе не запустился без всяких плагинов. Я хз почему...:confused:
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
тут Тразеге достали с переводом В2 на новий АСТ - он дал ответ
Сатурас, Тразег там пишет про то, что якобы "сп пролетает". Это так, или Тразег "хитрит"?
мол, коммунити русскоязычное - друг другу реверансы делают. ;)
только вот тут это коммьюнити пролетает на моменте новой выдумки сп сделать свой стартер, а аст инжектить через свою либу. начали самовольничать вобщем. нам думаешь охотно хочется подстраиваться под кого-то? нет.

Гратт, в описании AST SDK присутствует выделение функции во второй поток. Возможно ли отправить выполнение покадрового цикла в него?
Кроме того, возможно ли сделать её вызов каждый второй/четвёртый/восьмой кадр? Хотя я догадываюсь как это можно сделать в самих скриптах... хм.
уже говорил выше. ты замудохаешься с мьютексами. и то никто не дает гарантии, что все будет работать нормально. готан по определению не любит, когда что-то в его кишках работает вне основного потока. хочешь - попробуй.. мне одного раза хватило уже

Таких пока не знаю... мб и есть. В моем случае мне это светит только в том случае, если Грат доработает запуск нового аста через обычный ехе или же будет возможность изменения начинки тех функций, что патчит СП, чтобы исключить его использование (например расчет урона арбалета от силы как пример). В ином же случае везде будут грабли. У меня вот он даже на чистой готе не запустился без всяких плагинов. Я хз почему...:confused:
предлагаешь мне ехешник перекомпилить? ::)
смотри в чем разница аста и сп.
сп меняет родную либу, посему им не надо ничего инжектить в процесс, экзешник сам их подхватит.
у нас подход иной, мы принудительно скармливаем аст.
по этому не надо тут устраивать кастинг в прон и подключать одну либу другой. это лютый бред, ровно как и зависимость сп от стартера.

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

например расчет урона арбалета от силы как пример
онож фикшеноу нас вроде

Trazege, начнем с того, что 10 минут потестить - это не отладка :D так что ты не можешь делать выводы о том, что оно не заработает
 
Последнее редактирование:

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Ну ты сам сказал позже....я и сижу жду. В принципе в субботу можно продолжить тесты если будет время у тебя.

Насчет ехе - не, ты меня не понял. Просто я не хочу ни кой разом терять наработки, сделанные на СП под в2. Если я в новом асте смогу их вернуть, нет проблем. Тогда и со стартера можно стартовать. Просто например той же функцию расчета урона в асте нет. А без не я не смогу изменить для арбалетов расчет с ловкости на силу.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
в смысле позже? :D я сказал что отошел, а ты потом свалил куда-то.. ни привет, ни пока :confused:
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
ребятки, инжекторы свои обновляйте кому надо, в шапке AgamaST архив с экзешником.
принципиальных отличий нет, тем не менее хочу заметить пару вещей, по которым советую ребутнуть файл.
во-первых AST.exe от старого аста уж как пару лет не апдейтился ни разу.
во-вторых у старого есть такая трабла - он не умеет определять статус инъекции. если в ходе операции произошел какой-либо сбой, процесс оставался замороженным..
в-третьих. он не компилился с совместимостью под хп, насколько я помню, но это не точно.. так что дерзайте..
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.332
Баллы
315
А как вам мысль внедрить в АСТ, возможность создания OU.BIN/.CSL при компиляции игрой?
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
[Вечернее обновление #1]
Изменения касаются только библиотеки AST.dll
Для плагинов обновление по желанию, либо в файле CConfig.h вручную дописать одну строчку:
enum.png
Изменения:
- поправлена архивация класса oCItem
- удалены ненужные хуки стрельбы
- добавлен переключатель NonTarget для SDK

Download
 
Последнее редактирование:
Сверху Снизу