Действительно ли маршрутные сигналы грузят компьютер?

OpenTTD - современная игра, клон Transport Tycoon Deluxe с открытым исходным кодом, написанный на C и С++. Содержит ряд ключевых улучшений и возможность игры по сети. На данный момент это главное направление развития игры.

Модераторы: eraserkry, Mihamster, Smoky555, Группа модераторов

Действительно ли маршрутные сигналы грузят компьютер?

Сообщение Vasyok » Пт мар 15, 2013 18:39

Всем привет! Вот здесь написано, что маршрутные сигналы сильно грузят компьютер. Но то был 2010-ый год :). Сегодня что-нибудь изменилось? Сколько себя помню, всегда пользуюсь только маршрутными сигналами, дабы избежать вход-выходного гемора при использовании обычных сигналов. И, вродь как, тормозов не замечаю.
Моя конфигурация Inter Core 2 Duo (2x)1.83 Ггц, 2 гига ОЗУ, видюха geforce 8400m gs 128 мб. Мне стоит менять свою привычку и переходить на обычные сигналы?
Vasyok
Диспетчер
Диспетчер
 
Сообщения: 130
Зарегистрирован: Чт май 20, 2010 23:23

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение Wowan » Пт мар 15, 2013 19:33

Смотря на какой карте играешь и насколько она плотно застроена. Я думаю, с твоим процом проблемы начнутся уже на карте 1024х1024 при 100-200 поездах.
PMS, естественно, жрут ресурсы больше, чем обычные сигналы. На односторонней линии друг за другом ставить маршрутные сигналы вместо простых однонаправленных — это излишество.
Аватара пользователя
Wowan
Почетный тайкунер
Почетный тайкунер
 
Сообщения: 1383
Зарегистрирован: Вт сен 18, 2007 14:43
Откуда: трасса М1, Минск — Москва

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение kraks » Пт мар 15, 2013 19:37

Ну слово "сильно", наверное, не совсем правильно применять... Лучше сказать "грузят больше, чем простые". По поводу изменений с 2010 года ничего конкретного не скажу, но, думаю, не ошибусь во мнении, что они всегда будут грузить больше, чем простые, по той элементарной причине, что вычислений надо больше (логика их работы сложнее, чем у простых сигналов). А компьютер же штука тоже простая как дверь: вычислений больше - считать надо дольше. Но раз не тормозит, чего заморачиваться? :)
Аватара пользователя
kraks
Президент
Президент
 
Сообщения: 889
Зарегистрирован: Вт окт 03, 2006 01:05
Откуда: Москва

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение Vasyok » Пт мар 15, 2013 21:03

Спасибо, я сделал выводы.
Vasyok
Диспетчер
Диспетчер
 
Сообщения: 130
Зарегистрирован: Чт май 20, 2010 23:23

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение Edd.Dragon » Сб мар 16, 2013 00:18

Многие имеют привычку ставить ТОЛЬКО маршрутные повсюду, где в них нет смысла и они выполняют функцию самых простых светофоров. В итоге в большой транспортной сети вместо пары сотен маршрутных и пары тысяч обычных будут все маршрутные. Очевидно, что по логике работы машрутных светофоров их обработка занимает в сотни раз больше времени, чем самых обычных. Относительно - это существенно. Абсолютно - врядли есть смысл замерять и оценивать существенность. Куда существеннее тормоза алгоритмов поиска пути, например. Или отрисовки кучи городов в мелком масштабе на большом экране. Или какой-то мощный бот, много чего вычисляющий на каждом ходу. А для очистки совести можно просто не ставить на перегонах вереницы из десятков маршрутных светофоров и всё ))
Аватара пользователя
Edd.Dragon
Директор
Директор
 
Сообщения: 266
Зарегистрирован: Сб янв 14, 2012 06:09

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение ziond » Сб мар 16, 2013 01:12

Маршрутные сигналы сильно завязаны на алгоритм поиска пути YAPF. Мне кажется, что начиная с некоторого момента разработчики в некоторой мере унифицировали сигналы. То есть теперь обычные "блочные" сигналы ведут себя больше как маршрутные, но логика их осталась старая для сохранения обратной совместимости.
На рисунке сигнал "блочный" но поезд всё-равно резервирует путь до станции
Finbrook Marsh Transport, 3rd Feb 1900.png

Лично я, когда появились маршрутные сигналы, ставил их на развязках, а обычные - на прямых участках. Сейчас использую везде маршрутные и особых тормозов в игре не наблюдаю :)
ziond
Директор
Директор
 
Сообщения: 355
Зарегистрирован: Пт мар 13, 2009 15:59

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение Ghost » Сб мар 16, 2013 11:04

Vasyok писал(а):Всем привет! Вот здесь написано, что маршрутные сигналы сильно грузят компьютер. Но то был 2010-ый год :). Сегодня что-нибудь изменилось? Сколько себя помню, всегда пользуюсь только маршрутными сигналами, дабы избежать вход-выходного гемора при использовании обычных сигналов. И, вродь как, тормозов не замечаю.
Моя конфигурация Inter Core 2 Duo (2x)1.83 Ггц, 2 гига ОЗУ, видюха geforce 8400m gs 128 мб. Мне стоит менять свою привычку и переходить на обычные сигналы?

ИМХО, в алгоритмической части принципиально ничего не поменялось. Для обычных сигналов объем обработки меньше, чем для маршрутных. Особенно заметно на перекрестках.

Теперь о железячной части. Процессор C2D 2ГГц, 2/4 ГБ , видео значения не имеет.

Карта 2048х2048. Поездов около 800, авто - больше 1500, самолетов около 100, пароходов в районе 20. Промышленности мало, городов мало. Сборка игры 1.0.4 от анона. Заметные глазу тормоза начались примерно на 300 поездах и 500 авто. Все магистральные двухпутные линии были построены на односторонних маршрутных светофорах, поэтому все они, по возможности, были заменены на простые. На второстепенных однопутных линиях с разъездами были оставлены маршрутные, чтобы линия быстрее освобождалась. Следующий этап - 500 поездов и 800 авто (развитие шло пропорционально по мере освоения карты). Пришлось отключить анимацию. При достижении 700 поездов и 1200 авто игра все равно стала притормаживать, при автосохранении встает, как вкопанная. Никакие шаманства больше не помогают.

Другая карта, примерно 2048х512 (точнее не помню), 500 поездов, 500 авто, 30 самолетов. Настройки те же. Сразу использовались простые светофоры на перегонах. Анимация отключена, тормозов особых не ощущаю. При включении анимации начинаются неравномерности в движении ТС.

Пробовал перегонять обе игры в собственную сборку, основанную на версии 1.2.3, плюс около 40 патчей (нечто среднее между сборкой анона и хардпаком, плюс свои доработки в виде динамического распределения циклов в зависимости от продолжительности дня). Сохранки с незначительными изменениями перенесены в эту версию. Ситуация с производительностью процентов на 10-15 похуже, чем в старой версии.

Также обнаружена прямая зависимость равномерности игры от частоты процессора, размера его кэша и частоты шины памяти среди процессоров одного модельного ряда. Размер оперативной памяти особого значения не имеет даже на карте 2048х2048, т.к. игра при этих условиях потребляет порядка 300 МБ.
Ghost
Директор
Директор
 
Сообщения: 385
Зарегистрирован: Сб сен 26, 2009 00:21
Откуда: Рыбинск

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение Edd.Dragon » Сб мар 16, 2013 15:38

Ghost писал(а):т.к. игра при этих условиях потребляет порядка 300 МБ.

Если оперативки вагон, есть смысл существенно увеличить sprite_cache_size_px = <в метрах>.
Аватара пользователя
Edd.Dragon
Директор
Директор
 
Сообщения: 266
Зарегистрирован: Сб янв 14, 2012 06:09

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение Wowan » Сб мар 16, 2013 15:47

А что это даст? И что есть вагон?
Аватара пользователя
Wowan
Почетный тайкунер
Почетный тайкунер
 
Сообщения: 1383
Зарегистрирован: Вт сен 18, 2007 14:43
Откуда: трасса М1, Минск — Москва

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение Ghost » Сб мар 16, 2013 18:21

Edd.Dragon писал(а):
Ghost писал(а):т.к. игра при этих условиях потребляет порядка 300 МБ.

Если оперативки вагон, есть смысл существенно увеличить sprite_cache_size_px = <в метрах>.

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

Upd.:
Увеличил с 4 по умолчанию до 128. Сколько игра жрала оперативки до этого, столько и жрет. Скорее всего, этот параметр может повлиять только при использовании больших GRF.
Ghost
Директор
Директор
 
Сообщения: 385
Зарегистрирован: Сб сен 26, 2009 00:21
Откуда: Рыбинск

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение Edd.Dragon » Сб мар 16, 2013 18:52

Ghost писал(а):Увеличил с 4 по умолчанию до 128. Сколько игра жрала оперативки до этого, столько и жрет. Скорее всего, этот параметр может повлиять только при использовании больших GRF.

Что это за "по-умолчанию"? Вроде как давно по-дефолту то ли 64, то ли 128. Хотя если не переустанавливать изредка начисто, удаляя конфиг, то наверное так и будет (старые параметры будут иметь древние значения).


Простой тест на старом одноядерном CPU, чтобы было лучше заметно. Ставим кеш в 16 мб (не 4, а целых 16!). Запускаем (у меня под рукой из стабильных оказалась 1.2.2). На стартовом экране демка (а на ней есть и разные поезда, и автобусы и самолетики) безбожно тормозит, CPU нагружен на полную, мышка еле движется рывками! С горем пополам создаем новую игру - фуф, попустило, на пустой карте потребление нулевое. А ведь демка никаких доп. grf не исспользует. Только стандартные манатки архивным весом в 1 мб. А в игре добавь только av8 - это уже 2+ мб.

Ну, на многоядернике этот эффект до поры до времени не заметен, а при рисовании не с помощью gdi+, а чем-то другим может и вовсе отсутствует.

Т.е. выходит 16 мб для стандартных спрайтов не хватает и многое перерисовывается в каждом кадре даже уже на демке. Чем слабее CPU, тем печальнее. Отсюда периодическое возникновение топиков на англофоруме по поводу тормозов "что_я_уже_только_не_делал". Ибо ни 4, ни даже 16 мб - не вариант.

Ставлю 128 мб - и о чудо,заставка летает, потребление CPU не 100%, а прыгает 3-6-10 %, в зависимости от обстановки.

P.S.: А, ну и с блиттером 32bpp-anim эта проблема уже слабо выражена. Т.е. опять таки, столкнутся те, у кого дефолты из старых версий игры тянутся, т.к. сколько помню - по дефолту был 32bpp-simple.


По потреблению - обрати внимание:
http://clip2net.com/clip/m76758/1363449695-clip-1kb.png (эм, форумный движок долго тупит, а потом говорит, что не может определить размеры этого изображения, так что ссылкой вставил...)

Адресного пространтсва выделено гиг. Виртуального, а не в реальной памяти. На него кроме самого ottd больше никто не претендует. Его можно запросить хоть два гига и никогда не использовать. Физически же пока 80 мб размещено после старта - это сколько памяти реально используется. Т.е. если весь кеш никогда не заполнится, то и ладно. Кстати, это я в конфиге 256 мб поставил (не гиг).



Wowan писал(а):А что это даст? И что есть вагон?

Даст - отсутствие необходимости пересоздавать каждый раз те спрайты, которые в кеш не влезли.
Вагон - это много незанятой, очевидно )) Ну для OTTD и гиг - вагон, учитывая, что ей много не надо.
Аватара пользователя
Edd.Dragon
Директор
Директор
 
Сообщения: 266
Зарегистрирован: Сб янв 14, 2012 06:09

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение Edd.Dragon » Сб мар 16, 2013 19:14

Edd.Dragon писал(а):Кстати, это я в конфиге 256 мб поставил (не гиг).

Тьху, он в мегапикселях, а не в мегабайтах указывается.
Аватара пользователя
Edd.Dragon
Директор
Директор
 
Сообщения: 266
Зарегистрирован: Сб янв 14, 2012 06:09

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение Ghost » Сб мар 16, 2013 21:16

Edd.Dragon писал(а):
Ghost писал(а):Увеличил с 4 по умолчанию до 128. Сколько игра жрала оперативки до этого, столько и жрет. Скорее всего, этот параметр может повлиять только при использовании больших GRF.

Что это за "по-умолчанию"? Вроде как давно по-дефолту то ли 64, то ли 128. Хотя если не переустанавливать изредка начисто, удаляя конфиг, то наверное так и будет (старые параметры будут иметь древние значения).

Я на 1.0.4 проверял. Там параметр без px и равен 4. Поставил 128 - разницы не заметил. См. далее...

Edd.Dragon писал(а):Простой тест на старом одноядерном CPU, чтобы было лучше заметно. Ставим кеш в 16 мб (не 4, а целых 16!). Запускаем (у меня под рукой из стабильных оказалась 1.2.2). На стартовом экране демка (а на ней есть и разные поезда, и автобусы и самолетики) безбожно тормозит, CPU нагружен на полную, мышка еле движется рывками! С горем пополам создаем новую игру - фуф, попустило, на пустой карте потребление нулевое. А ведь демка никаких доп. grf не исспользует. Только стандартные манатки архивным весом в 1 мб. А в игре добавь только av8 - это уже 2+ мб.

Ну, на многоядернике этот эффект до поры до времени не заметен, а при рисовании не с помощью gdi+, а чем-то другим может и вовсе отсутствует.

Ну вот нету у меня "старого одноядерного CPU". Точнее, есть, но воткнуть его некуда. Поэтому использую то, что есть - Core 2 Duo T7250 (2 Мб кэш, 2 ГГц тактовая частота, при перегреве снижение до 800 МГц, FSB 200 МГц, шина памяти 667 МГц) 6-ти летней давности, RAM 4 ГБ DDR2-667, ХР SP3. Запускаю свою сборку версии 1.2.3, по функционалу аналогичную 1.0.4 от анона. На заставке ничего не тормозит. Абсолютно. Смотрю в параметры - *_px действительно 128, параметр без px стал называться max_* и равен 64. Гружу сохранку, перегнанную из 1.0.4 - уровень тормозов примерно тот же самый, что и в более старой версии.

Edd.Dragon писал(а):Адресного пространтсва выделено гиг. Виртуального, а не в реальной памяти. На него кроме самого ottd больше никто не претендует. Его можно запросить хоть два гига и никогда не использовать. Физически же пока 80 мб размещено после старта - это сколько памяти реально используется. Т.е. если весь кеш никогда не заполнится, то и ладно. Кстати, это я в конфиге 256 мб поставил (не гиг).

Ясно дело, что виртуалки оно отожрет, сколько попросишь. Только толку от этого не будет, если она по факту не будет использоваться, на что я и указал (количество фактически используемой памяти не изменилось).
Ghost
Директор
Директор
 
Сообщения: 385
Зарегистрирован: Сб сен 26, 2009 00:21
Откуда: Рыбинск

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение sda6 » Вт мар 19, 2013 20:43

эта "проблема неправильного строительства" когда строят и там и сям где ненадо ПМС сигналы дума. как раз очень актуальна для интернет игры. Когда Перк создавал сервера у него были сильные тормоза, хотя это может и из-за трафика. Еще пожалуй жрет сильно 32 битная графика (но это уже у пользователя).
единая ж/д по сда-новски --> viewtopic.php?f=14&t=2850&start=0
а тут обсуждаем фантазии и не только по модернизации траспорта: viewtopic.php?f=14&t=2778&start=0
Аватара пользователя
sda6
Президент
Президент
 
Сообщения: 677
Зарегистрирован: Вс ноя 25, 2007 16:53
Откуда: Украина / Черновцы

Re: Действительно ли маршрутные сигналы грузят компьютер?

Сообщение Andrej » Пт июн 07, 2013 11:34

да, поначалу на сервере Перка играть было одно удовольствие, но как только количество транспорта уйдет за 1000, а пути будут просто везде, начинается жуткие тормоза. так как все в основном ставили ПМС, то тормоза росли все быстрее. Да и на себе проверил: на слабом компе преобразовал все сигналы в пмс, и появились тормоза. Из всего этого стоит сделать вывод: ПМС в больших количествах - зло :mrgreen:
Пожалуйста, не обращайтесь ко мне на ВЫ.
Аватара пользователя
Andrej
Директор
Директор
 
Сообщения: 303
Зарегистрирован: Вт май 25, 2010 16:39
Откуда: Россия Самара


Вернуться в Общие вопросы по OpenTTD

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

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