{Resolved} Relation between texture loading and external limiter ?

Any issues, problems or troubleshooting topics related to the Prepar3D client application.
Locked
ctroncy
Posts: 47
Joined: Mon Mar 14, 2016 7:11 pm

{Resolved} Relation between texture loading and external limiter ?

Post by ctroncy »

Bonjour,

It is my first post here. I have already post my question at AVSIM, but I think a expert like Beau Hollis, will be able to give me a clue which will help me to understand.

My PC... 4790K OC4.7ghz 780GTX W7 EIZO(60hz)
I am interested to have advices about the relation between external limiter and texture loading.

- When using external limiter (30FPS) (I tried 4 different ones), I can stop microstutters in turn and when panning. P3D V3.3.5 is then very smooth.... But the textures are displayed with delay, and it looks like if they popup just in front of the plane. GPU usage is about 55%

- When not using the external limiter (internal unlimited) I do not have the texture loading problem, they are displayed before, at a long distance in front of the plane, and the popup is imperceptible. But I got microstutter, the sim is not so fluid, and the GPU is about 98%

-When using internal limiter (no external), no problem the texture are displayed correctly... But the overhead produced by the internal limiter makes my FPS dropped, and I am under 30FPS (using NGX) and again stutters are here. The GPU usage is 55%

I searched how an external limiter works, and in FSX (I think it is the same in P3D) I read that it slows down the main thread by putting it in sleep mode. That look strange to me but that could explain why some processes in charge of rendering terrain and related to the main thread are delayed. In fact when the textures are displayed(with delay) the plane is at a short distance of them and they seems to popup.

So I have to choose texture popup or stutters !


So my question is what is going on that could explain this behavior, What is the relation between the speed of texture loadind and the external limiter.

Thanks in advance
Cheers
Claude
User avatar
Beau Hollis
Lockheed Martin
Posts: 2452
Joined: Wed Oct 06, 2010 3:25 pm

Re: Relation between texture loading and external limiter ?

Post by Beau Hollis »

While jobs that create/load terrain texture run in the background, the jobs that request textures based on distance from the user run on the main thread. If these jobs don't get enough time to run, you can see delays in your terrain loading.

Jobs that run on the main thread are given a certain amount of time each frame. If you internally limit, these jobs get however much time is left. 30fps = 33ms, so if the main work is done in 23ms, then these jobs get 10ms to play with which is ok. If your main frame work takes 31ms, they only get 2ms, and you may see delays. With unlimited, the jobs time slice is determined by a percentage of the frame which is configurable in the Prepar3D.cfg using:

FIBER_FRAME_TIME_FRACTION (default is 0.33 or 30% of the frame time).
MIN_FIBER_TIME_SEC (Default is 0.001 or 1ms)
MAX_FIBER_TIME_SEC (Default is 0.1 or 100ms)

Lets say you're actually getting 60fps but externally limiting down to 30. The extra 16ms is being wasted sleeping rather than doing terrain loading requests. The part of the system calculating the fiber time percentage thinks you're running at 60fps because it's counting time form the start of the frame rather than the total time of the previous frame.
Perhaps you should try bumping up the fiber time fraction or min fiber time to ensure that more time is spent doing work and less time is spent sleeping.
Beau Hollis
Prepar3D Software Architect
Ebertr
Posts: 53
Joined: Fri Apr 13, 2012 5:24 pm

Re: Relation between texture loading and external limiter ?

Post by Ebertr »

Thanks for that explanation. Will help me to optimize my system, because now I understand things much better.

Ruediger
ctroncy
Posts: 47
Joined: Mon Mar 14, 2016 7:11 pm

Re: Relation between texture loading and external limiter ?

Post by ctroncy »

Hi Beau,
Thank you very much for your explanation. That's what I was looking for.
Now I understand what is going on, with the main thread and the texture loading process, based on distance. This will help me to find the good balance.
Merci
Cheers
Claude
User avatar
Daube
Posts: 87
Joined: Tue Sep 20, 2011 11:33 am

Re: Relation between texture loading and external limiter ?

Post by Daube »

This is quite interesting.
On my computer, I get a lot of blurries when using the "unlimited" FPS setting. But the sim is also smoother. (my CPU is pretty outdated)
I will try to increase the MIN_FIBER... parameter to see if I can achieve a better balance.
Thanks for the explanations, Beau.
Locked