Author Topic: Fuel counter not working in 5.2  (Read 1913 times)

trening

  • Newbie
  • *
  • Posts: 11
Fuel counter not working in 5.2
« on: July 25, 2021, 07:21:29 pm »
Hi.

After upgrading from 4.5 to 5.2 there are no information reg. fuel counters or prices. The panel is black.
Is this normal ?
Thanks for a great product .
Best
Thor H

virtuali

  • Administrator
  • Hero Member
  • *****
  • Posts: 50691
    • VIRTUALI Sagl
Re: Fuel counter not working in 5.2
« Reply #1 on: July 27, 2021, 11:24:26 am »
P3D V5 only supports DirectX 12, and in DirectX 12 there's no support for a crucial library we need to display text ( DirectWrite ), which works only with DirectX 11 and has been removed from 12, so everything related to dynamic text won't work in P3D V5.

trening

  • Newbie
  • *
  • Posts: 11
Re: Fuel counter not working in 5.2
« Reply #2 on: July 27, 2021, 06:20:28 pm »
Ok.
Thanks for reply.

Thor H

comepso

  • Newbie
  • *
  • Posts: 5
Re: Fuel counter not working in 5.2
« Reply #3 on: August 13, 2021, 11:40:32 pm »
P3D V5 only supports DirectX 12, and in DirectX 12 there's no support for a crucial library we need to display text ( DirectWrite ), which works only with DirectX 11 and has been removed from 12, so everything related to dynamic text won't work in P3D V5.
I don't know where you got the information that DirectWrite is no longer in DX12, maybe the way you implement it has changed but that API is still there in DX12. For example DirectDraw API was deprecated, but I can't remember when, however the Direct2D API is still there. There's also a newer way using Sprite Rendering. https://github.com/Microsoft/DirectXTK12/wiki/Drawing-text This official Microsoft DX12 toolkit wiki says DirectWrite is still available and also also explains how to use the new sprite rendering method. I don't know if your going to update GSX anymore or what your plan is to support Prepar3D products. Hopefully you can look into implementing it after carefully reviewing the DX12 API. While I know MSFS is a new Sim and possibly easier to develop scenery for, there's still plenty of life left in Prepar3D and I'm sure there's still many customers who also feel the same way.

virtuali

  • Administrator
  • Hero Member
  • *****
  • Posts: 50691
    • VIRTUALI Sagl
Re: Fuel counter not working in 5.2
« Reply #4 on: August 17, 2021, 05:17:50 pm »
I don't know where you got the information that DirectWrite is no longer in DX12, maybe the way you implement it has changed but that API is still there in DX12.

DirectWrite IS no longer supported in DX12, that's out of the question.

That doesn't mean there's absolutely no way to use it but, the only way to use it is by a very complex system called Device Interoperability, which requires creating a virtual DirectX 11 device, to use all DX11 API calls on it, and rendering some things using DX12, and other things using DX11, for the things that are not supported in DX12, like DirectWrite, exactly.

The drawback of this approach are:

- It consumes more VRAM.

- It's way more complex. DX12 is complex enough on its own, without the added complication of using hybrid DX12 and DX11 rendering.

The last thing we need in P3D is, more chances to create DXGI OOMs and more chances to create non-OOM by equally impossible to debug DXGI problems due to the increase complexity not of "just" DX12 alone, but the ever more complex DX11+DX12 hybrid approach required.


Quote
There's also a newer way using Sprite Rendering

We can't use this method, because it requires Sprite-based fonts to be pre-generated. While this might work for something like a static text with a predictable style, it won't work the way we use Fonts in GSX, namely the Jetway Number customization, where the user is free to enter ANY font of ANY size of ANY style it has installed, and immediately see the results on screen. That *requires* dynamic font support, like in DirectWrite.

But that's even not really the main issue. The issue is, we used a fairly large Open Source library to do Font Rendering, which works only in DX11 so, having to rewrite that one to support DX11+DX12 hybrid rendering, is really outside the scope of what we can do to support P3D V5.

So no, as confirmed already multiple times, we currently have no plans to support DX12, but we WILL release a set of P3DV5-specific set of objects using the more traditional multi-livery method so, while you won't see true Render to Texture in P3D V5, you'll get at least multiple operator liveries.
« Last Edit: August 17, 2021, 05:21:03 pm by virtuali »