Comments on: Vulkan and Metal: Testing and Bug Fighting https:/2019/12/vulkan-and-metal-testing-and-bug-fighting/ Developer resources for the X-Plane flight simulator Sat, 04 Jan 2020 20:52:01 +0000 hourly 1 https://wordpress.org/?v=6.6.1 By: Ben Supnik https:/2019/12/vulkan-and-metal-testing-and-bug-fighting/#comment-34952 Sat, 04 Jan 2020 20:52:01 +0000 http://developer.x-plane.com/?p=39751#comment-34952 In reply to Steve.Wilson.

The behavior of 11.50 under ALL settings is the same as 11.40 if the texture setting is anything other than “extreme (uncompressed)”:
– If the texture is eligible for compression (e.g. it’s an aircraft livery and not a panel gauge)
— If it’s a DDS on disk
—-We load the DDS and use it
— otherwise
— We load the PNG and compress it on the fly.

This is what 90% of your users have been doing in 11.40 and what 100% will do in 11.50.

So you will get faster load times and better results if you pre-compress – the offline compressor can take more time to compress better and the sim doesn’t have to do anything. But if you don’t, we’ll compress for you.

]]>
By: Steve.Wilson https:/2019/12/vulkan-and-metal-testing-and-bug-fighting/#comment-34950 Sat, 04 Jan 2020 17:53:28 +0000 http://developer.x-plane.com/?p=39751#comment-34950 Off the wall question for owners of Cray Gaming Supercomputers with 6ghz, 100 core CPU’s and GPU’s with 20gb of VRAM… If only uncompressed .png textures are provided, will they still be used as is, or will *everything* be compressed no matter what? A re-read of the compression paragraph seems to suggest that png’s will always be compressed when found – I suspect on aircraft load. Which would make for a rather long load in some cases!

]]>
By: Ben Supnik https:/2019/12/vulkan-and-metal-testing-and-bug-fighting/#comment-34936 Fri, 03 Jan 2020 05:02:23 +0000 http://developer.x-plane.com/?p=39751#comment-34936 In reply to Dave.

I’ve discussed this kind of thing recently with multiple third parties, but I don’t want to name names there because we try to treat what third parties tell us as NDA (regardless of whether they’ve signed one).

Here’s a much older example: Javier and Philipp’s CRJ-200 — if I remember what Philipp told me, the FMS actually runs in a separate _process_ that communicates back to the X-Plane plugin.

Since a separate process is by definition running separate threads, this means it’s in the background and not hurting X-Plaene’s FPS. The other big win is that it’s isolated from X-Plane and all other plugins, so it can’t wreck other plugins and other plugins can’t wreck it.

]]>
By: Ben Supnik https:/2019/12/vulkan-and-metal-testing-and-bug-fighting/#comment-34935 Fri, 03 Jan 2020 04:58:51 +0000 http://developer.x-plane.com/?p=39751#comment-34935 In reply to Andreas Schier.

So first, the key point to X-Plane in HDR mode is _not_ that it’s HDR…having an HDR surface with MSAA is trivial. The thing that makes it interesting is that X-Plane’s HDR renderer is always a _deferred_ renderer. It’s a two-pass process where-by pixels have their geometry set up first and lighting applied second.

MSAA gives you soft blended edges between polygons by saving multiple final color values per pixel and then blending them later. To get this right in a deferred renderer we’d need:

1. To save more than one value per pixel (e.g 4 for 4x MSAA) for all of position, normals, color, everything we save for the G-Buffer (it’s five full buffers right now).
2. To read all of the samples per pixel (e.g. 4x) and then perform lighting calculations on each one, then blend the final result ourselves (because the MSAA hardware isn’t going to _do_ anything on the lighting pass, since it’s just a once-over-the-screen kind of thing).

If you squint, this looks a _lot_ like 4x SSAA…that is 4x the memory in the G-buffer being written, 4x the memory being read and 4x the lighting calcs.

Now it would still be faster to set render into the G-Buffer, and if you know your graphics hardware you might know that the GPUs have compression options to make MSAA surfaces extra fast, since so often all 4 subsamples show the same stuff. They often have clever ways to get 16x differentiation of surfaces with 4x the color memory – we don’t have access to that.

But color buffers can be compressed now, full stop, something that helps modern cards with 4K surfaces. So we can get that win even in SSAA, e.g. SSAA with compression.

All of this is to say, there might be a win from MSAA vs SSAA in HDR mode (which is deferred) but it might not be the blockbuster win you’d hope for.

In the very long term my view is that the future might not be in really amazing MSAA for deferred rendering, but going to something completely different like a clustered or tiled forward renderer – where basically it’s a normal forward render with an optimized structure to find lights. Those designs have become quite popular in the AAA games and do some useful things:

– efficient with “lots of lights” like HDR
– real hardware MSAA
– handles alpha well (the other achilles heal of deferred renderers).

]]>
By: Dave https:/2019/12/vulkan-and-metal-testing-and-bug-fighting/#comment-34933 Fri, 03 Jan 2020 04:35:49 +0000 http://developer.x-plane.com/?p=39751#comment-34933 In reply to Ben Supnik.

This would be an amazing diagnostic tool for everyone to have access to.

]]>
By: Dave https:/2019/12/vulkan-and-metal-testing-and-bug-fighting/#comment-34932 Fri, 03 Jan 2020 04:33:08 +0000 http://developer.x-plane.com/?p=39751#comment-34932 In reply to Ben Supnik.

Interesting. Can you list some 3rd party aircraft developers that are currently doing this? Thanks.

]]>
By: Andreas Schier https:/2019/12/vulkan-and-metal-testing-and-bug-fighting/#comment-34929 Thu, 02 Jan 2020 18:35:48 +0000 http://developer.x-plane.com/?p=39751#comment-34929 In reply to Ben Supnik.

Hi Ben,

thanks for your answer. Does it mean in detail, that we still can´t use MSAA with HDR ON? If yes, what is the reason for this? Because with many other titles i can use MSAA with HDR ON (As with X-Plane internaly only, not Nvidia Inspector) . MSAA is much more performance friendly as SSAA.

Many thanks
Andreas

]]>
By: Ben Supnik https:/2019/12/vulkan-and-metal-testing-and-bug-fighting/#comment-34927 Thu, 02 Jan 2020 17:21:10 +0000 http://developer.x-plane.com/?p=39751#comment-34927 In reply to Andreas Schier.

No. The Vulkan port does not affect what kind of AA we implement, other than allowing you to change AA without restarting.

]]>
By: Andreas Schier https:/2019/12/vulkan-and-metal-testing-and-bug-fighting/#comment-34926 Thu, 02 Jan 2020 16:46:53 +0000 http://developer.x-plane.com/?p=39751#comment-34926 Congrats for this big update, i´m looking forward to it.

Will Vulkan help with AA? X-Plane is a fantastic simulator and i´m very happy with it. But the AA handling is a show stopper. Without HDR ON (Day) i´m using a very strong AA setting, 4x SSAA and 8x MSAA via Nvidia Inspector to be happy with the results. I have tested it carefully and noticed that SSAA helps with objects in the distance and MSAA for objects nearby. So during the day i´m using this combination. But this AA combi is fire for every graphic card. During the night, we all know, we need HDR and with HDR we can´t force AA outside X-Plane. In this case i can use 2x SSAA only, more is not possible for FPS reasons. And this is not very nice.

So, will Vulkan change this strange behaviour?

Many thanks for your work!

]]>
By: Alton Earl Rowell Jr. https:/2019/12/vulkan-and-metal-testing-and-bug-fighting/#comment-34921 Thu, 02 Jan 2020 13:15:58 +0000 http://developer.x-plane.com/?p=39751#comment-34921 In reply to Ben Supnik.

I don’t know how u guys do it. I would pull my hair out. I’m a xplane11 user and I do enjoy it. My laptop is running 19-32 fps with it with low rendering setting. I pray for u guys. May GOD blessings be on u. Keep up the great work.

]]>