Bildrate¶
Die vollständigen Messungen stehen im Beitrag Grafikeinstellungen und FPS im Vergleich. Kurz: In FlightGear bremst fast immer ein einzelner Prozessorkern, nicht die Grafikkarte.
Meine Einstellungen¶
"$FG_BASIS/werkzeuge/starten.sh" --aircraft=c172p --airport=EDDE \
--graphics-preset=high-quality \
--texture-filtering=16 \
--prop:/sim/rendering/multithreading-mode=CullThreadPerCameraDrawThreadPerContext \
--visibility=40000 \
--prop:/sim/rendering/clouds3d-vis-range=40000 \
--disable-ai-traffic
Der größte Hebel: Mehrkern-Modus¶
Der Modus legt Aussortieren und Zeichnen auf eigene Kerne. Gemessen über dem Thüringer Wald:
|
Bilder pro Sekunde |
|---|---|
nicht gesetzt |
35,3 / 36,8 / 36,5 |
|
38,0 |
|
35,4 |
|
37,3 |
|
46,1 / 47,4 / 47,7 |
Parkend brachte er je nach Flugzeug 31 bis 46 %.
Warnung
Bei einem Flugzeug, dessen Skripte den Hauptkern auslasten, bringt er nichts, zum Beispiel beim G1000. Manches Flugzeug zeigte damit mehr Fehlermeldungen, für lange unbeaufsichtigte Flüge nutze ich deshalb SingleThreaded.
Was die Regler bringen¶
Variante |
Bilder pro Sekunde |
Aussehen |
|---|---|---|
high-quality, Baumdichte 2,0, Texturfilter 8× |
35,4 |
dichter Wald |
high-quality, Baumdichte 2,0, Texturfilter 16× |
35,5 |
dichter Wald, schärferer Boden |
high-quality, Baumdichte 0,6, Texturfilter 16× |
37,9 |
lichter Wald, kahle Stellen |
Preset medium |
41,9 |
weniger Bäume und Details |
Der Texturfilter kostet also nichts. Wer mehr Bildrate braucht, nimmt lieber das Preset medium als weniger Bäume.
Stolperfalle: Das Preset überschreibt Optionen¶
--graphics-preset wird nach einzelnen --prop-Optionen angewendet. Eine Baumdichte daneben hat also keine Wirkung. Wer abweichen will, lässt das Preset weg und übergibt dessen Werte einzeln, sie stehen in fgdata/Video/high-quality-preset.xml. --texture-filtering wird dagegen übernommen.
Was wirklich hilft¶
Andere Programme schließen, vor allem Browser mit vielen Tabs.
Ein sparsames Flugzeug wählen: Aufwendige Glascockpits in Nasal kosten mehr als jede Grafikeinstellung.
Nur eine Änderung gleichzeitig messen und am Ende gegenprüfen.
Selbst messen¶
import time
from fg_steuerung import Fg
fg = Fg()
werte = []
for _ in range(60):
werte.append(float(fg.get("/sim/frame-rate") or 0))
time.sleep(1)
print("Mittel:", round(sum(werte) / len(werte), 1), "Min:", min(werte))
Beim Messen im Flug sollte am Ende alles wieder auf den Ausgangswert und nochmal gemessen werden. Bei mir stieg die Bildrate auch mit wieder eingeschalteten Effekten, sie kam also vom Gelände und nicht von den Einstellungen.