Оптимизация омси 2


Оптимизация Omsi

Играем без тормозов

 

Так уж заведено, что немцы не любят FPS и поэтому они почти не оптимизировали нашу любимую Omsi... 

 

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

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

Так же тебя могут подвести моды, сделанные крайне не продуманно (тяжелые текстуры, повышенное количество полигонов, ненужные, но сидящие в памяти скрипты...).

Итак, чтобы в полной мере насладиться игрой тебе понадобятся: мощный комп, грамотные моды и немного времени, чтобы настроить параметры.

Первую вкладку, которую я рассмотрю:

 

Graphics

 

 

Target Framerate - позволит нам ограничить частоту кадров, рекомендуется поставить 90-100 чтобы "раздушить "игру. Можно ставить хоть все 200, но комп всё равно не выдаст больше определенного значения. Следовательно, большее значение - большая производительность.

 

Neighbour Tiles Count - ограничитель тайлов. Значение 1 будет загружать 1 тайл единовременно (меньше значение - больше производительность).

 

Max. Obj. Visibility Distance - дальность прорисовки от положения камеры в метрах. Нельзя определённо сказать, какое значение параметра подходит лучше всего. Всё зависит от "тяжести" игровых домиков и прочих объектов. Я ставлю значение от 700 до 1000 метров. Меньшее значение приведет к улучшению производительности, но играть будет невозможно, так как будет постоянная прогрузка объектов и они будут появляться прямо "перед носом", а это, согласитесь, не удобно.

 

Min. Obj. Size (% Screensize) - довольно интересный параметр. С помощью него мы задаём процент объектов, которые будут показаны на экране в данную секунду. Большее значение увеличит производительность, но объекты будут появляться на камеру гораздо ближе. Рекомендуемое значение от 1 до 3 процентов. Скажу вновь, настраивать данный параметр нужно "по месту".

 

... for Reflections - то же самое, только для зеркал.

 

Real Time Reflexions - параметр задаёт отрисовку изображения на зеркалах. Имеет 3 значения: Full, Economy и None, Для увеличения производительности рекомендую установить значение Economy. В особо запущенных случаях ставим None.

 

Sun Glow Effect - эффект "солнечного зайчика". Для улучшения производительности снимаем галку.

 

Max Object Complexity - сложность отображения объектов. Говоря простым языком параметр жёстко указывает, какие объекты на карте мы будем загружать, а какие нет.  Не буду вдаваться в подробности значений, просто поясню, что для улучшения игрового процесса рекомендую выставить значение 1, 2. В крайних случаях 0, но приготовьтесь видеть полупустую карту =)

 

Particle Systems - эффекты дыма, пара. Галочкой "Active" включаем или отключаем "дымную систему". Отключение позволит ускорить время просчёта графики тем самым подняв производительность. Если всё-таки мы хотим дым, но при этом хотим снизить "лаги", уменьшаем значение Max. Particles per Emitter на 200-300 единиц.

Галочкой Only User Vehicle отмечаем, что дым будет только на нашем автобусе. На всех остальных транспортных средствах дыма НЕ будет. 

Галка No P.S. in Reflection отвечает за дым в отражениях на асфальте, установив галку увеличиваем производительность. 

 

Stentil Buffer Effects - параметр отвечает за включение и отключение динамических теней (от объектов на карте), отражений на асфальте (когда идет дождь) и видимость людей в этих отражениях. Снимаем галки - увеличиваем производительность. 

 

Вторую вкладку, которую мы будем настраивать:

 

Graphics (advanced)

 

 

Forced Refl. Economy Mode включает в себя 2 важнейших параметра: activate below FPS и deactivate above FPS. Эти значения обеспечивают принудительное включение экономичного режима зеркал. Подозреваю, если во вкладке Graphics режим отражений на зеркалах выключен, то данный параметр не повлияет на производительность. Аctivate below FPS устанавливает порог включения режима экономии отражений объектов на зеркал ниже установленного значения FPS, deactivate above FPS позволяет установить порог выключения режима экономии, если значение FPS превысит установленное значение. 

 

Нельзя однозначно сказать какие параметры установить, но считаю оптимальным значением будет:

аctivate below FPS: 18-23

deactivate above FPS: 35-45

 

Dynamic Tile Count Reduction так же включает в себя 2 параметра: reduce Tile Count below FPS и increase Tile Count above FPS. 2 важных, на первый параметра, которые позволят нам снизить число загруженных тайлов карты, если значение FPS упадёт ниже указанного значения и вернуть их обратно, если значение превысит указанное число.И вновь не совсем понятно, для чего нужны эти параметры, ведь как описывалось выше, единовременно будет загружен только 1 тайл карты ( если вы выставили 1 в значении Neighbour Tiles Count), следовательно, ни увеличивать ни уменьшать нам нечего!)

 

Сам по себе тайл гораздо тяжелее системы отражений, поэтому рекомендую выставить значения:reduce Tile Count below FPS: 13-16increase Tile Count above FPS: 35-40

 

Use Material Channels. Данный столбик состоит из 5 параметров, которые довольно сильно повлияют на быстродействие игры. Так как к игровым объектам можно применить различные текстурные значения, такие как "Ночная текстура" или "текстура отражения", "бамп", "текстура освещения" это открывает довольно неплохие перспективы в графическом плане игры. Но каждая подгружаемая текстура, например текстура "хрома", "работает" в реальном времени, она забивает свой кусок быстродействия.

А некоторые текстуры могут быть в большом разрешении0, вплодь до 4096x4096. Согласитесь, быстродействия это не добавляет. 

Смело отключаем ненужные галки и смотрим на результат. Обратите внимание, что отключение таких параметров как Reflexion, Light и Night map скажется на качестве отображении некоторых объектов. 

Пробуйте и находите баланс между скоростью работы и "красотой" графики. 

 

Параметры окна Textures так  же позволяют немного улучшить производительность игры, отключив и настроив некоторые параметры. 

Галка Use Only Low-Res Textures принудительно включает загрузку текстур низкого разрешения. Включаем для увеличения производительности.

Галка Limit all textures (apart from own bus) to 256 pixels включает ограничение всех текстур, кроме автобуса, на котором едем в данный момент, до 256 пикселей. 

Включаем для увеличения производительности.

 

Max. Tex. Mem. for high-res Tex load параметр позволяет выделить текстурную память под текстуры высокого разрешения. Рекомендуется 2048 или больше, зависит от количества памяти на видеокарте. 

Real Time Reflexions Texture Size устанавливает размер текстур отражения (для зеркал), оставляйте как есть.

 

Ai - Traffic

 

 

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

Road Traffic Max Count устанавливает количество транспортных средств, загруженных на карте. Суммарное уменьшение значений сильно увеличит производительность игры в целом!

 

Humans Max Count параметр позволяет уменьшить число людей, находящихся в поле видимости игрока. Уменьшение увеличивает производительность.

 

Factor Passengers at Stations так же позволяет уменьшить число пассажиров на остановках. Настраивается совместно с параметром Humans Max Count. Уменьшение увеличивает производительность. 

 

Shedule Priority устанавливает приоритет маршрутных автобусов. Не в курсе, увеличивает или уменьшает производительность. 

 

 

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

 

Автор: Wizard

omsimods.ru

OMSI 2 – обзор и личное мнение. - Блоги

Немного от себя.

OMSI 2 (DerOmnibussimulator) симулятор вождения автобуса от немецких разработчиков MRSoftware. Не стоит сразу размахивать руками с криками «Опять немецкий шлак!» «Кто в него играет то?» Поверьте, любителей подобных симуляторов полно. Конечно же, их в разы меньше, чем любителей «шутеров», но они есть.  Сам жанр «симулятор» медленно, но уверенно набирает своих фанатов и энтузиастов.  Людей привлекает серьезность и реализм в играх. Именно симуляторы готовы подарить вам ощущения серьезности и достоверности происходящего. Проект OMSIдал старт еще в далеком 2011 году. Про игру мало кто знал у нас. А вот на территории Германии игра нашла своих поклонников практически сразу.

 

Из Википедии «В игре присутствуют двухэтажные автобусы MAN серий SD200 и SD202 с оригинальными логотипами производителя, представлены модификации с 1977 по 1992 модельные года. Место действия - Западный Берлин конца 1980-ых, район Шпандау, а также маленький городок Грундорф, позиционирующийся разработчиками как учебно-тренировочная карта. Симулятор поддерживает смену времени суток, погоды, времен года. ИИ-трафик имеет достаточно хорошо проработанную модель поведения: соблюдает нормы ПДД, встречаются специально сгенерированные игрой нарушители»

 

В целом, игра была увлекательна, не смотря на то, что в России не была издана официально. В скором времени  унаследовала продолжение OMSI 2.

 

Когда я в первый раз запустил OMSI (первая часть) я не понимал с чего начать вообще? Куда нажимать, что тыкать, как, черт возьми, завести это автобус. Не говоря о том, как прописать маршрут, что бы человекороботы пассажиры наконец уселись в уютном салоне. При всем этом игра жутко тормозила и глючила. С угрюмым лицом я удалил игру и забыл ее на долгое время. Но потом,  на YouTubeстали выкладывать любительские мануалы, рассказывающие об нюансах геймплея. Я решил попробовать снова. И вы знаете, затянуло. Ушел с головой в игру даже не замечая того, что игра напичкана всевозможными глюками и багами. А потом пошли новые карты, русские автобусы, созданные русскими энтузиастами. Еще я забыл сказать о том, что в игре есть так называемый MapEditor, с помощью которого можно творить, творить и еще раз творить.  На русских картах было чертовски интересно играть. Народные умельцы, даже сделали озвучку пассажиров, которая официально была на немецком языке.  Прокатиться на широко известной в 80 - 90-х марке автобуса Icarus вызывало восторг и радость. Но ярый поклонник «FPS» на игру даже не взглянет. Игрой заинтересуются лишь любители подобного жанра а их, повторюсь, не очень много.

 

Под большим впечатлением от игры, я ждал выхода OMSI 2. Игра не издавалась в России официально, а цена на игру в магазине Aersoftбыла чересчур высока для жителей бывшей стран СНГ. Из-за чего игру  у нас никто не покупал. Или же покупали истинные фанаты. OMSI 2 тоже никто не издавал в России, но она официально стала распространяется в сервисе Steam. Цена естественно намного ниже европейской 30 евро против 549 р., но для кого-то даже эта цена покажется завышенной.  Истинный фанат игры обязательно будет рад и этому, потому что 30 евро и 545 р. уж явно в цене отличается. 

 

OMSI 2 и с чем его едят.

Итак, после небольшого введения в тему признаюсь вам, что я игру купил в Steam. И я ничуть не жалею. Но вот, многие будут писать, что игра не стоит того.  Лучше купить «сборник контры» за эти деньги, но все как говорится, зависит от человека и его интересов.

Первым делом, что мне понравилось, это новое меню. Оно стало в разы удобнее и лучше. Карта расширилась и стала просторнее. А самым вкусным нововведением в игре появление солнечного автобуса или в простонародье «гармошка».  Наверное многие любители автобусов хотели прокатиться за рулем этого многометрового гиганта. Теперь же можно мечту осуществить благодаря разработчикам OMSI 2. Модель автобусов старательно смоделированы с реальных прототипов. Звуки записаны с реальных двигателей, и даже при поворотах на «гармошке» издается характерный скрип.  Все это радует и даже иногда хочется реально стать водителем автобуса. Если честно, со времен первой части игра не потерпела существенных изменений. За исключением,  расширенной карты, солнечного автобуса, новых персонажей-пассажиров со новыми репликами, и немного подкорректирована оптимизация в целом.  Пассажиры иногда вставляют свои фразы, то им холодно, то им жарок, ругаются когда резко тормозишь или скачешь на каждой кочке, возмущаются когда им даешь не правильно сдачу. О да, в игре можно продавать билеты.  И прямо как в жизни, разные билеты, деньги, сдача. Правда, деньги там реализованы как старые «доич марки». А народными умельцами, на своих картах, конечно же, реализованы рубли.

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

 

Плюсы:

Солнечный автобус «гармошка»

Звуки автобусов и функциональность в кабине можно нажимать почти все кнопочки

Продажа билетов

Релики пассажиров

40 минутные (реальные)маршруты (жаль их два только)

Просторная карта "Берлин"

Физика и модели автобусов (на гармони смоделирована каждая складочка)

Минусы:

Изрядно уставревшая графика и не поддержка теней в реальном времени

Баги и глюки

Роботоподнобная анимация пассажиров

Пассажиры не умеют в автобусе стоять

 

Мой рейтинг  - 7

об авторе Пользователь пока ничего не написал о себе.

www.playground.ru

Скриптовый язык Omsi

Введение

 

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

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

 

Основные понятия

 

Синтаксис языка представляет собой совокупность описаний для каждой переменной или макроса:

 

(L.L.peremennaya) - Load Local, загрузить числовые данные из peremennaya.

(S.L.peremennaya) - Save Local, сохранить числовые данные в peremennaya. 

(L.S.peremennaya) - Load System, загрузить системную peremennaya.

(L.$.peremennaya) - Load String загрузить строковые данные из peremennaya.

(S.$.peremennaya) - Save String, сохранить строковые данные в peremennaya.

(С.L.postoyannaya) - Вызвать значение постоянной.

(F.L.krivaya) - Вызвать кривую.

(T.L.zvuk) - Вызвать воспоизведение звука (отсылка к описанию в sound файле).

 

Так же используются математические символы, такие как: +, *, -, /. 

А так же: ! - не, && - и, || - или (в основном применяются в условиях). > - больше, < - меньше, >= - больше или равно, <= - меньше либо равно.

Строковые и числовые данные можно сохранять в стеки. Всего стеков 7, описываются как:

s0 -s7

 

и загружать данные из них посредством

l0 -l7

Код можно писать как в одной строчке так и в столбик (что гораздо удобнее)

 

Пример кода:

(L.L.per_1) (L.L.per_2) * (L.L.per_3) / (L.L.per_4) + (S.L.per_5)

или

(L.L.per_1)

(L.L.per_2) *

(L.L.per_3) /

(L.L.per_4) +

(S.L.per_5)

 

Загрузили переменную per_1 и умножили на значение per_2, затем разделили на per_3, прибавили к этому per_4 и сохранили результат в per_5.

 

Стеки очень похожи на работу с переменными:

(L.L.per_1) (L.L.per_2) * s0

(L.L.per_3) (L.L.per_4) + s1

s0 s1 / s2

 

Загрузили переменную per_1 и умножили на значение из per_2, сохранили результат в стеке 0.

Загрузили значение из per_3, прибавили per_4, сохранили в стеке 1.

Загрузили значение стека 0, разделили на значение стека 1 и сохранили результат в стеке 2.

 

Условия {if}

 

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

Основные теги это {if} {else} {endif}. 

 

Рассмотрим простой пример условия:

(L.L.per_1) 1 =

          {if}

                    3 (S.L.per_2)

{endif}

Если значение переменной per_1 равно 1, то сохраняем значение 3 в переменной per_2.

 

(L.L.per_2) 0 =

          {if}

                    1 (S.L.per_3)

          {else}

                    0 (S.L.per_3)

{endif}

Если значение переменной per_2 равно ноль, то сохраняем в per_3 значение 1, иначе сохраняем в per_3 значение 0. 

 

Поддерживаются условия с вложенностью:

 

(L.L.per_2) 0 =

          {if}

                    (L.L.per_3) 1 =

                                       {if}

                             3  (S.L.per_4)

{endif}

{endif}

 

Второе условие per_3 выполнится когда первое уловие per_2 будет равно ноль. 

 

Основные теги

 

Ниже я рассмотрю основные теги, в которые помещается код:

                                                                      

{init}

 

Тег инициализации. Пишется самым первым в начале файла, либо в с самом первом файле автобуса (напр. MAN_SD80_main.osc). Обычно в него помещаются функции, необходимые для первичного занесения в них данных. В {init} так же может ссылаться на макросы инициализации. 

 

Пример:

 

{init}

          1 (S.L.peremennaya_1)

          2 (S.L.peremennaya_2)

          (L.L.peremennaya_1)  (L.L.peremennaya_2) + (L.L.peremennaya_3)

          (M.L.init_2)

{end}

где задаем первичное значение переменных peremennaya_1, peremennaya_2 и далее складываем их, где заносим значение в переменную peremennaya_3, затем вызываем инициализацию других переменных в init_2.

 

{frame}

 

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

 

Пример:

 

{frame}

(L.L.peremennaya_1) = 0

          {if}

                    2 (S.L.peremennaya_2)

          {else}

                    (L.L.peremennaya_1)  (L.L.peremennaya_2) + (L.L.peremennaya_3)

          {endif}

          (M.L.frame_test)

{end}

 

Объявляем фрейм и выполняем в нем условие, далее вызываем дополнительный фрейм(отсылка к макросу) frame_test.

 

 

omsimods.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта