Niedrige FPS trotz geringer Auslastung

  • Hallo,


    folgendes Bild zeigt den FSLabs A321 an 29Palms EDDN in P3D V4.5 HF3:



    Wie man sehen kann erreiche ich im VC (2D ca. 10 FPS mehr) ca 25-30 FPS, jetzt meine Frage, warum sind weder CPU noch GPU ausgelastet bzw. am Limit und komme trotzdem nicht auf mehr FPS ? Für mich als (mehr oder weniger) Laien macht das einfach keinen Sinn, irgendwas muss doch "bremsen"...


    Ich würde mich sehr freuen, wenn mich endlich jemand über die Performancegeheimnisse des P3D aufklärt.


    Danke

    Viele Grüße aus Regensburg

    Sebastian

  • Ich denke mal, es sind die ganzen Prozesse, die im Hintergrund des Airbus laufen. Dazu viele unterschiedliche 4K-Texturen, vielleicht sogar viele Draw-Calls. Animationen können auch schnell framerate-fressend werden. Jeder will ja mittlerweile jede Schraube, Spindel, die sich real bewegt, auch richtig animiert haben.


    Vielleicht postest Du mal die Dateigröße der mdl und mdl_interior. Da kann man schonmal ein bisschen was rauslesen.


    Gruß


    Thomas

  • So denke ich auch. Den Bus habe ich nicht, aber PMDG. Jede dll ist nichts anderes als eine ausführbare Datei, wie eine exe auch, nur dass sie von einer Anwendung gesteuert wird. Ich vermute mal, dass diese eh nur einen Kern nutzen darf und das erklärt auch die niedrige Auslastung der CPU bei gleichzeitig relativ wenig Frames.


    Genausowenig hat es z.B. P3D im Griff, den Ladervorgang bis zum Startbildschirm zu beschleunigen. Da arbeitet die CPU mit 10,1 % und im Gegenzug wartet man 10 Minuten bis alle AI Flieger geprüft und geladen sind. Dieses Startverhalten habe ich aber auch schon bei anderen Anwendungen bemerkt. Multithread passiert immer erst wenn die Anwendung vollständig läuft. Also "Bremserscheinungen" und Ursachen gibt es viele.

  • Vielleicht postest Du mal die Dateigröße der mdl und mdl_interior. Da kann man schonmal ein bisschen was rauslesen.


    Gruß


    Thomas

    Also unter "FSLabs\SimObjects\Airplanes\FSLabs A321 IAE\Model" ist "plane_p3d-x64.mdl" mit 65 Mb und "VC_p3d_x64" mit 33 Mb, keine Ahnung ob das jetzt das richtige ist aber viel mehr gibts da nicht.


    Ansonsten danke ich euch für eure ausführlichen Antworten, was mir aber immer noch nicht klar ist:


    Ja, viele verschiedene Dinge brauchen Leistung, Animationen 4K-Texturen, mag ja alles sein, aber dann müssten ja auch dementsprechend Kerne oder eben die GPU ausgelastet sein. Oder hab ich da einen Denkfehler ?

    Viele Grüße aus Regensburg

    Sebastian

  • So lange die das statisch berechnet weil Du stehst und sich nichts verändert ist das nicht der Fall. Die macht einfach nichts, weil nicht nötig. Das hat aber mit den Frames nichts zu tun, sonst hättest Du meinetwegen 100 Frames und bei jeder Bewegung gewaltige Drops.

    Ich weiß allerdings nicht wirklich was man mit 25-30 Frames am Gate auf einem Addon Airport dieser Güte und einem Flieger dieser Güte , mehr will.

  • Wenn eine Software nur für einen CPU Kern geschrieben wurde wird auch nur ein CPU Kern angesprochen.



    Hier schön zusehen am Startvorgang des P3D.


    Wenn eine Software für alle CPU Kerne programmiert wurde, werden auch alle benutzt.



    Hier am Beispiel "Win RAR"


    Ist ein Flugzeug nur für einen CPU Kern programmiert sieht es so im P3D aus.





    Der CPU Kern 1 läuft auf Anschlag und der Rest langweilt sich.

    Bevor Missverständnisse aufkommen, der P3D benutzt nur beim ersten Startvorgang (Doppelklick auf Icon) einen CPU Kern. Während des Fliegens alle. Wenn nicht eine Zusatzsoftware (z.B.Flugzeug) den Rest ausbremst.


    Hier mal eine Auslastungs Kurve von einem Kurzen Flug. auf 30 FPS eingestellt.



    Hoffe ein klein wenig geholfen zu haben.

  • Hallo Daniel,

    sehr eindrückliche Erklärung und Darstellung.

    Und ich bin froh über den Hinweis, dass P3D nur beim Startvorgang nur einen Kern benutzt, wobei es bei mir immer der Kern 2 ist, nicht 1.

    Besten Dank und Gruss
    Roman

    Schöne Grüsse aus der Ostschweiz, aus der Stadt mit dem UNESCO Weltkulturerbe (St. Gallen)
    Roman:)

  • Also unter "FSLabs\SimObjects\Airplanes\FSLabs A321 IAE\Model" ist "plane_p3d-x64.mdl" mit 65 Mb und "VC_p3d_x64" mit 33 Mb, keine Ahnung ob das jetzt das richtige ist aber viel mehr gibts da nicht.

    Danke, hier kann ich mit ziemlicher Sicherheit sagen, es wurde viel ausgelagert. So ist das wahrscheinlich ziemlich in Ordnung. Normalerweise sind die interior Modelle deutlich größer. Ausreißer also nicht erkennbar.


    Gruß


    Thomas

  • Danke Daniel für deine detaillierte Ausführung. Mir ist aber klar dass das CPU-Limit meine FPS begrenzt (logisch), was ich aber immer noch nicht verstehe ist warum man am Gate bei eben nicht 100%iger Auslastung so wenig Frames hat.


    Ist doch so als hätte ich ein Auto mit 200 PS und da ist aber bei 100 Km/H Schluss, da denke ich mir ja auch nicht "Hmm ja ok ist halt so, wird schon Sinn machen".


    Und es geht auch nicht darum "mehr" zu wollen, na klar wär es schön mit 40+ Frames zu fliegen und es mag sein dass das ordentlich ist für den Airport und den Flieger, aber trotzdem liefert mir das keine Erklärung.

    Viele Grüße aus Regensburg

    Sebastian

  • Ich versuche es noch mal. Die Frames werden bestimmt durch die Gesamtlast der Szene, Also Airport, Flugzeug , Umfeld und AI.

    Die CPU hat im Stillstand am Gate hingegen wenig damit zu tun und ist auch nicht für die Framebeschleunigung zuständig.

    Die kann nur bei hohem Takt, die Frames beschleunigen wenn Rechenarbeit angefordert wird. Um Deinen BMW zu nehmen, der entfaltet seine 200 PS auch nicht im Stillstand nur weil der Motor an ist.


    Also mache mal das was ich schon geschrieben habe. Gehe mit slew hoch und bewege ihn mit 280 knoten über der Landschaft. Dann siehst Du auch die CPU arbeiten und zwar alle Kerne, weil sie nämlich die dynamische Szene rechnen muss. Dein Frames werden sich bestenfalls verbessern wenn Du in eine weniger belastete Szene als den Airport Ground kommst.


    Oder anders, stelle Dich mit einem Gewicht von 30kg aufrecht hin. Das ist die Grundlast. Dein Körper ist die CPU und wird konstant die Last halten. Jetzt darfst Du los laufen und Dein Körper wird versuchen den entprechenden Power zu erbringen. Hast Du die nicht, bricht er oder besser Du zusammen. Hat einer Erbarmen mit Dir und verringert die Last auf Deinem Rücken auf 10kg wirst Du wahrscheinlich flott laufen können. Aber eben nur weil die Grundlast abgenommen hat und Deine Kraft reicht die Geschwindigkeit zu erhöhen. Der Takt Deiner (körpereigenen) CPU ist der Puls, der sich im Stand eher nicht erhöhen wird, aber loslegt wenn Du läufst.