![]() |
DXT3 oder DXT1 bei AI traffic
ich nochmal,
habe letztens allei meine ca 2000 AI fliger durchforstet und die texturen, die im 32bit format waren, in ein DXT 3 format konvertiert. dies brachte ca 2,5 GB mehr speicherplatz auf der festplatte. was wäre denn jetzt der optische und rechnerische ( prozessor und graka bei viel AI traffic) unterschied von DXT 3 zu DXT 1 ?? DXT 1 würde nochmals die texturen um 50 % verkleinern ??? macht das sinn ?? klaus |
DXT1 ist in der Tat ca. 50% kleiner als DXT3. Dabei gehen jedoch die Lichtspiegelungen verloren.
Wenn du aber deine Texturen in DXT1 umwandeln willst, solltest du als Quelle die 32bit-Texturen nehmen. Denn DXT3-Texturen haben einen geringfügig kleineren Farbkanal und damit auch eine geringfügig schlechtere Farbwiedergabe als DXT1. Wenn du von 32bit nach DXT3 und dann nach DXT1 konvertierst, gehen Farbnuancen unnötig verloren. Besser ist, direkt von 32bit nach DXT1 zu konvertieren. |
servus sergio,
danke für die info.... schönes wochende klaus |
Um genau zu sein, hat DXT1 IMHO nur einen Alpha-Kanal mit 1 Bit als einzigen Unterschied zu DXT3. (Das hat glaub ich 8 Bit.) Bei DXT1 gibt es also Reflektionen, aber nur volle Pulle oder aus. Ich benutze eh keine Reflektionen weil ich finde, dass die sehr komisch / unrealistisch aussehen. Daher ist für mich DXT1 die wahl. Wir bei UltimateGA haben uns aber auf DXT3 geeinigt -- Standards machen die Endkontrolle bei Packeten mit z.B 250+ Repaints (wie unser kommendes Packet etwa hat) einfacher. :-)
Zusätzlich zu der oben erwähnten Farbverfälschung beim konvertieren sind DXT Texturen auch komprimiert. Dadurch entstehen sehr häßliche Artefakte (ähnlich wie bei hoch komprimierten JPGs), wenn man sie mehr als einmal komprimiert. Also immer nur aus einem frischen 32bit in ein DXT-Format konvertieren! Angeblich ist allerdings imagetools in der Lage, das Dateiformat (Mips entfernen, DXT3->DXT1) verlustfrei zu ändern, was DXTBMP nicht kann. |
P.S.: Falls du's nicht weißt: (glaub ich aber nicht wenn du schon tausende bitmaps konvertiert hast)
Imagetool kann auch eine batchkonvertierung machen, da geht das alles schnell und automatisch. |
servus lexif,
danke für die infos, sind aufschlussreich. ich habe alles ohne batch konvertiert, allerdings aus dem grund, weil ich die flieger mal wieder sehen wollte :D .... habe dabei DXTBMP.exe benutzt ... klaus |
Also, um meine Flieger zu sehen benutze ich Aircraft Container Manager oder die FSRepaint Demo. Aber sicher nicht DXTBMP! ;)
Obwohl, stimmt schon, in letzter Zeit seh ich Flieger nur noch in Photoshop und DXTBMP! :lol: :hammer: |
Hi!
Möchte den Beitrag nochmal nach oben holen: könnt ihr mir sagen, wie dieser Vorgang des "auf 32 Bit-Texturen überprüfen und auf DXT1 komprimieren" durchzuführen ist? Danke Martin |
Hallo Martin!
Also, geht alles mit dem Programm Dxtbmp von Martin Wright.. Einfach Menüleiste File open , entspr.File suchen , öffnen , es erscheint das Paint und oben in der Menüleiste die Art der bmp-Datei. Willst Du auf dxt1 komprimieren so klicke im Menue auf File und Save. Es öffnet sich ein kleines Fenster. Bei Dateityp kannst du auswählen welches Format du haben möchtest (hier empfehle ich dxt1 no alpha). Dann speichern: Fertig. Wichtig wäre evtl. noch das Häkchen mei MipMaps Include when saving vorher zu entfernen. (in der Paint-anzeige nach dem Öffnen der bmp.Datei. Schöne Grüsse -Michael- |
Hallo Michael!
Danke für die Antwort. ES gibt nicht zufällig eine art Batch-Vorgang, der mir das automatisiert? Hab zwar keine 2000 AI-Flieger, aber ein paar hundert werdens wohl sein. MAcht ja wohl nix, wenn bereits in DXT1 vorliegende nochmal als DXT1 gespeichert werden? Martin |
Zitat:
Im Anhang mal ein Beispiel,links das DXT3-Format(so sieht's im Flusi aus),rechts das original BMP vor der Konvertierung. Bei DXT1 ist der Unterschied noch etwas grösser.Wenn Du jetzt also ein DXT1-Format ein weiteres mal in DXT1 oder 3 konvertierst sieht's dann noch besch...eidener aus. |
Also bei mir ergeben sich keine Unterschiede wenn ich eine DXT1 Textur mit dem Imagetool nochmals ins DXT1 konvertiere.
Ich kann z.B auch keine Unterschiede beim höchsten MIP einer DXT1 Textur feststellen wenn ich diese DXT1 Textur ohne Mips habe und diese mit dem Imagetool nun in DXT1 mit Mips konvertiere. Rainer hast Du ev. DXT BMP genutzt? Wenn ich natürlich ein anderes Texturformat z.B 24Bit in DXT1 konvertiere dann ergibt sich logischerweise schon ein Unterschied. |
Vergessen.
Das Imagetool unterstützt z.B im Gegensatz zu DXT BMP die Batch Konvertierung. Wenn mir bei DXT BMP keine Version entgangen ist, dann unterstützt dieses keine Batch Konvertierung.. |
- Bei der Komprimierung ergeben sich immer Artefakte. Irgendwo her muß ja der geringere Speicherbedarf kommen. Nämlich indem die in dem BMP enthaltenen Informationen verringert werden.
- Imagetool kann anscheinend Sachen wie MIPs, Alpha Channel, etc. ändern, ohne die üblichen Artefakte einer mehrfachen Komprimierung einzuführen. Aber sicher nicht DXT1-32bit-DXT1, was man z.B. bräuchte, um eine Textur zu bearbeiten. Das scheint darauf zurückzuführen zu sein, dass imagetool diese Sachen einfach "seperat" aus dem Bitmap auslesen und ändern kann -- solange das "eigentliche" Bild nicht verändert wird. DXTBMP kann das offensichtlicht nicht. Ich vermute, dass DXTBMP die Datei jedesmal dekomprimiert und dann wieder neu komprimiert anstatt direkt in den Code des Bildes einzugreifen. - Rekompressionsartefakte sind besonders an dünnen Linien sichtbar, wenn ihr einen Test macht, solltet ihr also zuerst dort gucken! - Imagetool hat zwar keinen Menüpunkt für eine Batchfunktion, kann aber von einer Batchdatei als Kommandozeilenprogramm aufgerufen werden. Dabei stehen auch Parameter zur verfügung um z.B. nur bestimmte Dateien zu konvertieren. Die Parameter sind alle in der Hilfe (oder in der readme?) von imagetool erklärt. Ich kann auch eine Batchdatei posten, die aber noch angepasst werden müsste. - Ich sehe keinen wirklichen Unterschied zwischen DXT1 und DXT3, der nicht im Alpha Channel liegt. Laut der DXTBMP-Doku sollten die Formate ansonsten auch gleich sein. |
Hört sich ja alles sehr einfach an, kann mir mal jemand genau erklären, wie ich die Texturen der AI-Flieger mit Imagetool ändern kann (am besten alle auf einmal) aber wenn es geht Schritt für Schritt.
Danke! Gruß Roland |
Für ein umfangreiches Tutorial über Repaintings, an dem ich z.Z. arbeite, habe ich auch ein paar Tests mit imagetool und daxtbmp unternommen. Ein Screenshot ist in der Zip-Datei beigelegt. Als normale Bitmap wäre zu groß gewesen und wenn man es als JPG komprimiert, sieht man die Unterschiede nicht so deutlich.
Oben links ist der Anfangsbild in 32bit. Die zwei Bilder daneben zeigen wie die Textur (mit 400% Zoom) nach der Konvertierung zu DXT1 und DXT3 mit Imagetool aussieht. Darunter sind die Ergebnisse mit DXTBmp. Hier erkennt man, dass Imagetool Farbverläufe besser wiedergibt, während DXTBmp feine Linien schärfer macht. Interessant ist auch, dass der Unterschied zwischen DXT1 und DXT3 (zumindest bei dieser Textur) nicht so groß ist, wenn man Imagetool benutzt. |
Zitat:
Du kannst jetzt das -? in der Batchdatei durch eine Reihe dieser Befehle ersetzen, z.B.: imagetool -r -DXT3 -nomip -batch ...konvertiert alle Bitmaps in allen Unterverzeichnissen in DXT3 ohne Mipmaps. (Denke ich zumindest, ist schon ein bißchen her!) Jetzt kannst du alle Texturordner oder Flugzeugordner in das selbe Verzeichnis kopieren und mit der Suche alle Dateien kleiner als 1.00 MB löschen. Dann hast du nur noch DXT3 oder größer. Dann die Batchdatei ausführen, die Verzeichnisse zurückkopieren und überschreiben lassen. Dann werden alle DXT1-Texturen nicht geändert, aber alle anderen sind im gewünschten Format. Ach ja, und lightmaps (_l.bmp) besser auch entfernen damit diese nicht konvertiert werden! So, jetzt hast du in einer Viertelstunde alle deine AI Texturen konvertiert! :-) ABER MACH BACKUPS!!! |
Anhang vergessen! :hammer:
|
Danke Lefix, aber das ist mir zu kompliziert!
Gruß Roland |
Hallo zusammen,
das klingt ja eigentlich alles sehr verlockend, und vielleicht mache ich das ja auch für meine knapp 1000 AI'ler. Aber wie sind denn eigentlich die Erfahrungswerte, was die Performance angeht? Kann ich damit rechnen, mehr Frames zu bekommen, wenn ich statt 32 Bit-Texturen alles in DXT3 konvertiert habe? Falls ja, macht das viel aus oder nur 1-2 Frames bei einem Airport wie Frankfurt (dort kämpfe ich nämlich um jeden Frame...) Fragen über Fragen, aber bevor ich mir die Arbeit mache, würde ich gerne wissen, ob es sich lohnt! |
Meine Erfahrung war, dass die Texturen schneller laden, also man weniger lange graue, untexturierte Flieger sieht. Man kann das vielleicht dadurch erklären, dass die Texturmengen, die zur Grafikkarte übertragen werden kleiner sind, wenn man DXT3 nutzt. So wie ich das verstanden habe werden die Texturen nämlich erst in der Grafikkarte dekomprimiert. Kann sein, dass das bei stärkeren Grafikkarten-Busses wie PCIX oder AGP 8x keine so große Rolle mehr spielt. (Nutze AGP 4x.)
Ich habe kaum bessere Frames beobachtet wenn das Bild statisch bleibt, aber die Framebremse zieht beim Schwenken nicht mehr so stark an. Habe aber keine direkten Vergleiche gemacht. (Objektiver Art.) Wenn du bei Airports wie EDDF um jedes Frame kämpfst wäre es wichtig, mal deine AI Flieger auf Polygon- und LOD-Zahl zu überprüfen. (Sonst natürlich auch!) Das geht mit der Demo von Aircraft Container Manager (ACM). Einige Dieser Zahlen für gängige Modelle und eher ausführliche Erläuterungen hab ich mal hier gepostet: http://www.wcm.at/forum/showthread.p...hreadid=157526 |
Danke, Lexif, für die Erklärung. Ich habe bei mir im Bestand soweit es geht AIA und FSP den Vorzug gegeben. PAI hatte ich auch schon als Framerate-Killer im Verdacht und vor geraumer Zeit ausgetauscht.
Erst kürzlich habe ich meine 321er-Flotte gegen die EvolveAI-Modelle getauscht und bin sehr zufrieden. Sie sehen besser aus und sind nicht langsamer. Frankfurt ist bei mir auch ohne AI nicht gerade der schnellste (so etwa 18 fps). Mit AI-Verkehr verliere ich etwa 6 Frames - das geht zum Fliegen noch ganz gut, aber beim Taxiing kann es schon mal ruckelig werden. Daß die Nachladezeit kürzer wird, könnte mir schon Anlaß genug für die Aktion sein. Ich glaube, ich werde den Rechner mal heute abend damit beschäftigen. |
Ganz klar immer wenn ich eine Textur von einem Format ins andere konvertiere, habe ich Verluste in der Qualität zu erwarten.
Da hier oft DXTBMP erwähnt wird. Meiner Meinung nach liefert es sehr oft schlechtere Ergebnisse als das Imagetool. Ein Effekt sehen wir ev. in diesem Thread. Mal sehen. http://www.wcm.at/forum/showthread.p...hreadid=184262 Man muss wissen, die Rahmenbedingungen wie die Datensätze in den verschiedensten Textur Formaten vorzuliegen haben, sind festgelegt. Der Weg der umzusetzenden Pixelinformation dahin ist recht frei. Das bestätigt auch die unterschiedlichen Feststellungen bezüglich Texturqualität der grundsätzlichen Konvertierung in diesem Thread. Hier kommt es auf die Allgorithmen an, wie das umgesetzt wird. Beispiel MIP Level bei Bodentexturen. Imagetool und DXTBMP berechnen neue Pixel für die MIP Level unterschiedlich. Bei dem was ich bisher konvertiert habe, ist der Sieger eindeutig das Microsoft Imagetool. Die Qualität war bei mir immer besser. Sowohl hinsichtlich Schärfe der MIP Level als auch Farbbildung bei der Pixelreduzierung. Offensichtlich nutzt Microsoft die intelligenteren ev. sogar gezielt auf FS Technik angepassten Allgorithmen bei z.B dem DXT1 Format inkl. Mips. Ich denke hier sollte man generell genaue Versuche machen welches Tool bei der geforderten Situation die besseren Ergebnisse liefert. Also niemals pauschal DXTBMP bevorzugen oder bei Anfragen als Texturkonverter allein erwähnen. Immer beide Tools nennen und darüber informieren die Ergebnisse beider Tools unbedingt zu vergleichen. Bei verschiedenen Anforderungen könnte mal das eine oder andere Tool Vorteile haben. |
Zitat:
|
Also bei mir sind die EvolveAI eben gerade nicht schneller. Zumindest konnte ich bei einer massenhaften Ansammlung der Flieger in LFPG bei einem Vorher-Nachher-Vergleich nix feststellen.
Vielleicht sind die Anzahl der Polygone nur teilweise entscheidend. In Verbindung mit AI-Maschinen anderer Modelle ergeben sich ja immer unterschiedliche Kombinationen, die berechnet werden müssen. Wahrscheinlich würde ein Flughafen voller EvolveAIs tatsächlich etwas flüssiger laufen, aber wenn man noch einen Haufen anderer AI-Modelle sieht, ist der Effekt nicht so deutlich. Aber da sie besser aussehen, hat sich der Aufwand für mich auch bei nur mäßigem Performancegewinn gelohnt. Das Auge fliegt schließlich mit... |
Kann mir bitte mal jemand für folgendes Vorhaben die richtige Batchzeilen schreiben?
Im Ordner AI befinden sich mehrere Unterordner mit der Textur in DXT3. Diese will ich in 32bit umwandeln. Dann soll sie verkleinert werden und zurück in DXT1 verwandelt werden. Der Ordner ist dann der gleiche. Es wären also zwei Batchdateien nötig. Mit diesem Versuch imagetool -r AI -32 -nomip -batch, passiert der Mist. http://www.alladinos.de/temp/it.jpg |
Hat sich erledigt, Falls es interessiert, damit geht es.
imagetool -r -32 -nomip bmp *.bmp imagetool -r -dxt1 -nomip bmp *.bmp |
Batch-Datei
Hallo Jens,
habe die Batch-datei in das selbe Verzeichnis wie Imagetool mitsamt den betreffenden bmp-Dateien gestellt und den Batchlauf gestartet. Es hat sich dann auch das DOS-Eingabefenster geöffnet, aber ich kann den Befehl nicht hineinschreiben! Keinerlei Eingaben funktionieren; er gibt nur Pieplaute von sich. Was mache ich denn falsch? Gruß Harald |
Re: Batch-Datei
Zitat:
Dieses Fenster öffnet sich je nach PC Geschwindigkeit für den Ablauf der Batch für eine gewisse Zeit. Man sieht dort auch die Befehle die gerade ablaufen. Eintragen muss man dort aber nichts. Diese genannten Befehle kommen in die eigentliche Batch Datei. Man erzeugt sie wie folgt. Man nimmt z.B den Windows Explorer und lässt eine neue Textdatei erzeugen. z.B Batch.txt Diese noch leere Batch.txt öffnet man mit einem Texteditor wie z.B Notepad. Dann trägt man dort die gewünschten Befehlszeilen ein. Man speichert die Textdatei ab. Noch ist es ein einfache Textdatei die bei anklicken nichts auslöst sondern nur vom Standard Texteditor wieder geöffnet wird. das Betriebssystem kann mit den Befehlen nichts anfangen. Benennt man jetzt aber die Endung von .txt nach .bat um interpretiert das Betriebssystem die Batch.bat nun als Batch (oder auch Stapelverarbeitungsdatei) Nun werden bei Doppelklick auf die Datei diese enthaltenen Befehlszeilen durchgeführt. Achtung möchte man später die Batch.bat noch mal hinsichtlich Befehle ändern geht das nun natürlich durch anklicken nicht mehr, denn das würde die Batch sofort wieder ausführen. Um Änderungen vorzunehmen könnte man sie wieder nach .txt umbenennen oder aber man klickt mit der rechten Maustaste auf sie. Im dann erscheinenden Kontextfenster wählt man bearbeiten. Dann wird sie mit dem Texteditor geöffnet. Tipp! Gemäß der hier gezeigten Beispiele muss alles in einem Ordner/Verzeichnis stehen, also die zu ändernden Texturen, das Imagetool und die Batch. Andernfalls muss man Pfade angeben. Problem dabei.... eine Batch kann keine Leerzeichen in Pfaden verarbeiten, auch gewisse Sonderzeichen sind nicht erlaubt. Würde man das machen, dann funktioniert sie nicht. Übrigens man kann mit Batch Dateien auch richtige Menüs mit Fenster und Abfragemöglichkeiten erstellen. Es sind also richtig kleine Programme inkl. Abfragen, Schleifen, Sprünge, Zeitschleifen usw. möglich ohne das man eine Programmiersprache kaufen muss. Ist natürlich optisch nicht so schön und auch nicht mit der Maus bedienbar. Eigentlich auch als Batch Beispiel für meine Dok gedacht findet man eine Landclasstestscenery auf meiner momentan sehr abgespeckten Homepage www.jobia.de mit der sich alle weltweit möglichen Landclasskonstellationen in Deutschland simulieren lassen. Der Anwender kann also auch Arktis oder Wüste simulieren , Landclassautomatismen unter Steigungen usw. Meine Batch steuert gemäß Anwendereingaben die Testscenery und dient gleichzeitig als Demo. Eigentlich ist die Testscenery eher für Designer interessant, ich hatte mir das überlegt um nicht in meinen Landclassteuertabellen unsinniger Weise noch Autogeninfomationen unterzubringen. Diese Testscenery ist es ein gutes Beispiel was man so alles mit einer Batch machen bzw. steuern kann. |
| Alle Zeitangaben in WEZ +2. Es ist jetzt 18:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag