Перейти к содержимому
Для публикации в этом разделе необходимо провести 50 боёв.
terminator_le

0.7.6 Корабль передвигается мелкими рывками (дергается при движении)

В этой теме 23 комментария

Рекомендуемые комментарии

Участник
382 публикации
Сегодня в 21:36:11 пользователь Dimakur63 сказал:

Столько ни одна игра не выдержит.

 

Все смеемся?

Тогда контрольный вопрос - почему в порту идет разогрев видеокарты до критических величин?

Рассказать о публикации


Ссылка на публикацию
3 612
[EZI]
Старший альфа-тестер
16 980 публикаций
5 188 боёв
Сегодня в 21:39:37 пользователь evil_vuyko сказал:

Тогда контрольный вопрос - почему в порту идет разогрев видеокарты до критических величин?

Скрытый текст

В 15.11.2016 в 16:02:43 пользователь Santcoder сказал:

 

Не смог пройти мимо.

 

есть понятия GPU-bound и CPU-bound. 

Кадр строится на GPU и CPU параллельно. Что кадр больше обрабатывает, то и будет bound. Эта же система, как правило, и причина тормозов. При этом если на GPU кадр закончит обрабатываться раньше, чем на CPU, то в это в время GPU "отдыхает". Что и выражается в сниженной нагрузке, недогрузке до 100% и т. д. 

 

Теперь касательно нашей игры. В большинстве случаев наша игра CPU-bound. Это касается всех боев. Мы получаем данные с сервера, ждем их, обрабатываем, строим траектории полетов снарядов, проигрываем музыку, получаем голосовые сообщения, считаем время полета снаряда для прицела. В результате мы упираемся в CPU, а GPU простаивает в эти момент. но то есть на CPU посчитали кадр за 18мс, на GPU за 12мс, 6мс каждый кадр GPU отдыхает. Это все очень упрощенно, потому что у нас еще есть треды, ядра и т.д. Мы рассматриваем лишь "подсистемы" и их взаимодействие с друг другом.

 

Но в порту - все иначе. Там почти нет геймлогики и взаимодействий с сервером. Поэтому, условно, кадр на CPU считается за 5 мс, а на GPU за 10. CPU теперь имеет время отдохнуть, GPU - нет. Если же нагрузка на GPU падает, значит на CPU что-то стали молотить. Например переключились на баржу, подгрузили все для нее, посчитали и дальше продолжаем молотить GPU - нагрузка на GPU разово упала, и снова выросла до 90-100%. 

Так что  высокая нагрузка на GPU - это про малую нагрузку на CPU, это не баржа такая тяжелая в плане детализации. это порт такой легкий в плане логики. И рост (если он есть, потому что я каждую версию рассказываю почему нагрузка на GPU в порту выше чем в бою) связан лишь с тем, что на CPU немного оптимизировали. Ну, можем биткоины начать майнить в порту на CPU, нагрузка упадет. Или сворачивания белков для поиска лекарства от рака считать, но на надо ли пользователям так? У нас есть механизм ограничения верхнего уровня кадров. Чтобы если вы доходите до 75 FPS, видеокарте давалось время "отдохнуть". Тот самый <maxFrameRate>75</maxFrameRate> в engine_config.xml

 

Температура - это вообще исключительно про про производителя видеокарты. У нас нет возможности влиять на нее и как-то искусственно или не искусственно завышать. Видеокарта должна выдерживать любые штатные нагрузки, это гарантирует производитель видеокарты. А нештатные мы через DirectX Api дать просто не можем.

 

Реакция у нас всегда одинаковая - собираем фидбек, помогаем пользователям, ищем проблемы, которые появились в этом патче.

 

 

Рассказать о публикации


Ссылка на публикацию
172
[_BMC_]
Старший альфа-тестер, Коллекционер
518 публикаций
10 990 боёв

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

 

Рассказать о публикации


Ссылка на публикацию
Гость
Эта тема закрыта для публикации новых ответов.

×