Jump to content
Sign in to follow this  
jabloomf1230

FSUIPC 4.959 now has an AI Traffic Limiter somewhat like the Traffic Optimizer addon

Recommended Posts

Ray,

 

Would you mind if I ask you a couple of questions? First, do you have the size of the largest contiguous block of free VAS displayed in the sim's title bar? And second, what was the CTD error?

 

Jay

Share this post


Link to post

Ray,

 

Would you mind if I ask you a couple of questions? First, do you have the size of the largest contiguous block of free VAS displayed in the sim's title bar? And second, what was the CTD error?

 

Jay

 

Hi Jay,

 

I use WideFS on a separate computer to display available VAS (plus fps and number of Ai in FSX). But essentially displaying free VAS that way is the same as showing it in the title bar.

 

The error (from memory) was ntdll.dll I think. I suspected it was to do with loading Ai as it happened when the progress bar was > 90%.


Ray (Cheshire, England).
System: P3D v5.3HF2, Intel i9-13900K, MSI 4090 GAMING X TRIO 24G, Crucial T700 4Tb M.2 SSD, Asus ROG Maximus Z790 Hero, 32Gb Corsair Vengeance DDR5 6000Mhz RAM, Win 11 Pro 64-bit, BenQ PD3200U 32” UHD monitor, Fulcrum One yoke.
Cheadle Hulme Weather

Share this post


Link to post

I was going to guess ntdll.dll as the error, which is basically another way of "saying" OOM. I can create similar error with far lower AI traffic activity levels at airports like KSCJ and ORBX SCA activated. The combination of too many AI aircraft and the VAS-hungry scenery exceeds the VAS available even before the flight can load and P3d never gets a chance to display its OOM dialog box. My guess (although a few 3rd party developers have also speculated in the same fashion) is that there isn't a large enough block of free VAS to accommodate the cache for the AI traffic 

  • Upvote 1

Share this post


Link to post

It's no great loss to reduce the Ai % to prevent the crash. Until recently I had Ai set to 70% so it's no loss going back to that setting.

 

FSX and 32-bit P3D were never designed for 3rd party airports and 100% 3rd party Ai. Compromises have to be made.


Ray (Cheshire, England).
System: P3D v5.3HF2, Intel i9-13900K, MSI 4090 GAMING X TRIO 24G, Crucial T700 4Tb M.2 SSD, Asus ROG Maximus Z790 Hero, 32Gb Corsair Vengeance DDR5 6000Mhz RAM, Win 11 Pro 64-bit, BenQ PD3200U 32” UHD monitor, Fulcrum One yoke.
Cheadle Hulme Weather

Share this post


Link to post

I flew into KMDW using Pete's recommended settings and I had almost no ai traffic at MDW. I accelerated the time and then put it back to 1x to reset the air traffic and the airport was full.

 

I'm guessing this is due to flying into an area with more than one major airport...any thoughts on setting changes I could make to avoid this? I know it's a bit of an inexact science.


Dave

Current System (Running at 4k): ASUS ROG STRIX X670E-F, Ryzen 7800X3D, RTX 4080, 55" Samsung Q80T, 32GB DDR5 6000 RAM, EVGA CLC 280mm AIO Cooler, HP Reverb G2, Brunner CLS-E NG Yoke, Thrustmaster Warthog HOTAS & Stick, Thrustmaster TCA Quadrant & Add-on, VirtualFly Ruddo+, TQ6+ and Yoko+, GoFlight MCP-PRO and EFIS, Skalarki FCU and MCDU

Share this post


Link to post

Instead of Pete's settings, try AI Limit = 100 and  0,0,0 and then experiment with each of those 3 locational settings one at a time.

Share this post


Link to post

And.. remember to set traffic in P3D to 100%. I had P3D originally set at 35% and in conjunction with Pete's settings gave me a rare occurrence of traffic. After setting P3D to 100, then I had expected amounts of traffic.   


Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz (8 cores) Hyper on, Evga RTX 3060 12 Gig, 32 GB ram, Windows 11, P3D v6, and MSFS 2020 and a couple of SSD's

Share this post


Link to post

So maybe a good starting point to get a balanced AI density is to set the P3D Traffic sliders for airline and GA aircraft to 100%, the FSUIPC Misc tab to 400 and the 3 ini file settings at 50?


GregH

Intel Core i7 14700K / Palit RTX4070Ti Super OC / Corsair 32GB DDR5 6000 MHz / MSI Z790 M/board / Corsair NVMe 9500 read, 8500 write / Corsair PSU1200W / CH Products Yoke, Pedals & Quad; Airbus Side Stick, Airbus Quadrant / TrackIR, 32” 4K 144hz 1ms Monitor

Share this post


Link to post

How can I learn the current number of AI aircraft in p3d world? I'd like to check if AI Traffic Limiter in FSUIPC works actually. Is there a facility in fsuipc to display the number of AI, something like VAS monitor?

 

Thanks,

Dirk. 

Share this post


Link to post

How can I learn the current number of AI aircraft in p3d world? I'd like to check if AI Traffic Limiter in FSUIPC works actually. Is there a facility in fsuipc to display the number of AI, something like VAS monitor?

 

Yes. The count is provided in FSUIPC offset 025C, as a 32-bit (4-byte or "UD") integer.

 

If you already use a VAS Monitor display, like the one around as a Lua plug-in, you could add a line to show this.

 

Here's a Lua plug-in which will show frame rate, VAS total free, VAS max block size and the AI traffic count, all in a Lua display window in FS/P3D. I'' add this to the Lua examples package installed by FSUIPC on the next full release (which will be soon).

-- Update the display at 500 msec intervals (see event at end)
function mytimer(time)
    fr = ipc.readUW(0x0274)
    if fr ~= 0 then fr = 32768/fr end
    fr = math.floor((fr * 10) + 0.5)/10
    mem = ipc.readUD(0x024C)
    memmb = math.floor((mem/1024) + 0.5)
    maxmem = ipc.readUD(0x0290)
    maxmemmb = math.floor((maxmem/1024) + 0.5)
    traff = ipc.readUD(0x025C)
    
    ipc.display("Frame Rate   " .. fr .. 
    		" fps\nVAS free       " .. memmb .. 
    		" Mb\nMax block free " .. maxmemmb .. 
    		" Mb\nTraffic            " .. traff)
end

-- Adjust timing to taste: 500 = 1/2 second
event.timer(500, "mytimer")

I also have one which shows these values in a separate Window , but it will only run under WideClient (I use it on a Network PC). 

 

Pete


Win10: 22H2 19045.2728
CPU: 9900KS at 5.5GHz
Memory: 32Gb at 3800 MHz.
GPU:  RTX 24Gb Titan
2 x 2160p projectors at 25Hz onto 200 FOV curved screen

Share this post


Link to post

Yes. The count is provided in FSUIPC offset 025C, as a 32-bit (4-byte or "UD") integer.

 

If you already use a VAS Monitor display, like the one around as a Lua plug-in, you could add a line to show this.

 

Here's a Lua plug-in which will show frame rate, VAS total free, VAS max block size and the AI traffic count, all in a Lua display window in FS/P3D. I'' add this to the Lua examples package installed by FSUIPC on the next full release (which will be soon).

 

-- Update the display at 500 msec intervals (see event at end)function mytimer(time)    fr = ipc.readUW(0x0274)    if fr ~= 0 then fr = 32768/fr end    fr = math.floor((fr * 10) + 0.5)/10    mem = ipc.readUD(0x024C)    memmb = math.floor((mem/1024) + 0.5)    maxmem = ipc.readUD(0x0290)    maxmemmb = math.floor((maxmem/1024) + 0.5)    traff = ipc.readUD(0x025C)        ipc.display("Frame Rate   " .. fr ..     		" fps\nVAS free       " .. memmb ..     		" Mb\nMax block free " .. maxmemmb ..     		" Mb\nTraffic            " .. traff)end-- Adjust timing to taste: 500 = 1/2 secondevent.timer(500, "mytimer")
I also have one which shows these values in a separate Window , but it will only run under WideClient (I use it on a Network PC).

 

Pete

Pete, I also run it on a Network PC, could you post the other "one" as well?

 

Thanks,

Dirk.

Share this post


Link to post

It is similar, but uses the "wnd" Lua library, which is only available in WideClient:

w = wnd.open("VAS Monitor", WND_FIXED, 100,100,425,185)
wnd.backcol(w, 0x000)
wnd.textcol(w, 0x6c0)
wnd.font(w, WND_ARIAL,-4)

-- Update the display at 500 msec intervals (see event at end)
function mytimer(time)

    wnd.clear(w)

    fr = ipc.readUW(0x0274)
    if fr ~= 0 then fr = 32768/fr end
    fr = math.floor((fr * 10) + 0.5)/10
    mem = ipc.readUD(0x024C)
    memmb = math.floor((mem/1024) + 0.5)
    mem2 = ipc.readUD(0x0290)
    memmb2 = math.floor((mem2/1024) + 0.5)
    traff = ipc.readUD(0x025C)
    
    wnd.text(w, "Frame Rate   " .. fr .. 
    		" fps\nVAS free       " .. memmb .. 
    		" Mb\nMax block      " .. memmb2 .. 
    		" Mb\nTraffic            " .. traff)
end

-- Adjust timing to taste: 500 = 1/2 second
event.timer(500, "mytimer")

Pete

  • Upvote 1

Win10: 22H2 19045.2728
CPU: 9900KS at 5.5GHz
Memory: 32Gb at 3800 MHz.
GPU:  RTX 24Gb Titan
2 x 2160p projectors at 25Hz onto 200 FOV curved screen

Share this post


Link to post

It is similar, but uses the "wnd" Lua library, which is only available in WideClient:

w = wnd.open("VAS Monitor", WND_FIXED, 2455,995,425,185)wnd.backcol(w, 0x000)wnd.textcol(w, 0x6c0)wnd.font(w, WND_ARIAL,-4)
Pete

 

 

Pete, my format of the display is different and I like it:

 

-- display 1 = frame rate

fr = ipc.readUW(0x0274)

if fr ~= 0 then fr = 32768/fr end

fr = math.floor((fr * 10) + 0.5)/10

display.show(h, 1, "Frame Rate " .. fr .. " fps")

 

-- display 2 = memory left free

mem = ipc.readUD(0x024C)

memmb = math.floor((mem/1024) + 0.5)

display.show(h, 2, "Memory free " .. mem .. " kb (" .. memmb .. " Mb)")

So, to see number of AI I should add:

-- display 3=AI number

traff = ipc.readUD(0x025C)

???????????????????????????????????

display.show(h, 3, "AI Number "???????????

Could you please complete the ?????? lines.

 

Thanks,

Dirk.

Share this post


Link to post

Pete, my format of the display is different and I like it:

 

So, to see number of AI I should add:

Could you please complete the ?????? lines.

 

Thanks,

Dirk.

 

.. traff)

 

Sorry, but isn't that rather obvious by inspecting the others? The .. just joints thingsup into one string for the display.

 

Pete


Win10: 22H2 19045.2728
CPU: 9900KS at 5.5GHz
Memory: 32Gb at 3800 MHz.
GPU:  RTX 24Gb Titan
2 x 2160p projectors at 25Hz onto 200 FOV curved screen

Share this post


Link to post

.. traff)

 

Sorry, but isn't that rather obvious by inspecting the others? The .. just joints thingsup into one string for the display.

 

Pete

 

You beat me to it!! Thank you so much! I figured out myself though:

 

-- display 3 = number of AI
    traff = ipc.readUD(0x025C)
    display.show(h, 3, "AI Number " ..traff)

 

 

Now, the lua seemingly mirrors only what is set in FSUIPC.ini (100 in my case). But it does not read the actual number in P3D world. To check the real number I run SuperTrafficBoard and it still shows circa 600 planes in EGLL. So then I run AirTrafficManager on another PC with the setting 150 airplanes max. It cuts down 600 to 150 (I can see it in the running log), then STB shows 150, but WideClient LUA and your wnd lua displays still show 100!

 

I could feel that something did not click with AI Traffic Limiter because the FPS was rather depressed even though it showed 100 AI.

 

Thanks,

Dirk 

Do I need to go to your forum to follow up on this?

 

Thanks,

Dirk.

PS: forgot to add STB3 runs its own server on Main PC.

Share this post


Link to post

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...