Jump to content

Вопрос к разработчикам - тестирование модулей


sea2sky

Recommended Posts

Собственно, есть вопрос к ED, касательно тестирования модулей от сторонних компаний на предмет производительности. Вопрос вот какой: существует ли процесс тестирования/анализа сторонних модулей на предмет производительности и оптимизированности кода (code review)? Дело в том, что мне довелось поучавствовать в создании одного из сторонних модулей (который к сожалению так и не увидел свет, но это уже другая история) и довольно быстро стало понятно, что хоть немного коряво написанный код приводил к значительным потрерям в FPS. Т.е., дупустим незначительные вариации в алгоритмах кода могли приводить к падению ФПС процентов на 5-10 легко, например с 120 до 100. Давеча летал на Вигене, минимальная миссия - только мой самолёт и ничего больше, ФПС - 55. Та же миссия, но с L-39, FPS - 80. Как объяснить такую разницу и не может ли она косвенно указывать на низкий уровень оптимизации кода в модуле Виггена?

i5-9600K@4.8GHz 32Gb DDR4 Asus TUF rtx3080 OC Quest Pro Warthog on Virpil base

Link to comment
Share on other sites

  • ED Team

Есть одна метода проверки производительности.

В процессе игры (при неблагоприятном FPS) ставим игру на паузу и наблюдаем:

- FPS вырос - проблема в вычислениях

- FPS не изменился - проблема в графике

 

Это самое простое, что можно сделать "не отходя от кассы". ;)

Best Regards, Dmitry.

 

"Чтобы дойти до цели, надо прежде всего идти." © О. Бальзак


 
Link to comment
Share on other sites

Есть одна метода проверки производительности.

В процессе игры (при неблагоприятном FPS) ставим игру на паузу и наблюдаем:

- FPS вырос - проблема в вычислениях

 

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

 

- FPS не изменился - проблема в графике

 

а что должно происходить с фпс при постановке на паузу в случае отсутствия проблем вообще? :)

i5-9600K@4.8GHz 32Gb DDR4 Asus TUF rtx3080 OC Quest Pro Warthog on Virpil base

Link to comment
Share on other sites

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

Вообще-то, не факт.

Если система упирается в производительность ЦПУ, то высвободившийся ресурс в режиме пауза уйдет на поднятие ФПС. Так как некоторая часть расчетов действительно тормозится в режиме паузы.

 

а что должно происходить с фпс при постановке на паузу в случае отсутствия проблем вообще? :)

ФПС упрется либо в ограничитель, либо (если видео является узким местом системы) не изменится вовсе.

 

ПС. Собственно, чем теоретически дискутировать, предлагаю Вам проверить на практике. :) Тем паче, есть сомнения по поводу кода модели, а не графической составляющей.

Best Regards, Dmitry.

 

"Чтобы дойти до цели, надо прежде всего идти." © О. Бальзак


 
Link to comment
Share on other sites

  • ED Team

ППС. Да. Еще хотелось бы отметить. Что подобный тест на выявление "тормознутого кода" лучше производить в "незаселенных" областях карты. На том же Кавказе можно либо в середине Черного моря, либо в "Турции", "Болгарии" и т.д., по аналогии.

Best Regards, Dmitry.

 

"Чтобы дойти до цели, надо прежде всего идти." © О. Бальзак


 
Link to comment
Share on other sites

ППС. Да. Еще хотелось бы отметить. Что подобный тест на выявление "тормознутого кода" лучше производить в "незаселенных" областях карты. На том же Кавказе можно либо в середине Черного моря, либо в "Турции", "Болгарии" и т.д., по аналогии.

 

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

 

Так или иначе, имеет место значительная разница в фпс между модулями. Нужен модуль-эталон, содержащий достаточное количество/сложность систем, чтобы всё остальное мерять по нему. Так же, не плохо бы писать на "обложке" модуля сколько фпс он гарантирует при "пустой" миссии на рекомендуемом железе, иначе у разрабов нет и не будет никакой заинтересованности создавать максимально эффективный код.

i5-9600K@4.8GHz 32Gb DDR4 Asus TUF rtx3080 OC Quest Pro Warthog on Virpil base

Link to comment
Share on other sites

  • ED Team

Никто ничего гарантировать не будет. Не идеализируйте.

Единственный урок, который можно извлечь из истории, состоит в том, что люди не извлекают из истории никаких уроков. (С) Джордж Бернард Шоу

Link to comment
Share on other sites

  • ED Team
Это понятно, но с другой стороны если мы выявляем относительную тормознутость (сравниваем два модуля), а не абсолютную, то вроде не должно быть критично.

 

Так или иначе, имеет место значительная разница в фпс между модулями. Нужен модуль-эталон, содержащий достаточное количество/сложность систем, чтобы всё остальное мерять по нему. Так же, не плохо бы писать на "обложке" модуля сколько фпс он гарантирует при "пустой" миссии на рекомендуемом железе, иначе у разрабов нет и не будет никакой заинтересованности создавать максимально эффективный код.

Вы сами понимаете, о чем пишите?

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

Потому эталонов нет.

Best Regards, Dmitry.

 

"Чтобы дойти до цели, надо прежде всего идти." © О. Бальзак


 
Link to comment
Share on other sites

Вы сами понимаете, о чем пишите?

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

Потому эталонов нет.

 

систему вцелом, действительно, "вылизать" очень сложно, но мы же про модули тут говорим.

i5-9600K@4.8GHz 32Gb DDR4 Asus TUF rtx3080 OC Quest Pro Warthog on Virpil base

Link to comment
Share on other sites

  • ED Team

Понятно что разработчики не такие злобные бармалеи, которые нарочито пишут кривой и тормозящий код. Всем хочется сделать лучше, но бывает, что в силу тех или иных причин идела не получается. Разработчики тоже люди со своими особенностями и недостатками. У кого-то не хватает компетенции, у кого-то времени, у кого-то просто банальные ошибки от невнимательности и т.д.

Единственный урок, который можно извлечь из истории, состоит в том, что люди не извлекают из истории никаких уроков. (С) Джордж Бернард Шоу

Link to comment
Share on other sites

Понятно что разработчики не такие злобные бармалеи, которые нарочито пишут кривой и тормозящий код. Всем хочется сделать лучше, но бывает, что в силу тех или иных причин идела не получается. Разработчики тоже люди со своими особенностями и недостатками. У кого-то не хватает компетенции, у кого-то времени, у кого-то просто банальные ошибки от невнимательности и т.д.

 

Согласен полностью. Я потому и озадачился этим вопросом - есть ли процесс выявления некачественного кода, влияющего прежде всего на производительность (измеряемую нами юзерами в фпс-ах). Просто тренд то неутешительный, народу уже gtx 1080 порой мало.

i5-9600K@4.8GHz 32Gb DDR4 Asus TUF rtx3080 OC Quest Pro Warthog on Virpil base

Link to comment
Share on other sites

  • ED Team
Согласен полностью. Я потому и озадачился этим вопросом - есть ли процесс выявления некачественного кода, влияющего прежде всего на производительность (измеряемую нами юзерами в фпс-ах). Просто тренд то неутешительный, народу уже gtx 1080 порой мало.

 

Если речь именно о внешниках, то нет. Они сдают уже скомпиллированные бинарники. К их исходному коду у нас доступа нет (что вполне логично).

"You become responsible, forever, for what you have tamed.” ― Antoine de Saint-Exupéry, The Little Prince.
Link to comment
Share on other sites

  • ED Team
Нужен модуль-эталон...
...работающий на эталонном железе с эталонной ОС, настроенной тоже по эталону и эталонным набором софта. На любой из этих стадий нас ждут самые разнообразные сюрпризы. Сфероконь получается, в общем.

 

Но грубое оценочное сравнение, конечно, вполне возможно.

Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down.  
Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз.

G.K. Chesterton

DCS World 2.5: Часто задаваемые вопросы

Link to comment
Share on other sites

В конкретном примере скорее всего будет достаточно вывести информацию о вызовах отрисовки.

 

Ну и вывод информации о времени выполнения той или иной части расчетов реализовать наверное не сложно. В DCS наверняка же все этапы по просчету модели регламентированы.

 

Разве чего-то подобного ранее не было? Вроде выводилась скорость отработки разных кусков.

DimAss Coljo Yappo

Link to comment
Share on other sites

В конкретном примере скорее всего будет достаточно вывести информацию о вызовах отрисовки.

 

Ну и вывод информации о времени выполнения той или иной части расчетов реализовать наверное не сложно. В DCS наверняка же все этапы по просчету модели регламентированы.

 

Разве чего-то подобного ранее не было? Вроде выводилась скорость отработки разных кусков.

 

самое интересное было бы посмотреть статистику по затратам времени на расчёты и отрисовку индикаторов систем (особенно таких как БРЛС, ИЛС, СПО, прицельные комплексы и т.п.). В луашниках тоже могут быть косяки, особенно там где создаются множественные графические элементы, управляемые "контроллерами".

  • Like 1

i5-9600K@4.8GHz 32Gb DDR4 Asus TUF rtx3080 OC Quest Pro Warthog on Virpil base

Link to comment
Share on other sites

  • 5 months later...

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

Windows10; QuadCore Intel Core i5-6600, 3800 MHz; 32 ГБ DDR4-2400; nVIDIA GeForce GTX 1070; SSD 480 ГБ, SATA-III; Rift CV1+touch; X-56 hotas+flight rudder pedals.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...