Board index FlightGear Support Graphics

Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Graphics issues like: bad framerates, weird colors, OpenGL errors etc. Bad graphics ar usually the result of bad graphics cards or drivers.
Forum rules
In order to help you, we need to know a lot of information. Make sure to include answers to at least the following questions in your initial post.

- what OS (Windows Xp/Vista, Mac etc.) are you running?
- what FlightGear version do you use?
- what graphics card do you have?
- does the problem occur with any aircraft, at any airport?
- is there any output printed to the console (black window)?
- copy&paste your commandline (tick the "Show commandline box on the last page of FGRun or the "Others" section on the Mac launcher).
- please upload a screenshot of the problem.

If you experience FlightGear crashes, please report a bug using the issue tracker (can be also used for feature requests).
To run FlightGear on old computers with bad OpenGL support, please take a look at this wiki article. If you are seeing corrupted/broken textures, please see this article.

Note: If you did not get a reponse, even after 7 days, you may want to check out the FlightGear mailing lists to ask your question there.

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby Thorsten » Wed Jul 17, 2019 1:44 pm

Well, the rest of the world seems to have really good performance with a high-end graphics card - I have a 1080, and it crunches pretty much every situation I've seen okay, including custom sceneries, the detailed Boston Logan airport, OSM2CIty in Florida custom scenery, gazillions of trees in Canada - so no, it's unlikely to be FG or OSG threading that is your problem, because I use the same FG and OSG threading and it's doing fine here.
Thorsten
 
Posts: 12490
Joined: Mon Nov 02, 2009 9:33 am

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby V12 » Wed Jul 17, 2019 3:02 pm

I'm not speaking about bad overall performance. But about no performance gain after upgrade low - end graphics with new one, 3 times powerfull than old.
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby Thorsten » Wed Jul 17, 2019 4:31 pm

Well, with a good GPU FG runs at around 60 fps - if you had that before, there's no performance gain expected because of frame rate throttling. If you didn't have that before and don't have it now, there's an unknown issue specific to either your HW, drivers or FG setup.

That's all there is to it.
Thorsten
 
Posts: 12490
Joined: Mon Nov 02, 2009 9:33 am

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby V12 » Fri Jul 19, 2019 6:37 am

Thorsten :
Can You describe Your LOD, AW and visibility settings ?
Thx in advance.
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby V12 » Fri Jul 19, 2019 7:09 am

Icecode GL wrote in Tue Jun 11, 2019 3:04 pm:Let's start with multi-threading.
.
.
.
FG exclusively uses a single core (yes, it may use several cores for very specific jobs, but FG is basically single-threaded). Clock speeds aren't getting faster so we can't take advantage of new hardware, we are essentially stuck with 5/10 year old hardware even if you just bought a brand new Intel i9. However, we keep adding features to FlightGear. Aircrafts are getting more complex systems by the day, models have huge triangle counts etc. This wasn't a problem 10 years ago because while the simulator kept getting more complex, newer hardware helped us keep the performance stable. Time helped us, now it doesn't.


This is my (and not only my) problem - FG can't use advantages of multicore CPUs. But we still adding more and more new things to the scenery - for example OSM buildings, roads, railways etc. Or we are thinking about terrain with better resolution. How fast will be FG on single core with that new stuff in future without multithreading ?
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby Richard » Sun Jul 21, 2019 5:06 pm

V12 wrote in Fri Jul 19, 2019 7:09 am:
Icecode GL wrote in Tue Jun 11, 2019 3:04 pm:Let's start with multi-threading.
.
.
.
FG exclusively uses a single core (yes, it may use several cores for very specific jobs, but FG is basically single-threaded). Clock speeds aren't getting faster so we can't take advantage of new hardware, we are essentially stuck with 5/10 year old hardware even if you just bought a brand new Intel i9. However, we keep adding features to FlightGear. Aircrafts are getting more complex systems by the day, models have huge triangle counts etc. This wasn't a problem 10 years ago because while the simulator kept getting more complex, newer hardware helped us keep the performance stable. Time helped us, now it doesn't.


This is my (and not only my) problem - FG can't use advantages of multicore CPUs. But we still adding more and more new things to the scenery - for example OSM buildings, roads, railways etc. Or we are thinking about terrain with better resolution. How fast will be FG on single core with that new stuff in future without multithreading ?


Largely it's not something that we can fix in FG because it's not FG that can't take advantage of multicore it's OpenSceneGraph that can only make limited use of multiple cores because underlying OpenSceneGraph is OpenGL and it is will understood that OpenGL is effectively almost single threaded. So the only way to make the rendering make more use of multicore is to replace all of the rendering with something that uses Vulkan.

The folks over at X-Plane have been working on their Vulkan rendering since 2018; and they're predicting it will be 2020 before they're finished.

As to what we gain in FG with multicore the answer isn't a lot. For a few years I've been experimenting with having two threads, one for the rendering and another for the simulation. I've got something that is stable with the occasional glitch.

The net result in terms for performance is there is a framerate increase, but only by a small amount - the time that the simulation takes. For the F-15 this is currently around 5ms. Simpler models will benefit less, so if a model takes <=1ms there will not be a benefit from this technique.

This is a comparison of the rendering; the view changes slightly (as you can see from the slightly difference Update, Cull, Draw times on the OSG stats) however it illustrates that there is around a 6 fps increase.
Image
Richard
 
Posts: 810
Joined: Sun Nov 02, 2014 11:17 pm
Version: Git
OS: Win10

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby V12 » Sun Jul 21, 2019 6:46 pm

If multithread benefits is so small, then FlightGear can't grow - better terrain, PBR rendering, shadows, etc. It is not good news :( How CPU I need for fluidflow 60 fps without any stuttering on EDDF, KBOS or other fully developed airports ? Or 60 fps at FL390 with realisitc visibility limits ?
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby icecode » Sun Jul 21, 2019 7:29 pm

My post talked about long term issues and their possible solutions. For the 10th time, you have got a different kind of problem. Your (very low) framerates aren't caused by FG being single threaded, they are caused by something else. At this point I don't know if you are trolling or not.



For a few years I've been experimenting with having two threads, one for the rendering and another for the simulation. I've got something that is stable with the occasional glitch.


Very interesting, Richard. In my own experience I've noticed that the simulation time takes very long, around 30 to 40% of the frametime depending on the model and the simulation complexity. How did you separate the simulation from the rendering? My understanding is that the rendering requires the simulation to update first, how do you do this at the same time? Do you have two copies of the scene graph so the simulation can update it without disturbing the rendering of the current frame or is it something fancier?

Also, what's causing this gap?
Image
icecode
 
Posts: 709
Joined: Thu Aug 12, 2010 1:17 pm
Location: Spain
Version: next
OS: Fedora

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby Richard » Sun Jul 21, 2019 11:07 pm

It does sound as though something is strange in your configuration if you are only getting 10FPS at EDDF. With the hardware you've got I'd estimate that a solid 30FPS should be achievable (with drops as things load). Have you thoroughly checked the power management and any CPU limits (thermal, power). I get around 40FPS at EDDF with an i7-4790K and R9-290; also recently tested at PHNL with a 1050 and a Pentium G4560 - around 50FPS.

However if you see 10fps whilst stuff is still loading then yes it does that and there isn't really a solution.

X-Plane are seeing around 10-15% improvement using Vulkan over OpenGL (NVidia driver), 20-30% with AMD. These early results may be misleading and there could be more to com. Also Robert has seen a bigger proportionate improvement with VulkanSceneGraph.

Stuttering whilst scenery, models and textures load (or textures are paged back in) is entirely to be expected; it's just the way that OpenGL works and is out of our control.

2019.2 with the texture cache reduces frame pauses but this can also make stuttering more noticeable.

I don't actually know what you mean by realistic visibility at FL390 so it's hard to give any advice - except reduce the detailed/rough/bare in the LOD ranges.

As to FlightGear not being able to grow that's wrong

* Terrain - we are already using the best freely available data in Europe and this is part of the frame rate problem because we don't have levels of detail on the terrain. This terrain has been unchanged for many years but one day it will be rebuilt and maybe we'll be able to use LOD on the terrain.
* PBR isn't always a perfect solution; the cockpit is one area where X-Plane have to do some hacks to make the interior visible.
* Shadows & Illuminating lights - I'm optimistic that we'll start to see something soon in the Compositor that provides these.

A lot of the recent rendering improvements are primarily on the GPU; the main problem we have is still terrain LOD management and that is badly impacting performance. We're still discussing how to improve this - there are a few ideas that have merit but as yet we still don't have a roadmap; so until then the only option for long view distances is really just to reduce the bare level to get an acceptable frame rate.

------------------------------
@IcodeGL

Don't know what caused the gap; it's not normally there.

The current way I'm multithreading the viewer is to split out the viewer->frame into the underlying calls:

* wait for the idleThread to finish.
* viewer->advance
* viewer->eventTraversal
* viewer->updateTraversal
* release the simulation thread (idleThread.release)
* viewer->renderingTraversals

This is experimental code to see if it is worth pursuing this route

To see exactly how much time is taken in the simulation firstly set /sim/rendering/sim-frame-count-reset to true (CTRL click in the property browser) and look at /sim/rendering/sim-host-avg-ms
Richard
 
Posts: 810
Joined: Sun Nov 02, 2014 11:17 pm
Version: Git
OS: Win10

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby icecode » Sun Jul 21, 2019 11:31 pm

This is experimental code to see if it is worth pursuing this route


In my opinion it is very much worth pursuing. The entire cost of shadows and lights (clustered shading) is around 6ms, so if this gets pushed upstream we would basically get those for free as almost every machine nowadays has at least two cores.
icecode
 
Posts: 709
Joined: Thu Aug 12, 2010 1:17 pm
Location: Spain
Version: next
OS: Fedora

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby V12 » Mon Jul 22, 2019 2:15 am

Richard wrote in Sun Jul 21, 2019 11:07 pm:It does sound as though something is strange in your configuration if you are only getting 10FPS at EDDF. With the hardware you've got I'd estimate that a solid 30FPS should be achievable (with drops as things load). Have you thoroughly checked the power management and any CPU limits (thermal, power). I get around 40FPS at EDDF with an i7-4790K and R9-290; also recently tested at PHNL with a 1050 and a Pentium G4560 - around 50FPS.

With what aircraft You get 40 fps at EDDF ? With UFO in Fair weather without clouds my machine hit 30 fps. Difference in fps is equals to difference in CPU PassMark Benchmark - i7-4790 almost 10000 points, i5-2550 only 6700 points...
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby KindaHighEnd » Mon Jul 22, 2019 10:04 am

I'm the original poster and I was chased off by the initial ansers,
as I got the feeling that they were posted with an attitude.
"FGFS is single threaded - eat it".
I was actually surprised that after so many years of development the simulation loop frequency still seems to be tightly bound to the display frame rate.

Now
I'm happy that V12 has similar issues with an NVIDIA card while I have issues with an AMD card, so we do not really need to talk any more about vendor or driver issues here.
Also I'm quite sure we both have no configuration-stupidity issues.
And V12 even has a very good point about seeing "no" improvement with a GPU *upgrade*.
Both of us seem to run into 100% CPU single threaded.

I have observed that (most of the time - scene/view dependent NOT always) my GPU is not even running at top GHz with FGFS (~800MHz, sometimes only ~400MHz instead of 1300-1500MHz).
It seems the driver is throttling the GPU clock as it observes the CPU does not feed the GPU anyway *close* to its potential speed.

@V12:
Do you observe something similar ?

The conclusion would be:
FGFS needs at least a separate thread which can keep the GPU busy enough, so its driver does not throttle GPU clock and thus worsens the situation further.

A note on the side:
I guess we can *expect* OGL drivers being cared for less and less by the vendors of newer GPUs while they migrate more and more towards VULKAN.
Thus, no serious FGFS user can expect to get any improvement by buying new GPU models - right ?
KindaHighEnd
 
Posts: 2
Joined: Wed Apr 17, 2019 5:32 pm

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby Thorsten » Mon Jul 22, 2019 10:19 am

FGFS needs at least a separate thread which can keep the GPU busy enough, so its driver does not throttle GPU clock and thus worsens the situation further.


Did you read this thread at all? All the people who actually code rendering agree that the (very low) framerates aren't caused by FG being single threaded,. Your conclusion is derailed by the simple fact that the vast majority of users with high-end hardware see 60 fps as a result.

So the cases where this does not happen can't be related to multi-threading (because FG is also essentially single threaded on the machines where it all runs with 60 fps) - they must be related to a local thing - driver, configuration, whatever...
Thorsten
 
Posts: 12490
Joined: Mon Nov 02, 2009 9:33 am

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby bugman » Mon Jul 22, 2019 11:12 am

My suggestion would be to try a different version of the AMD drivers (maybe an old but stable version). There is also a 19.7.2 driver release which you should test. Maybe AMD fixed a driver bug between 19.4.1 and 19.7.2 that is causing the slowness you see. Note that many, many others on high-end hardware do not see the issue you see, so there is something non-ideal with your system's configuration or setup.

Regards,

Edward
bugman
Moderator
 
Posts: 1808
Joined: Thu Mar 19, 2015 10:01 am
Version: next

Re: Threadripper 1920 (12/24 threads)+Vega56 = 10fps in W10?

Postby V12 » Mon Jul 22, 2019 11:34 am

Kindahighend :
I did not observed GPU frequency, only load. When I config nVidia driver to 2x FSAA and 4x anisothropic filtering, there is large problem to load GPU on more than 95%. If I configure driver to full FSAA, 16x anisothropic filtering, fps is very similar, but GPU load rise to 100% frequently. And other interesting fact - my fps is not affected by shaders - with all shaders off and all shaders full on fps changes are almost zero. I observed changes only on GPU load.

My last experiment - I underclocked CPU from 3.5 GHz to 1.8 GHz and achieved 10 fps at EDDF with GPU load 20%...
Fly high, fly fast - fly Concorde !
V12
 
Posts: 2757
Joined: Thu Jan 12, 2017 5:27 pm
Location: LZIB
Callsign: BAWV12

PreviousNext

Return to Graphics

Who is online

Users browsing this forum: No registered users and 4 guests