Comments on: FlightSimExpo 2019 Talk https:/2019/06/flightsimexpo-2019-talk/ Developer resources for the X-Plane flight simulator Sun, 23 Jun 2019 11:40:29 +0000 hourly 1 https://wordpress.org/?v=6.6.1 By: Heiko https:/2019/06/flightsimexpo-2019-talk/#comment-33802 Sun, 23 Jun 2019 11:40:29 +0000 http://developer.x-plane.com/?p=39617#comment-33802 Good luck with the transition to Vulcan.

I hope this helps once the next step, optimization, starts

https://devblogs.nvidia.com/vulkan-dos-donts/

]]>
By: Michael Bradbury https:/2019/06/flightsimexpo-2019-talk/#comment-33791 Sat, 22 Jun 2019 09:41:01 +0000 http://developer.x-plane.com/?p=39617#comment-33791 It’s always great to get these posts. On the summary page would it be possible to have the date of the post (https://developer.x-plane.com/author/bsupnik/)? I know the date shows on the full article, but it would be useful on the summary page.

Mike

]]>
By: Pablo Bressan https:/2019/06/flightsimexpo-2019-talk/#comment-33788 Sat, 22 Jun 2019 01:36:21 +0000 http://developer.x-plane.com/?p=39617#comment-33788 In reply to Ben Supnik.

CFD sounds cool… and now that you mention it, I started thinking about crazy scenery: “what kind of home computer (specs) would be needed for this methodology to be used in X-Plane? 😀

]]>
By: Sidney Just https:/2019/06/flightsimexpo-2019-talk/#comment-33787 Fri, 21 Jun 2019 23:35:36 +0000 http://developer.x-plane.com/?p=39617#comment-33787 In reply to John L.

The thing with traversing the scene graph on the GPU is that the whole process just doesn’t lend itself very well to how GPUs work. This is something that is much better done on the CPU, especially on Vulkan and Metal where filling the command buffer isn’t as nearly as much of a problem as it is on OpenGL. GPUs are really good at calculating a lot of numbers in parallel, but the one thing they are really bad at is scattered memory access and branching. Both usually tend to be the main work load when traversing scenes, which tend to be represented by trees.

Additionally, this is something where, in the future, we can actually go wide on the CPU. Since we have to traverse the scene graph potentially multiple times per frame (shadows, reflections, main rendering pass), we can speed this up by dispatching this to multiple CPU cores and filling the command buffers in parallel. This is something that just isn’t possible right now with OpenGL, but with both Vulkan and Metal we can finally achieve this. It’s a much easier step than going to the GPU, and promises much better returns in terms of perf.

]]>
By: John L https:/2019/06/flightsimexpo-2019-talk/#comment-33786 Fri, 21 Jun 2019 22:07:26 +0000 http://developer.x-plane.com/?p=39617#comment-33786 In reply to Ben Supnik.

Thanks!

On my (admittedly old) 2010 Mac with nvidia gtx 1060, the two things that hammer it the most are just pure number of objects, then shadows. I am very cpu starved at 2.4 ghz.

I am contemplating next computer (I use macs for everything else, so I am hesitant to also get a PC) and I am trying to target “where the puck is going.”

Obviously “small number of very fast cores” is optimal, and then the question is which graphics card to go for.

If things like shadows/objects were to pre computed via the gpu rather than cpu, things like the HMB equipped Vega cards start looking attractive.

Thanks for looking into the cockpit occlusion part!

]]>
By: Dellanie Byron https:/2019/06/flightsimexpo-2019-talk/#comment-33783 Fri, 21 Jun 2019 19:16:55 +0000 http://developer.x-plane.com/?p=39617#comment-33783 In reply to Carsten.

Hi Carsten, I’m Dellanie from FlyJSim.

We don’t parse data the same way as SmartCopilot (SCP). SCP basically passes the action via a peer2peer connection. We actually pass the state s constantly through a dedicated server. This means that :

– It’s more difficult to have de-synchronisation events
– We can more reliably transmit to 2+ pilots
– We can tailor the experience for custom avionics in different payware aircraft.

Feel free to visit flyjsim.com/sharedflight or join our discord for more info 😉

]]>
By: Ben Supnik https:/2019/06/flightsimexpo-2019-talk/#comment-33782 Fri, 21 Jun 2019 18:21:25 +0000 http://developer.x-plane.com/?p=39617#comment-33782 In reply to John L.

First re: GPU-driven dispatch – it’s a cool tech, and we may someday use it. Our approach is a measure-fix-repeat cycle…that is, we target the things that make the most difference to the most users.

As it turns out, for a lot of our users, Vulkan/Metal scratches that itch, because we’ve seen users with up to 40% of CPU time in the GL driver – the _single_ biggest CPU suck. The numbers are way lower on Vulkan/Metal. So if we wake up and some part of the process is slow and lends itself to moving to the GPU then sure, we may move it there. We also have the other cores to move things to (e.g. parallel on the CPU).

I can say I am skeptical of GPU-driven-cull+GPU-driven-render for X-Plane…it’s a great technique, but in our case, as soon as you get up to about 600 feet, _nothing_ is occluding anything in the scene and we just have to be able to draw -the kitchen sink- really fast, so there we want techniques that are fast in absolute performance. GPU driven scene encode might be one, but the occlusion part is less useful than in a shooter where you hide behind a wall and the wall occludes an entire city.

(Occlusion in the cockpit is a little bit different because the occlusion shapes are extremely regular (e.g. the windows). I’ve looked at optimizing that case and it looked like not-a-dead-end but not nearly as much of a win as just spending some time making all of the code better.

Re: FPGAs, we’ve seen this movie before, e.g. with the PhysX card. The truth is the FM isn’t that computation expensive, and the part that is is mostly ground interactions, which are all about how the scene is stored in memory, rather than how much ALU we have on a card. We get the same q with regards to GPU-ing the FM. If we were doing CFD it’d be different, but then we’d be running at sub-real-time speeds EVEN with the GPU.

]]>
By: John L https:/2019/06/flightsimexpo-2019-talk/#comment-33781 Fri, 21 Jun 2019 18:05:54 +0000 http://developer.x-plane.com/?p=39617#comment-33781 Ben (or anyone else), I was wondering if you had a chance to see https://developer.apple.com/videos/play/wwdc2019/611/ and https://developer.apple.com/videos/play/wwdc2019/606/ – particularly if the approach of moving more of the render pipeline into the GPU (and reducing trips to CPU/system RAM) is something under consideration?

Also, with word that Afterburner (the add on card for Mac Pros) might be a reprogrammable FPGA, any thought about offloading anything (like flight model) to dedicated hardware?

One last question, are you targeting a specific version of Metal?

I understand this is waaaaay in advance, I’m just excited.

]]>
By: John L https:/2019/06/flightsimexpo-2019-talk/#comment-33780 Fri, 21 Jun 2019 18:01:44 +0000 http://developer.x-plane.com/?p=39617#comment-33780 In reply to Pablo Bressan.

Pablo,

When I started watching more airline pilot videos I suddenly felt waaaaaaaay better about being overwhelmed when trying to fly airliners solo in x-plane.

I’d look forward to this feature, but its hard to imagine how it’d be done.

]]>
By: JAVIER https:/2019/06/flightsimexpo-2019-talk/#comment-33779 Fri, 21 Jun 2019 15:37:02 +0000 http://developer.x-plane.com/?p=39617#comment-33779 At last!!!! More news about vulkan and fps improvement. We really need this and more in vr. At the moment I’m only playing in vr DCS and FS2. I’m looking forward to play my xplane 11 in vr with good performance or in a monitor at 60fps min.

]]>