Информация: Уважаемые посетители! В течение нескольких месяцев на форуме существовала проблема с регистрацией новых пользователей, о которой администрации стало известно недавно. Если вы ранее пытались зарегистрироваться на форуме, но не получили на ваш e-mail письмо с ссылкой для подтверждения регистрации, просим вас зарегистрироваться повторно. Приносим извинения за доставленные неудобства. Если вы все еще испытываете проблемы с регистрацией на форуме, обратитесь за помощью на e-mail: mr.angelo@railroadsim.net

Симуляторы и производительность

Обсуждение других железнодорожных симуляторов

Re: Train Sim World, TSW

Сообщение le Sandro » 19.10.2016, 00:19

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

2Модераторы
предлагаю тему все-таки разделить на "Новости TSW" и "Рассуждения о новом TSW". Вольны менять название на свой вкус.
Аватара пользователя
le Sandro
 
Сообщения: 1958
Зарегистрирован: 30.03.2005, 00:14
Откуда: Пенза
Благодарил (а): 694 раз.
Поблагодарили: 481 раз.
Блог: Просмотр блога (2)
Играю в: RailWorks
Роль: Разработчик

Re: Train Sim World, TSW

Сообщение Света » 19.10.2016, 01:27

Skif писал(а):Света, не надо защищать DTG, так как все твои доводы не отменяют того факта, что движок у них тупой и неоптимизированый.
Защищать? Даже в мыслях не было. Дополнения кривые - даже спорить не собираюсь. Но по поводу движка - не соглашусь. Именно опираясь на доводы, которые я привожу.
Skif писал(а):не будешь же ты утверждать, что шутеры и игры класса Dying Light и тот же Ведьмак имеют меньший поликаунт сцены, чем несчастный TS ?
Нет, не буду. По той простой причине, что мне не знакомы игры этого класса. Я не могу сравнивать. Но не думаю, что такие игры так же прогружены скриптами, как ТС. И сомневаюсь, что эти классы игр можно сравнивать по обрабатываемой площади игрового пространства.
Skif писал(а):...в дальнейшем вызываясь через указатели и перегрузкой отрисовавших первый объект функций.
Но ведь на это тратится системное время, не так ли? Кому, как не Вам, знать, что банальный поиск по указателю - это операция сравнения, а по факту - суммирования с инверсией, т.е. как минимум 2-3 машинных такта.
Skif писал(а): Касаемо скриптов и т.п. и вовсе не смеши - общее потребление ресурсов скриптовым процессором TS не превышает такового у жалкого микроконтроллера уровня ATMega 16 - на то они и скрипты. К тому же, их считает исключительно ЦП, а не видеокарта, и ресурсов им на восьми ядрах и 8 Гб ОЗУ более чем достаточно - я еще не видел ни одного дополнения, запуск скриптов на котором просаживал FPS более, чем на 1-2 кадра.
Ну почему все всегда со мной спорят? :nenay: Что смешного? Вы думаете, я теоретизирую? Ладно, вот пруф. Обратите внимание на частоту кадров. Сначала я включаю ЭПК на оптимизированном скрипте. Затем добавляю не оптимизированную функцию, вызываемую при включении ЭПК. Когда запись не идет, бандикам показывает просадку со 150 до 1(!). Но и по Ctrl+Z результат заметен. Что скажете на это?
P.S.
Skif писал(а):и 8 Гб ОЗУ более чем достаточно
Какая разница, сколько оперативной памяти имеет ПК, если на выполнение машинного кода требуется четко прописанное количество времени? Если я буду делить 1000/2 не логическим сдвигом, а вычитанием, какое имеет значение объем памяти? Мне придется сделать 500 циклов с проверкой независимо от того, 2 кБ или 1ТБ памяти - согласны? Но только в случае со сдвигом я потрачу на вычисление 1 такт и за секунду смогу сделать миллион таких операций (при частоте 1МГц), а если буду вычитать, то на вычисление уйдет 500 циклов по минимум 2 такта - 1000 операций, и сделать я смогу всего 1000 операций за секунду. Вот и вся оптимизация.
Извиняться — не значит быть воспитанным. Быть воспитанным — значит не допускать того, за что необходимо извиняться. (с)
Аватара пользователя
Света
 
Сообщения: 214
Зарегистрирован: 18.06.2016, 19:38
Благодарил (а): 103 раз.
Поблагодарили: 240 раз.
Блог: Просмотр блога (2)
Играю в: RailWorks
Роль: Разработчик

Re: Train Sim World, TSW

Сообщение Skif » 19.10.2016, 10:34

Ну почему все всегда со мной спорят? :nenay: Что смешного? Вы думаете, я теоретизирую? Ладно, вот пруф. Обратите внимание на частоту кадров. Сначала я включаю ЭПК на оптимизированном скрипте. Затем добавляю не оптимизированную функцию, вызываемую при включении ЭПК. Когда запись не идет, бандикам показывает просадку со 150 до 1(!). Но и по Ctrl+Z результат заметен. Что скажете на это?
P.S.


Скажу, что это хрень, так как ВЕСЬ скрипт моего экспериментального ТУ7А, включая всю логику электросхемы, тормозов, дизеля с системой охлаждения и хождением по локомотиву (!) не вызывает просадки даже на 1 кадр. А в нем несколько тысяч строк, при сотне контролов у локомотива (96, если быть точным).

Какая разница, сколько оперативной памяти имеет ПК, если на выполнение машинного кода требуется четко прописанное количество времени? Если я буду делить 1000/2 не логическим сдвигом, а вычитанием, какое имеет значение объем памяти? Мне придется сделать 500 циклов с проверкой независимо от того, 2 кБ или 1ТБ памяти - согласны? Но только в случае со сдвигом я потрачу на вычисление 1 такт и за секунду смогу сделать миллион таких операций (при частоте 1МГц), а если буду вычитать, то на вычисление уйдет 500 циклов по минимум 2 такта - 1000 операций, и сделать я смогу всего 1000 операций за секунду. Вот и вся оптимизация.


Все эти подсчеты не имеют смысла, так как Windows работает фактически через виртуальную машину, и выполняет инструкции в асинхронном режиме. Т.е. частота выполнения инструкций не соответствует частоте ЦП.
А скрипты в TS и вовсе выполняются с частотой кадров сцены, если брать за основу функцию Update.


Касаемо сложности скриптов: скрипты, описывающие поведение монстров в Serious Sam или DOOM4, на порядок сложнее всего того, что мы пишем для локомотивов. Однако, id Tech и Serious Engine без хрипа тащат батальные сцены по две сотни монстров на одной поляне. Железнодорожные симуляторы не сложные - они просто неоптимизированные. В том же MSFS логика самолетов на порядок сложнее реализована - и тем не менее она еще ухитряется на компьютерах 10-летней давности тащить SIOC-сервер и через него работать с кучей железа (на этой же технологии работает мой тренажер, я подключил поддержку SIOC-сервера через костыль).
Skif
 
Сообщения: 2846
Зарегистрирован: 01.10.2009, 17:42
Благодарил (а): 263 раз.
Поблагодарили: 805 раз.
Блог: Просмотр блога (2)
Имя: Дмитрий

Re: Train Sim World, TSW

Сообщение Света » 19.10.2016, 12:06

Skif писал(а):ВЕСЬ скрипт моего экспериментального ТУ7А, включая всю логику электросхемы, тормозов, дизеля с системой охлаждения и хождением по локомотиву (!) не вызывает просадки даже на 1 кадр. А в нем несколько тысяч строк, при сотне контролов у локомотива (96, если быть точным).
Спору нет, конечно же, чтобы так повесить игру, надо хорошо постараться. Но цель моего пруфа - показать, что не стоит пренебрегать ресурсоемкостью скриптов и ничего смешного в этом нет. Если скрипт, допустим вагона, расходует 1 лишнюю мкс, то на 100 вагонах (что вполне нормально для среднего сценария) это уже 0,1 мс - лишняя, что очень много. А грамотно спроектированный скрипт даже 1 кадр не съест, если в нем нет сложных расчетов.
Какое значение имеет количество строк? В приведенном в пруфе скрипте более 2000 строк, но игру повесила 1 функция в 10 строк. Аналогично и количество контролов. Какое значение имеет их количество?

Skif писал(а):Все эти подсчеты не имеют смысла, так как Windows работает фактически через виртуальную машину, и выполняет инструкции в асинхронном режиме. Т.е. частота выполнения инструкций не соответствует частоте ЦП.
Что значит "через виртуальную машину"? Ну вот, например, есть камера на 12 МР. Если добавить ещё 10 процессоров, сможем ли мы получить картинку в качестве выше 12 МР? Нет, говорю я Вам, потому что законы физики не переступить. И можно сделать хоть 1000 виртуальных процессоров, можно хоть наизнанку вывернуться, но НИКОГДА 1 процессор с 1 АЛУ не сделает 2 логические операции одновременно. Если говорить о 2-ядерном процессоре, то он НИКОГДА не будет работать быстрее в 2 раза по сравнению с одноядерным при той же тактовой частоте, так как будет отвлекаться на синхронизацию. Поэтому, как бы Windows не работала, но если ЦП имеет 1 АЛУ, то ну никак не получится выдавить из него количество элементарных операций, большее чем тактовая частота. "частота выполнения инструкций не соответствует частоте ЦП" - естественно, она может быть только ниже для 1 ядра. Даже 1:1 не будет, разве что в теории. Для 2 и больше ядер - да, может. Именно поэтому я и пишу, что добиться большей производительности можно только повышая частоту или умножая количество физических ядер.
А само определение "виртуальная машина" свидетельствует о том, что физически её нет, а значит, все процессы, которые она якобы выполняет, реально происходят в АЛУ ЦП, отнимая у него время. Для меня это все равно, что взять полноприводный автомобиль и рассчитывать, что если двигатель имеет мощность в 200 кВт, то вместе это будет 800 кВт, потому что 4 колеса. Да, полный привод повышает проходимость. Может что-то ещё, не знаю. Но мощности он не добавит. Наоборот, на то, чтобы крутить все валы, надо потратить дополнительные усилия, и в общем смысле КПД полноприводного автомобиля будет ниже.

Skif писал(а):А скрипты в TS и вовсе выполняются с частотой кадров сцены, если брать за основу функцию Update.
НИКОГДА я с этим не соглашусь. Это функция Update выполнится с частотой кадров сцены. А если я из неё сделаю отправку сообщения на другую единицу ПС, то выполнится уже 2 функции за кадр - Update и ОnConsistMessage всех вагонов, входящих в состав. Если же они по этому сообщению дадут ответ, то суммарно для моего ПС за 1 кадр отработает 1 раз функция Update и столько раз, сколько в составе вагонов, ОnConsistMessage (если сделать ограничение, а иначе будет вообще цепная реакция). Именно из-за этого некоторые дефолтные ПС вызывают лаги - потому что их рассылка не оптимизирована и имеет лавинный эффект.

Skif писал(а):Касаемо сложности скриптов: скрипты, описывающие поведение монстров в Serious Sam или DOOM4, на порядок сложнее всего того, что мы пишем для локомотивов.
Повторюсь, вопрос не в сложности скрипта. А в оптимальности его работы. И в количестве его копий, работающих одновременно. Я могу сделать скрипт в 20000 строк, который будет незаметен для игры. А могу сделать в 10 строк и запросто повесить достаточно сильный ПК.
Извиняться — не значит быть воспитанным. Быть воспитанным — значит не допускать того, за что необходимо извиняться. (с)
Аватара пользователя
Света
 
Сообщения: 214
Зарегистрирован: 18.06.2016, 19:38
Благодарил (а): 103 раз.
Поблагодарили: 240 раз.
Блог: Просмотр блога (2)
Играю в: RailWorks
Роль: Разработчик

Re: Train Sim World, TSW

Сообщение DB BR Class 101 » 19.10.2016, 12:13

Всем доброго времени суток.
Могу сказать про главные недостатки симулятора ветки TS20xx:
1. Движок игры базируется на С++ 2010 и PhysX 9.10 когда уже вышли C++ 2015 и PhysX 9.16 - соответственно разработчики НЕ МОГУТ улучшить игру в плане перехода игры на новые версии ПО (не знаю, у меня сложилось такое мнение, что у разработчиков попросту нет исходников движка KUJU). Поэтому им лишь остается менять графику моделей, создавать сценарии и выпускать маршруты. А на этом особого продвижения проекта TS не выходит.
2. Главный упрёк разработчикам при выходе новый версий ТС - мы ожидали улучшения гемплея, а получили всего лишь перерисованное главное меню и новый вступительный ролик.
3. Господа(это я опять разработчикам) - а как вы проверяете производительность игры, какими инструментами? И где вообще цифры, графики, сведения что производительность игры в новой версии будет не хуже чем в старой?
3.1 И помимо всего прочего - а производительность шейдеров для DirectX9 в игре вас не очень впечатляет? Они вообще были проверены и оптимизированный для ТС? Взять к примеру динамическое освещение. С динамическим освещением FPS на новейших видеокартах в приделах от 15 до максимум 29-30, когда как с отключенным динамическим освещением(конечно, с потерей красочности сцены) - держится 30,а то и 40 FPS.
3.2 В DirectX9 Microsoft не рекомендовала включать многопоточную обработку( видимо из-за каких-то внутренних проблем в DX9). Понятно что в DX11 возможна многопоточная обработка графики и более лучшее использование GPU. Так почему бы не идти в ногу со временем и постепенно переделывать движок под DX11. Мне эта ситуация напоминает ситуацию с Trainz:ANE - поменяли движок для DX11, а сама игра осталась на уровне DX9.
4. Мультиплеер? Не, не слышали! - Те кто хоть сколько-нибудь разрабатывали аддоны к игре - карты, сценарии, объекты понимают что на этом движке он в принципе не возможем. Тут слишком кардинально бы пришлось менять структуру ассетов под мультиплеер. Не говоря уже о развертывании сетевой структуры под него. А без наличия мультиплеера игра в рейтинге очень теряет.
5. Раз уж появилась возможность создавать аддоны к игре то нужно хоть какую-то документацию к правилам построения аддонов. А уж не оставлять документы еще на уровне Railworks "первого" выпуска, и считать что этом работа закончена.
6. BluePrint Editor... Уж извините, это не редактор блюпринтов, а всего лишь создание XML файла. Концепция блюпринтов заключается в идеи "модульного,визуального програмирования" ассетов.
7. Взять еще к примеру формат IGS - хм, насколько я помню даже формат .X может содержать в себе сразу и меши и анимацю, остается лишь сделать из икса формат так сказать для коммерческого использования. Но что бы анимация и меши хранились отдельно!.... Не очень то просто отлаживать анимацию.
8. И последнее:
8.1 У меня сложилось такое впечатление что время в сценариях как ставится автоматом для ботов так оно и остается. А кто нибудь пробовал не опоздать в начале игры на 1-1,5 минуты из-за проходящего грузового состава в сценарии Night Train на маршруте Hamburg-Hannover?
8.2 Я конечно понимаю, что зима в европейских странах очень теплая, но, пардон люди на перроне зимой в летней одежде... Ну или летом в дождь без зонтов. Ну или осенью в лужи добавить листвы... Да и вообще где лужи???
8.3 Тем кто программирует тормоза на локомотиве... Нет, работают то они нормально, только вот они ПС не тормозят. Поймите, что чем быстрее спадает скорость тем больше трение в тормозах. А по-нашему тормозное нажатие...
Выводы из всего сказанного делайте сами:)
DB BR Class 101
 
Сообщения: 24
Зарегистрирован: 19.10.2016, 10:58
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Имя: Денис

Re: Train Sim World, TSW

Сообщение Света » 19.10.2016, 18:43

DB BR Class 101 писал(а):Выводы из всего сказанного делайте сами:)
Это только я не могу сделать выводы из набора несвязанных претензий, местами необоснованных, или кто-то ещё?

Главный упрёк разработчикам при выходе новый версий ТС - мы ожидали улучшения гемплея, а получили всего лишь...
Это понравилось больше всего... То есть, если я расскатаю губу и что-то там нафантазирую, то виноват потом будет разработчик, если я это не получу,верно?

Те кто хоть сколько-нибудь разрабатывали аддоны к игре - карты, сценарии, объекты понимают что на этом движке он в принципе не возможем. Тут слишком кардинально бы пришлось менять структуру ассетов под мультиплеер.
У меня среди разработок есть 2 маршрута (один общедоступен), некоторое количество скриптованых путевых объектов. Основной мой профиль - разработка скриптов, но я хорошо представляю весь процесс интеграции ассета в игру. По поводу движка и мультиплеера писать не буду, но не понимаю, каким образом структура ассетов влияет на возможность мультиплеера?

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

BluePrint Editor... Уж извините, это не редактор блюпринтов, а всего лишь создание XML файла.
XML-файл уже создан. Он-то и является шаблоном, в котором с помощью ВЕ устанавливается конфигурация аддона. Поэтому это как раз редактор. Другое дело, что он достаточно неудобен, здесь я соглашусь.
С другой стороны, мне очень хотелось бы увидеть, как именно Вы представляете себе "визуальное программирование" в BluePrint Editor. Например, добавление в модель ВЛ-80 крана №394. В симуляторе априори нет ни одного отечественного локомотива и нет ни одного узла к нему. Как Вы себе представляете работу с теми модулями, которых нет и никогда не было в симуляторе? Сделать редактор редактора? Чтобы создать свою библиотеку узлов и агрегатов? Или просто порадоваться, что есть такой хоть и не до конца удобный редактор шаблонов, но зато настолько гибкий, что позволяет творить вещи, которых нет и никогда не было в симуляторе, и которые даже не предполагались?

У меня сложилось такое впечатление что время в сценариях как ставится автоматом для ботов так оно и остается.
Это не так.

Тем кто программирует тормоза на локомотиве... Нет, работают то они нормально, только вот они ПС не тормозят.
Не вопрос, напишите, как должно быть, тогда можно будет говорить о практической реализации.
Извиняться — не значит быть воспитанным. Быть воспитанным — значит не допускать того, за что необходимо извиняться. (с)
Аватара пользователя
Света
 
Сообщения: 214
Зарегистрирован: 18.06.2016, 19:38
Благодарил (а): 103 раз.
Поблагодарили: 240 раз.
Блог: Просмотр блога (2)
Играю в: RailWorks
Роль: Разработчик

Симуляторы и производительность

Сообщение AntonK_007 » 19.10.2016, 20:35

Переношу обсуждение отсюда: post228178.html#p228178

/AntonK_007/
Добро пожаловать на мой YouTube канал. iMac 2013; 27"(2560 x 1440), i7-4771 3,5 GHz ,16 ГБ 1600 MHz DDR3, GeForce GTX 780M 4 Гб.
Аватара пользователя
AntonK_007
 
Сообщения: 2020
Зарегистрирован: 29.08.2004, 21:58
Откуда: Санкт-Петербург
Благодарил (а): 666 раз.
Поблагодарили: 351 раз.
Роль: Пассажир :)
Имя: Антон

Пред.

Вернуться в Другие ЖД симуляторы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1