Jump to content
Sign in to follow this  
Brocky120

MSFS Adaptive LOD

Recommended Posts

This thread has got quite disjointed recently seemingly with various people doing different versions and difficult, for me at least, as a basic user, to keep a track of what has changed.

I am currently using  v0.3.1, which is working well for me. What am I missing by using this version as opposed to later ones out there?

Share this post


Link to post
Share on other sites
2 hours ago, Fragtality said:

Nope.

I could create a branch on your Github and push my code with cloud handling. Then you could merge source code in the main branch. I'm not friendly with git shared project, but I believe it's the way to go, what do you think?


Roland

MSFS my local airport release: LFOR Chartres-Metropole

MSFS Plugins RAAS (registered FSUIPC7 required)

MSFS FX for Objects & Landmark in France (Steam and smoke) and Aerial coverage for French nuclear sites

Share this post


Link to post
Share on other sites
4 minutes ago, roland_lfor said:

I could create a branch on your Github and push my code with cloud handling. Then you could merge source code in the main branch. I'm not friendly with git shared project, but I believe it's the way to go, what do you think?

That Status Quo still applies 😉 

Share this post


Link to post
Share on other sites

Gentlemen,

Thank you for the open communication and thoughtfully describing your positions.

Another viewpoint to throw into the mix.   

Been flight simming since the late 80's and would not have enjoyed this hobby nearly as much if it wasn't for folks like you, that have the ability to bring really helpful, impactful and creative addons/mods to the hobby.    

I have found this particular mod to be very useful and a difference maker to my set-up. I think I can safely say that given the responses to this thread, likely many many others that feel the same.   

Could I ask for the many of us that would benefit from your combined skills, would you please consider/reconsider teaming up to develop the best feature rich mod possible?

It would be great appreciated!       

  • Like 2

Share this post


Link to post
Share on other sites
10 hours ago, Fragtality said:

If you want to keep Code Commonality: I've added ForceEvaluation (Model.ForceEvaluation) as additional Trigger for FindPairs() (in the if-Blocks in Lines 66-72).
Still have to test it, but should theoretically do the Trick.

While such a change will reevaluate table changes, it will still only one shot EvaluateLodPairByHeight from the first table entry for both TLOD and OLOD and get you to the second line of the table only, because Model.ForceEvaluation gets reset at the end of RunTick(). My approach, which has been tested as working, keeps Model.ForceEvaluation true until both TLODResult and OLODResult (two local variables I have defined to capture the return value from the two calls to EvaluateLodPairByHeight) return -1.0f (ie. no more table selection changes were made). Sounds like a combination of our two efforts would be more fruitful.

Edit: On further reflection it looks like what you have done will do the job too as FindPairs() works through the LOD tables until it gets the right pair and does so in one go rather than iterate over subsequent runticks like mine. I'll try your method, which seems more efficient, and see how it goes.

Edit2: Yep your method works better. I've updated mine accordingly.

Edited by Reset XPDR
  • Like 1

Ryzen 7 5800X3D | Gigabyte RTX 4090 Gaming OC 24GB | 32GB 3200MHz RAM | 2TB + 1TB NVME SSD | 2GB SSD | 2GB HDD | Corsair RM850 PSU | 240mm AIO | Buttkicker Gamer 2 | Thrustmaster T.16000M Flight Pack | 75" 4K60 TV | 40" 4K60 TV | Quest 3 | DOF Reality H3 Motion Platform

MSFS @ 4K Ultra DLSS Performance with 2.0x Secondary Scaling |  VR VDXR Godlike 80Hz SSW OXRTK @ 4500x4500 Custom FFR CAS 50% | MSFS VR Ultra DLSS Performance - Windows 11

Share this post


Link to post
Share on other sites
9 hours ago, Fragtality said:

Well that someone is also known as Umberto from FSDT 😉 Maybe he someday answers my DMs/Pings on Discord to get a bit more Information on that. I wonder a bit that it is really just a fixed Offset to the Base-Address of the Executable. Because getting the Memory-Locations for the LOD Values don't work that easily.
Apart from that, I have no Capability to test that myself.

Also, don't forget that you still need something do designate one of the Profiles for VR. So you actually still need that Checkbox (and Flag) for an Auto-Switch.

Having looked at the DynamicLOD code, I was wondering if a much simpler approach to dealing with the PC and VR LOD settings was possible whereby any LOD changes are just pushed blindly to both PC and VR memory locations so that it doesn't matter whether you are in PC or VR mode as they will both use the same LOD settings while the app is running. Same goes for reading them once the app has written them at least once. Am I missing something here?


Ryzen 7 5800X3D | Gigabyte RTX 4090 Gaming OC 24GB | 32GB 3200MHz RAM | 2TB + 1TB NVME SSD | 2GB SSD | 2GB HDD | Corsair RM850 PSU | 240mm AIO | Buttkicker Gamer 2 | Thrustmaster T.16000M Flight Pack | 75" 4K60 TV | 40" 4K60 TV | Quest 3 | DOF Reality H3 Motion Platform

MSFS @ 4K Ultra DLSS Performance with 2.0x Secondary Scaling |  VR VDXR Godlike 80Hz SSW OXRTK @ 4500x4500 Custom FFR CAS 50% | MSFS VR Ultra DLSS Performance - Windows 11

Share this post


Link to post
Share on other sites
1 hour ago, Reset XPDR said:

Having looked at the DynamicLOD code, I was wondering if a much simpler approach to dealing with the PC and VR LOD settings was possible whereby any LOD changes are just pushed blindly to both PC and VR memory locations so that it doesn't matter whether you are in PC or VR mode as they will both use the same LOD settings while the app is running. Same goes for reading them once the app has written them at least once. Am I missing something here?

Well I honestly don't know ^^

I tried to minimize Intrusion - we're still talking about injecting "bogus" Values in the Memory and Engine.
But it very well could be that it makes no Difference for MSFS if you change both the PC & VR Values at the same Time.

At the same Time it makes no Difference in regards to switching Profiles - you fancy VR People still want to switch between different Profiles without getting your Hands dirty I guess 🤪
(So removing the VR Flag by that does not get you further with that. It would also create the Problem: which Profile to switch to when going to VR?)

Share this post


Link to post
Share on other sites
7 minutes ago, Fragtality said:

Well I honestly don't know ^^

I tried to minimize Intrusion - we're still talking about injecting "bogus" Values in the Memory and Engine.
But it very well could be that it makes no Difference for MSFS if you change both the PC & VR Values at the same Time.

At the same Time it makes no Difference in regards to switching Profiles - you fancy VR People still want to switch between different Profiles without getting your Hands dirty I guess 🤪
(So removing the VR Flag by that does not get you further with that. It would also create the Problem: which Profile to switch to when going to VR?)

My theory is that it is no worse changing both values rather than just one as the one that is not active won't change any rendering anyway. And yes adding this double value setting doesn't change the need for selecting a different profiles, but it does make it simpler for those that mix their PC and VR use during a flight like I often do and I use the same profile for both anyway.

There's only a few changes to get this working for a quick test (comment out if/else lines in the SetXLOD functions, add Model.ForceEvaluation "or" to all four ifs that set LODs in FindPairs, and remove VR checkbox) so I'll see shortly whether it causes any issues and explodes my computer 😄.  


Ryzen 7 5800X3D | Gigabyte RTX 4090 Gaming OC 24GB | 32GB 3200MHz RAM | 2TB + 1TB NVME SSD | 2GB SSD | 2GB HDD | Corsair RM850 PSU | 240mm AIO | Buttkicker Gamer 2 | Thrustmaster T.16000M Flight Pack | 75" 4K60 TV | 40" 4K60 TV | Quest 3 | DOF Reality H3 Motion Platform

MSFS @ 4K Ultra DLSS Performance with 2.0x Secondary Scaling |  VR VDXR Godlike 80Hz SSW OXRTK @ 4500x4500 Custom FFR CAS 50% | MSFS VR Ultra DLSS Performance - Windows 11

Share this post


Link to post
Share on other sites

The brute PC and VR LOD setting changes I made worked very well. I confirmed that LODs are changing to be the same in both PC and VR modes and it did not set my computer on fire.

In fact @Fragtality, I discovered that when I implemented your proposed change to add Model.ForceEvaluation to the the if-blocks in lines 66-72 as a condition to run FindPairs() on setting changes that the return on line 72 was causing the function to terminate before Model.ForceEvaluation gets set to false, resulting in repeated calls to FindPairs() every runtick and therefore setting those memory parameters every second until I found it in the log about 20 minutes later. I have fixed it now, but even with that level of repeated memory setting abuse MSFS still seemed to run fine.

If you are interested in the slight change I made to your fix, I left the exisitng lines 66-72 as they originally were in 0.3.2 and added a line after line 73 with

            if (Model.ForceEvaluation) FindPairs();

and it works great.

 

Edited by Reset XPDR
  • Like 1

Ryzen 7 5800X3D | Gigabyte RTX 4090 Gaming OC 24GB | 32GB 3200MHz RAM | 2TB + 1TB NVME SSD | 2GB SSD | 2GB HDD | Corsair RM850 PSU | 240mm AIO | Buttkicker Gamer 2 | Thrustmaster T.16000M Flight Pack | 75" 4K60 TV | 40" 4K60 TV | Quest 3 | DOF Reality H3 Motion Platform

MSFS @ 4K Ultra DLSS Performance with 2.0x Secondary Scaling |  VR VDXR Godlike 80Hz SSW OXRTK @ 4500x4500 Custom FFR CAS 50% | MSFS VR Ultra DLSS Performance - Windows 11

Share this post


Link to post
Share on other sites
23 hours ago, MarcG said:

The only thing I'm missing in VR is an app that shows the AGL, whilst testing I could do with seeing when the changes are gonna happen so I know how severe a stutter I might get, it gets annoying to lift up the HMD every time just to look at the on screen dynamiclod window.

I don't think any of the apps I use have this feature (Sky4Sim, LNM VR), anyone know of one? Thanks

I found one here! Although a landing monitor, in the air it shows AGL and the panel, select-able from the toolbar, can be positioned anywhere you want and is visible in VR.


Ryzen 7 5800X3D | Gigabyte RTX 4090 Gaming OC 24GB | 32GB 3200MHz RAM | 2TB + 1TB NVME SSD | 2GB SSD | 2GB HDD | Corsair RM850 PSU | 240mm AIO | Buttkicker Gamer 2 | Thrustmaster T.16000M Flight Pack | 75" 4K60 TV | 40" 4K60 TV | Quest 3 | DOF Reality H3 Motion Platform

MSFS @ 4K Ultra DLSS Performance with 2.0x Secondary Scaling |  VR VDXR Godlike 80Hz SSW OXRTK @ 4500x4500 Custom FFR CAS 50% | MSFS VR Ultra DLSS Performance - Windows 11

Share this post


Link to post
Share on other sites
46 minutes ago, Reset XPDR said:

I found one here! Although a landing monitor, in the air it shows AGL and the panel, select-able from the toolbar, can be positioned anywhere you want and is visible in VR.

Ah marvelous you're a star, thank you very much 👍


HP Reverb G2 - Windows 11 64bit, Gigabyte Z590 Aorus Elite Mobo, i7-10700KF CPU, Gigabyte 3070ti GPU, 32gig Corsair 3600mhz RAM, SSD x2 + M.2 SSD 1tb x1

Saitek X45 HOTAS - Saitek Pro Rudder Pedals - Logitech Flight Yoke - Homemade 3 Button & 8-directional Joystick Box, SNES Controller (used as a Button Box - Additional USB Numpad (used as a Button Box)

Share this post


Link to post
Share on other sites
1 hour ago, Reset XPDR said:

I found one here! Although a landing monitor, in the air it shows AGL and the panel, select-able from the toolbar, can be positioned anywhere you want and is visible in VR.

Where can your latest version be downloaded. Is it the same link ?


13900 8 cores @ 5.5-5.8 GHz / 8 cores @ 4.3 GHz (hyperthreading on) - Asus ROG Strix Gaming D4 - GSkill Ripjaws 2x 16 Gb 4266 mhz @ 3200 mhz / cas 13 -  Inno3D RTX4090 X3 iCHILL 24 Gb - 1x SSD M2 2800/1800 2TB - 1x SSD M2 2800/1800 1Tb - Sata 600 SSD 500 Mb - Thermaltake Level 10 GT case - EKWB Extreme 240 liquid cooling set push/pull - 2x 55’ Sony 4K tv's as front view and right view.

13600  6 cores @ 5.1 GHz / 8 cores @ 4.0 GHz (hypterthreading on) - Asus ROG Strix Gaming D - GSkill Trident 4x Gb 3200 MHz cas 15 - Asus TUF RTX 4080 16 Gb  - 1x SSD M2 2800/1800 2TB - 2x  Sata 600 SSD 500 Mb - Corsair D4000 Airflow case - NXT Krajen Z63 AIO liquide cooling - 1x 65” Sony 4K tv as left view.

FOV : 190 degrees

My flightsim vids :  https://www.youtube.com/user/fswidesim/videos?shelf_id=0&sort=dd&view=0

 

Share this post


Link to post
Share on other sites
1 hour ago, Reset XPDR said:

 

Edited by GSalden
Double post

13900 8 cores @ 5.5-5.8 GHz / 8 cores @ 4.3 GHz (hyperthreading on) - Asus ROG Strix Gaming D4 - GSkill Ripjaws 2x 16 Gb 4266 mhz @ 3200 mhz / cas 13 -  Inno3D RTX4090 X3 iCHILL 24 Gb - 1x SSD M2 2800/1800 2TB - 1x SSD M2 2800/1800 1Tb - Sata 600 SSD 500 Mb - Thermaltake Level 10 GT case - EKWB Extreme 240 liquid cooling set push/pull - 2x 55’ Sony 4K tv's as front view and right view.

13600  6 cores @ 5.1 GHz / 8 cores @ 4.0 GHz (hypterthreading on) - Asus ROG Strix Gaming D - GSkill Trident 4x Gb 3200 MHz cas 15 - Asus TUF RTX 4080 16 Gb  - 1x SSD M2 2800/1800 2TB - 2x  Sata 600 SSD 500 Mb - Corsair D4000 Airflow case - NXT Krajen Z63 AIO liquide cooling - 1x 65” Sony 4K tv as left view.

FOV : 190 degrees

My flightsim vids :  https://www.youtube.com/user/fswidesim/videos?shelf_id=0&sort=dd&view=0

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...