Почему FlightGear не использует больше вычислительной мощности?

1976
Magix

Недавно я скачал FlightGear, так как мне хотелось играть в симулятор полета. Я использую Windows 10 и столкнулся с проблемой частоты кадров.

Игра никогда не идет со скоростью выше 25 кадров в секунду и иногда имеет задержку кадра 80 мс, но, как вы можете видеть на следующем рисунке, который описывает использование моего процессора, графического процессора и памяти (это данные Process Hacker, поэтому я совершенно уверен в этом), У меня все еще есть больше чем 5 ГБ доступной оперативной памяти, и использование CPU / GPU едва превышает 20% ...

http://hpics.li/763d92d

Кроме того, мой компьютер очень хорошо работает на всех последних играх с постоянной скоростью 60 кадров в секунду, оснащенный процессором Intel Core I7 3770K и отличным Nvidia GTX780TI с 16 ГБ ОЗУ. Мои видеодрайверы (и в основном все драйверы) обновлены.

Я признаю, что я максимально использовал все настройки, которые мог на симуляторе, я опубликую ссылку в комментарии, где вы можете скачать мой файл preferences.xml (я фактически ограничен повторением). Единственное изменение, которое я сделал вручную, - это разрешить многопоточность (раскомментировав одну строку, и это не повлияло на производительность), все остальное было максимально использовано в самой игре. Я также дважды проверил, я не ограничивал частоту кадров до 60FPS, моя частота экрана.

Почему игра не использует больше вычислительной мощности для обеспечения плавного игрового процесса, поскольку мой компьютер способен на это?

Я также проверил, что моя видеокарта поддерживается игрой, и, ну, это так: она написана «NVIDIA Corporation GeForce GTX 780 TI / PCIe / SSE2» на вкладке «Справка» и не упоминается в «Проблемных видеокартах». страница игры вики. Поскольку я запускаю игру в Windows, я не могу скомпилировать ее, чтобы использовать встроенный профилировщик, который, к сожалению, использует инструменты Google Perf :-(

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

Второй экран, показывающий подробную статистику OSG Почему FlightGear не использует больше вычислительной мощности?

1
Вы можете скачать мой файл `preferences.xml` [здесь] (http://www.filedropper.com/preferences) Magix 8 лет назад 0
Как предложил @Richard_Harisson, [вот еще один скриншот отладки, показывающий цветные полосы] (http://imgur.com/tfX7u8x) Magix 8 лет назад 0
Вы можете найти ветку форума FlightGear по этому вопросу [здесь] (http://forum.flightgear.org/viewtopic.php?f=25&t=28559&p=273384#p273384) Magix 8 лет назад 0

1 ответ на вопрос

0
Richard Harrison

If it appears that FlightGear isn't using all of the resources it's probably because of an inbalance between the CPU and GPU. Certain operations can become CPU limited, and others GPU limited.

From the screenshot the first observation is that the internal process monitoring is active; this will have a significant effect on the framerate.

The GUI in FlightGear is built using the PUI - which will affect the framerate when you have dialogs on display; especially dialogs that are updated frequently as the PUI isn't that efficient. There is an understanding that the PUI needs to be replaced, but as yet I don't think anyone is working on it.

Use Debug->Cycle on screen statistics to turn on the OpenSceneGraph frame rate counter. You may need to use F10 to hide the menu bar so it is visible as it displays in the top left. This is much more efficient than the PUI based monitor in the screneshot.

There are a 3 rendering engines within FlightGear; basic, ALS and Rembrendt.

I find that ALS (Atmospheric Light Scattering from the View->Rendering Options) will provide the best balance between a good looking scene and a reasonable framerate.

If you have random vegetation slider set to the maximum this will probably result in too much geometry to render. So stick with values of around 3.5 for this and gradually tune this upwards until there is a balance between trees and a good framerate.

If you're using the Rembrandt (deferred rendering that is still officially experimental) then you get emissive lighting and the option of shadows, bloom around light points, but this requires multiple passes over the geometry and will be slower than ALS - but the sunlight model is rather simplistic and ALS is generally better IMO.

Also you get better clouds by using detailed weather that needs to be turned on every time.

Whilst it might seem appealing to simply max out all of the sliders because you've got a high end system- with all respect that's not really why they're there. The sliders are there to allow tuning of the available rendering options to get a balance between framerate and features.

Also 3.6RC and the upcoming 3.8 or 2016 release has reduced memory usage which results in better performance.

It's a shame that 3.6 didn't get released in August (due to lack of manpower) as it is quite an improvement especially with the ALS cockpit and glass effects.

The currently nightly build may be stable; it's worth downloading these and trying them until you get one that is good. If it's no good then the 3.6RC is worth a try.

So as often firstly find out what is the bottleneck (CPU/GPU) and tune accordingly. The OSG on screen statistics can be useful to diagnose this together with system monitoring tools to understand the GPU and CPU usage.

FlightGear currently takes some advantage of multi-core systems; work is under way to improve this - but that's not really going to fix the case where a single core is maxed out feeding the GPU; or when the GPU is maxed out with geometry as pretty much with OpenGL there is only so much that can be achieved by multithreading.

If you look at the picture below you can see that the cyan bars are happening at the same time. This is OSG multithreading. FlightGear (with non deferred rendering) uses two cameras (near and far) - so there is a benefit from OSG multithreading. However you will also notice that my frame rate (i7 2600, R9 290) is only 30 something.

FlightGear OSG Stats

When sitting at KLSV in the cockpit with reasonable rendering settings I'm at 30 to 35 FPS. If I look at the sky (where there is much less geometry) I get 80 FPS.

FlightGear geometry comparison

Referring to your screenshot of the detailed statistics; the two parallel culls tells us that OSG is multithreading; but the GPU times are quite long, even with 104million vertices. So it looks like the GPU is holding things up - which seems odd with your cards. Maybe check the NVidia settings and ensure that everyone looks sensible.

OSG Statistics

At places where there is high scenery density the random vegetation will add considerable extra load; but even so a decent CPU/GPU combination should be able to handle 3.5.

Try other airports; there's the whole world to visit. ZUBD is quite fun.

Я понимаю, но если на моем компьютере слишком много геометрии или шейдеров для рендеринга, разве использование CPU / GPU не должно быть все время 100% ?! Magix 8 лет назад 0
На первый взгляд это просто плохо / нет многоядерной поддержки. Подозрительно, что он остается стабильным ровно на 16% все время, как будто не выполняет задачи. Прочитайте здесь http://wiki.flightgear.org/Howto:Activate_multi_core_and_multi_GPU_support @Magix Linef4ult 8 лет назад 0
Я уже активировал многопоточность в своем файле `preferences.xml`, раскомментировав`AutomaticSelection`... Magix 8 лет назад 0
Сначала закройте диалоги PUI. Во-вторых, с OSG, если у вас слишком много геометрии, процессор не сможет достаточно быстро загружать графический процессор. Это будет работать на одном ядре (обход сцены). Многопоточность в OSG может немного помочь, но вам нужно понять, где находятся узкие места и как опции многопоточности OSG помогут на основе фазы рендеринга OSG. Вот где полезен второй уровень статистики цикла OSG, но вам нужно будет отключить диалог мониторинга PUI и сначала уменьшить случайную растительность, прежде чем что-либо из этого станет значимым Richard Harrison 8 лет назад 0
Ну, я отключил диалог PUI (просто закрыл его, достаточно ли это?) И уменьшил случайную растительность примерно до 3,5. Производительность точно такая же, как и раньше. Если бы процессор имел слишком много геометрии для вычисления, опять же, не будет ли это 100% рабочей нагрузки? Magix 8 лет назад 0
пока диалоговое окно PUI не отображается на экране, это нормально. Выполните отладку-> Циклическую статистику на экране три раза и загрузите изображение со столбиками и геометрическими значениями из выбранного вами вида. 3.6 быстрее чем 3.4 Richard Harrison 8 лет назад 0
Прокомментировал мой вопрос со ссылкой на скриншот :) спасибо за ваше время Magix 8 лет назад 0

Похожие вопросы