maydayc 46 Posted June 18, 2014 Share Posted June 18, 2014 Hallo, basierend aus der Diskussion im Thread "Landschafts-Erweiterungen" habe ich einmal ein kleines LUA Script geschrieben das es mit zwei kleinen Knöpfen im Cockpit erlaubt den LOD der angezeigten Objekte während des Fluges anzupassen. Warum diese Script ? Wenn der Flug über eine große Stadt geht müssen viele viele Objekte angezeigt werden. Dadurch sinkt natürlich die FPS. Jetzt würde man normalerweise die "Number of objects" in den settings reduzieren (extreme auf z.B. mega tons) dann muss aber immer die Szenerie neu geladen werden und beim rausfliegen aus der Stadt ist dann die FPS wieder so hoch das man wieder mehr Gebäude anzeigen könnte. Also die Prozedur von vorne (mega tons -> extrem-> neu laden) . Umgehen kann man das dadurch das man im DataRefEditor ->Art Controls den Wert reno/LOD_bias_rat von 1.0000 auf z.B. 1.20000 (oder höher) setzt. Dadurch wird der LOD geringer und die FPS steigt wieder. Ein Wert kleiner als 1 erhöht die Anzahl der angezeigten Objekte in der Ferne. Um das benutzerfreundlicher zu machen habe ich dieses Script geschrieben was aus dem Cockpit heraus erlaubt die LOD in 0.1 Schritten zu erhöhen oder zu verringern. (1.0 ist Default...das kann jeder für sich selbst im Script anpassen). Der Maximalwert kann bis zu 3.5 und der Minimalwert 0.6 sein. Das Script zeigt nicht nur den eingestellten LOD sondern auch die FPS dazu unten links an. Die Bilder zeigen wie sich die Szenerie mit unterschiedlichen LOD Werten ändert. Das Script wie immer bei LUA in das Verzeichnis "\X-Plane 10\Resources\plugins\FlyWithLua\Scripts" kopieren und neu starten ... Viel Spaß beim ausprobieren ... P.S: Bei FPS unter 20 wird der Text Rot angezeigt und bleibt bei 20.... FPS_LOD_0_1a.zip Link to comment Share on other sites More sharing options...
maletin 13 Posted June 18, 2014 Share Posted June 18, 2014 Tolle Idee. Geht das nicht evtl. sogar automatisch abhängig von dem aktuellen FPS-Wert? Link to comment Share on other sites More sharing options...
maydayc 46 Posted June 18, 2014 Author Share Posted June 18, 2014 Die Idee habe ich auch schon mal in einem LUA Script umgesetzt aber das hat zu folgendem Problem geführt. Wenn die FPS niedrig ist hat das Script die LOD erhöht ... also steigt die FPS wieder... soweit so gut .... Jetzt ist die FPS aber wieder hoch also senkt das Script die LOD wieder (mehr Objekte können ja angezeigt werden).... und das führt wieder zu einer schlechteren FPS :-( Das führt dann zu einem "Flackern" ... was unschön ist ... mit Schwellwerten kann man das im Zaun halten und wird dadurch auch etwas besser. Ich persönlich finde es aber mit den Knöpfen angenehmer weil ich es dann individuell einstellen kann ;-) Link to comment Share on other sites More sharing options...
Jaggo 16 Posted June 21, 2014 Share Posted June 21, 2014 Ich finde dein Script sehr gut. Bei meinem System reichen oft nur 0.1 - 0.3 LOD mehr um schon in framelastigen Situationen, einige FPS zu gewinnen. Ist meistens über großen Ballungsgebieten mit gleichzeitig vielen Wolken. Kann man sowas auch für die Wolken machen? Bin leider auf Achse und kann deswegen nicht gucken ob es eine entsprechende ArtControl dafür gibt. Link to comment Share on other sites More sharing options...
uwespeed 155 Posted June 21, 2014 Share Posted June 21, 2014 Klasse Idee, werde ich mir mal anschauen. Link to comment Share on other sites More sharing options...
maydayc 46 Posted June 21, 2014 Author Share Posted June 21, 2014 Hallo Jaggo >> Kann man sowas auch für die Wolken machen? Bin leider auf Achse und kann deswegen nicht gucken ob es eine entsprechende ArtControl dafür gibt. Ich denke schon das das geht ... Einen direkten Einfluss auf die Framerate hat der Parameter clouds/plot_radius in den Art Controls. Dieser Wert bestimmt wie "dick" die Wolken sein sollen. Der Wert clouds/plot_radius steht im Standard auf 1. Eine Reduzierung um jeweils 0.1 macht die Wolken kleiner und dadurch steigt die FPS. Bei einem Wert von 0.0 sind die Wolken komplett aus. Eine Erhöhung des Wertes clouds/plot_radius größer 1 generiert "dickere" Wolken und die FPS wird kleiner. Hinweis: Das ist natürlich von der Art der Wolken abhängig die beim Wetter eingestellt sind. Bei "few cumulus ist der Effekt kleiner ... bei cumulus ocats(bumpy) größer... Einfach mal ausprobieren mit dem DataRef Editor (Art Controls) ... ein Script zu bauen ist dann kein Problem mehr ... P.S.: Ob das auch bei Skymaxx Pro funktioniert muss ich noch mal ausprobieren ... Bei den Standard X-Plane Wolken funktioniert es aber ... Ich finde dein Script sehr gut. Bei meinem System reichen oft nur 0.1 - 0.3 LOD mehr um schon in framelastigen Situationen, einige FPS zu gewinnen. Ist meistens über großen Ballungsgebieten mit gleichzeitig vielen Wolken. Kann man sowas auch für die Wolken machen? Bin leider auf Achse und kann deswegen nicht gucken ob es eine entsprechende ArtControl dafür gibt. Link to comment Share on other sites More sharing options...
Jaggo 16 Posted June 21, 2014 Share Posted June 21, 2014 Die ArtControl kenne ich schon. Danke trotzdem für den Hinweis. Ich werde einfach versuchen dein script für die Wolken umzuschreiben wenn du nichts dagegen hast Link to comment Share on other sites More sharing options...
maydayc 46 Posted June 21, 2014 Author Share Posted June 21, 2014 Kein Problem ... dann nimm am besten gleich die neue Version (0.2) .... lade ich jetzt gleich hoch ... Link to comment Share on other sites More sharing options...
maydayc 46 Posted June 21, 2014 Author Share Posted June 21, 2014 Hallo, anbei eine neue Version des Scripts. OE3GSU hat mich darauf aufmerksam gemacht das die Graphik noch im Skript initialisiert werden muss um Konflikte mit anderen laufenden LUA Scripts zu umgehen. Danke noch mal dafür :-) Beim testen habe ich dann gesehen das ein draw_string in ein gefülltes Viereck zu flackern führt was sich dann auch auf andere laufende LUA Scripts auswirkt. Deshalb nun die "Knöpfe" komplett als Grafik. Hier die geänderte Version. FPS_LOD_0_2.zip Link to comment Share on other sites More sharing options...
maydayc 46 Posted August 14, 2014 Author Share Posted August 14, 2014 Hallo, Anbei die Version 0.3 des Scripts. In dieser Version kann die LOD mit einem Joystick Button erhöht oder vermindert werden. Das vereinfacht die Anpassung der Werte während des Fluges erheblich, da man nicht mehr zur Maus greifen muss. Im Script ist aktuell der T5 Knopf von meinem Saitek X52 (Werte 012 und 013) hinterlegt. Den passend Wert kann unter:. "Jostick, Tastatur und Geräte"->"Buttons: Extra" ermittelt werden. Eine weitere Änderung ist der kleine Knopf "Skip_LOD". Damit kann das LOD handling der Scenery ausgeschaltet werden und Objekte werden auch in weiter Ferne dargestellt. Damit sinkt natürlich auch die Framerate. Um diesen Effekt zu sehen muss aber "Draw per pixel lightning" unter "Darstellungsoptionen" ausgeschaltet sein. FPS_LOD_0_3.zip Link to comment Share on other sites More sharing options...
hrsoft 0 Posted August 15, 2014 Share Posted August 15, 2014 Habe dein neues lod3 installiert. kannst du nähere angaben für die joystickanpassung machen,. auch ändert sich mit dem kleinen lod-ausschalter bei mir nichts. drwa per... ist ausgeschaltet. ansonsten finde ich dein script supper. vielen dank Link to comment Share on other sites More sharing options...
maydayc 46 Posted August 15, 2014 Author Share Posted August 15, 2014 Im Script müssen die Zeilen mit button(013), last_button(013) sowie button(012) und last_button(012) auf den entsprechenden Wert angepasst werden. Den Wert, wie oben beschrieben aus X-Plane "Jostick, Tastatur und Geräte"->"Buttons: Extra" auslesen und eins (1) abziehen. Also wenn 014 angezeigt wird, beim drücken des Knopfes, ist es dann die Zahl 13 die einzutragen ist. Einfach diese Werte an den entsprechenden Stellen im Script eintragen und dann sollte es funktionieren. Die entsprechenden Werte stehen in den Funktionen READ_BUTTON und GET_MOUSEPOS. Ja man könnte das auch in einer Variablen ablegen ... war halt auf die schnelle mal implementiert Die Änderungen mit dem kleinen LOD Knopf sind eigentlich nur in der Ferne zu sehen und sind auch noch von "World detail distance, airport detail etc." abhängig. Bei einigen Rechner ist der Effekt deutlich zu sehen bei anderen fast gar nicht. Link to comment Share on other sites More sharing options...
hrsoft 0 Posted August 15, 2014 Share Posted August 15, 2014 Hallo Captain, wollte dein script auf meinen saitek ändern. bei der taste p2 kommt die 008. habe darauf den button013 auf 007 geändert. geht aber nicht. kannst du mir vielleicht ein script für die "008" zaubern. ich bin den luascript schon gewohnt. Link to comment Share on other sites More sharing options...
maydayc 46 Posted August 15, 2014 Author Share Posted August 15, 2014 Ok habe das Script mal angepasst (v0.4) und eine Variable für die Knöpfe und eine Test Funktion für die Knöpfe dazu gemacht. Zum testen der Werte für einen gedrückten Knopf einfach in der Funktion do every draw die beiden "--" vor test_draw wegnehmen und das Script neu laden (LywithLua->Reload all Lua Script files" Dann wird der Wert des gedrückten Knopfes angezeigt. Diesen Werte dann in die Variablen (lod_up_button und lod_down_button) eintragen: -- Change this values for your controler lod_up_button = 13 -- T5 up for Saitek X52 joystick (13) lod_down_button = 12 -- T5 down for Saitek X52 joystick (12) In deinem Beispiel dann für die beiden Feuerknöpfe (E und der darunter): lod_up_button = 7 -- T5 up for Saitek X52 joystick (13) lod_down_button = 6 -- T5 down for Saitek X52 joystick (12) Der Knopf (i) geht leider nicht Dann nicht vergessen die beiden "--" wieder eintragen und test_draw damit auskommentieren. Sonst wird das immer angezeigt und geht auf die Performance ;-) FPS_LOD_0_4.zip Link to comment Share on other sites More sharing options...
hrsoft 0 Posted August 16, 2014 Share Posted August 16, 2014 Mit dem 0.4 version klappt nun die steuerung mit den joysticktasten. bei mir startet es immer mit lod 1.5. könnte man den wert z.b auf 0.6 ändern? Link to comment Share on other sites More sharing options...
helifox 17 Posted August 16, 2014 Share Posted August 16, 2014 Der Knopf (i) geht leider nicht Wenn Du in den Controllereinstellungen des X52 im Reiter "MFD" den Kupplungsmodus "deaktivierst", kannst Du den I-Knopf in X-Plane nutzen. Gruß Tom Link to comment Share on other sites More sharing options...
hrsoft 0 Posted August 18, 2014 Share Posted August 18, 2014 Hallo maydayc, habe mal dein DynLod_v0_1 ausporobiert. arbeitet super mit meiner Nvidia gt640 zusammen. hast du eigentlich vor, dieses lua-script weiter zu entwickeln?. für mich arbeitet es super. interesant wäre es eine LOD-anzeige und eine FPS anzeige am schirm zu haben. habe es versucht aus dem lodV2 zu übernehmen. hat aber leider nicht geklappt. (man muss halt von der lua-programmierung eine ahnung haben. Link to comment Share on other sites More sharing options...
XP-Pilot 47 Posted August 18, 2014 Share Posted August 18, 2014 Frage an hrsoft welche ist den die DynLod_v0_1 Version ? Gruß Ludger Link to comment Share on other sites More sharing options...
hrsoft 0 Posted August 18, 2014 Share Posted August 18, 2014 version DynLod_0_1a.zip von seite 1 Link to comment Share on other sites More sharing options...
maydayc 46 Posted August 20, 2014 Author Share Posted August 20, 2014 Hallo, ja klar das Script werde ich natürlich noch weiter entwickeln. Es gibt ja zwei Version davon. Das eine (DynLod) welches die LOD in Abhängigkeit von der Höhe verändert und das zweite Script (FPS_LOD) welches die LOD mit Mouse oder Joystick Button ändert. Habe schon in der Planung beide Versionen in irgend einer Art zu kombinieren. Link to comment Share on other sites More sharing options...
maydayc 46 Posted August 20, 2014 Author Share Posted August 20, 2014 ... und schon geht es mit der nächsten Version weiter. Die Neuerungen sind: a.) Die LOD kann auf einen Default Wert im Script für den Start eingestellt werden. Default ist 1.0. Der Wert wird in Zeile 46 definiert ... z.B. set( "sim/private/controls/reno/LOD_bias_rat", 1.5 ) b.) Der Knopf Skip_LOD kann an (true) oder ausgeschaltet (false) werden. Der Wert wird in Zeile 56 definiert... z.B. show_skip_ractangle = false Die jeweiligen Stellen sind im Script markiert und können leicht angepasst werden. FPS_LOD_0_5.zip Link to comment Share on other sites More sharing options...
hrsoft 0 Posted August 21, 2014 Share Posted August 21, 2014 Eine kombination wäre super, danke heinz Link to comment Share on other sites More sharing options...
Günther Kremp 111 Posted September 4, 2014 Share Posted September 4, 2014 Hallo maydayc, dein Tool interessiert mich sehr. Habe es wie beschrieben in Lua hineinkopiert. Aber wie kann ich es auf meinem Saitek Yoke ansprechen ? Die Belegungstasten Nummern habe ich in die Zeien 79 und 80 eingegeben habe aber keine Reaktion. PS. Dank an dich für deine Anleitung über die Google-Objecte. Habe mittlerweile meine Heimatstadt Essen und halb Duisburg erstellt. Günther Link to comment Share on other sites More sharing options...
maydayc 46 Posted September 4, 2014 Author Share Posted September 4, 2014 Hallo Günther, ich habe leider keinen Saitek Yoke zum testen ... Welche Werte werden bei "Button pressed" angezeigt wenn du die Funktion test_draw aktivierst Kann das sein das du nur "analoge" Werte vom Saitek Yoke geliefert bekommst ? Also das du versuchst einen Schieberegler zu konfigurieren und keinen Schalter ? madayc Link to comment Share on other sites More sharing options...
Günther Kremp 111 Posted September 4, 2014 Share Posted September 4, 2014 Erkläre mir bitte kurz wie ich es aktivieren kann. Dann teste ich es. Danke Günther Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.