Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
joggel

Re: Jammer-Thread

Beitrag von joggel »

@Tiles
Die Möglichkeiten des Formats reichen mir schon. Ich brauche nur simple Geometrie, die Materialien bzw. Texturen haben und das unterstützt ja OBJ.
http://paulbourke.net/dataformats/mtl/

And das bforartis habe ich auch gedacht. Kann ich ja mal probieren. Aber als ich da mal reingeschaut habe, kam ich auch nicht so richtig klar damit. Aber das liegt eher daran, dass ich da kaum Einarbeitungszeit reinstecken will. Ich schaue aber noch mal...
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Nimm das mit dem du am Besten zurechtkommst. Du hast dich jetzt in Blender eingearbeitet. Wenn du auf BFA wechseln wolltest würde ich also schon mal empfehlen die Keymap auf Blender umzustellen.

Ich muss mir mal dein Obj File genauer anschauen sobald ich Zeit finde. Sonntags ist bei mir immer Mist mit der Zeit. Die Materialien sind eigentlich definiert. Das sind jedenfalls drei Materialien im mtl File, der Export scheint also zu gehen. Wenn da Blender dann nur ein Material importiert dann ist das ein Bug.
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Grade doch noch gecheckt. Da ist kein Fehler zu finden. Die drei unterschiedlichen Materialien sind da, und die Textur wird auch sauber importiert.

Kann es sein dass du oben rechts das Shading nicht auf Material Preview gestellt hast? Dann siehst du die Textur nicht.
Dateianhänge
fehlerlos.jpg
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
joeydee
Establishment
Beiträge: 1036
Registriert: 23.04.2003, 15:29
Kontaktdaten:

Re: Jammer-Thread

Beitrag von joeydee »

Tiles, der vermurkste Export/Import bezog sich auf Wings:
Ich will doch nur eine simple Geometrie haben, bei der die Flächen unterschiedliches Material bzw Texturen haben...
Wings3D verkackt ja den OBJ-Export!!
Das was du siehst ist meine Datei, über Wings. Die funktioniert. Nicht die von joggel, aber das hatte er gar nicht hochgeladen.

Ja, mein Nick fängt auch mit "jo" an, und es ist noch früh, und auch ich hatte eben meinen Post verkackt indem ich ne JPG statt ne obj hochgeladen hatte - weil ich noch keinen Kaffee hatte LOL ;))

Zu komplexeren 3D-Formaten und Konvertierungen stimme ich zu. Zum einen muss das Zielformat das überhaupt können. Zum anderen muss das Programm jenes Format in diesem Punkt überhaupt unterstützen (in der passenden File-Version, etc. pp.). Dass alle Features (Rigs, Animationen, Modifier, ...) unterstützt werden ist selten.
Bei dem Versuch mit der Figur scheint es, als seien irgendwelche Gizmos/Bones vom Rig als Geometrie übersetzt worden. Wenn man Glück hat, sind diese gruppiert und man kann sie einfach löschen. Aber das wäre dann schon wieder komplexe Geometrie (mit Rig etc.), keine simple.
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Es ist noch zu früh :'3
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
joggel

Re: Jammer-Thread

Beitrag von joggel »

@Tiles
Das Problem ist nicht Blender, sondern Wings3D, denke ich.
Ich wollte in Blender simple Geometrie mit unterschiedlichen Materialien und Texturen erstellen ==> nicht hinbekommen! Ich weiß nicht mal wie man da eine Texture auf eine Fläche "mapped". Was damit zusammenhängt, dass ich mit Blender einfach NULL Erfahrung habe. Deswegen auch meine Frustration...

Also falls das in Blender funktioniert, dann muss ich mir dann doch wohl mal Tutorials anschauen oder Manual lesen :/

p.s.:
Kannst Du mir das OBJ-Paket mal schicken?
Zuletzt geändert von joggel am 06.06.2021, 09:44, insgesamt 1-mal geändert.
joggel

Re: Jammer-Thread

Beitrag von joggel »

joeydee hat geschrieben: 06.06.2021, 09:08 Was du beschrieben hattest ging bei mir problemlos. Hab die Zip mit dem obj-Flie angehängt.
Einzig auffällig war: Importiert man in eine leere Datei, dupliziert sich das default-Material. Allerdings wäre das ja auch nicht der Workflow.
Jetzt erst deine Antwort gesehen. Danke dir erstmal...
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Das war einfach das Obj von jo ... eydee? das er hier verlinkt hat :)
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
joggel

Re: Jammer-Thread

Beitrag von joggel »

Okay, lassen wir die Kommunikation hier erstmal; total vergriesgnaddelt :D
Ich lade die Datei von joyedee!
Und Tiles: Gut zu wissen mit Blender. Dann muss ich mir mal Tutorials zu Blender anschauen :)
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Ja, ich verliere auch grade komplett den Faden XD

EDIT, das wäre fast einen eigenen Thread wert ...
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
joggel

Re: Jammer-Thread

Beitrag von joggel »

Tiles hat geschrieben: 06.06.2021, 09:48 EDIT, das wäre fast einen eigenen Thread wert ...
Ja; ich wollte einfach nur etwas über 3D-Editoren ranten :D

@Wings3D
Keine Ahnung wieso das bei mir nicht funktioniert hat oder was ich falsch gemacht habe.
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Von mir auch eine!!!
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
Benutzeravatar
Jonathan
Establishment
Beiträge: 2348
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

joggel hat geschrieben: 06.06.2021, 08:24 Okay.... das Modell gibts auch als GLTF-Format. Lade ich mir runter, und versuchs ebenfalls in Blender zu importieren.
Ergebnis:
Blender.PNG

So siehts auf Sketchfab aus:
sketchfab.PNG

Liebe für die Welt <3
Ich glaube das wurde noch nicht erwähnt, daher: Das Importergebnis sieht doch eigentlich gut aus. Die großen kantigen Dinger da sind einfach die Bones von dem Objekt für die Animationen und keine Geometrie. Die solltest du einfach ausblenden können, dann hast du deinen Typen. Dessen Geometrie sieht für mich genau richtig aus, man müsste nur nochmal den Render-Mode umstellen, um zu sehen wie gut das Material importiert wurde.

3D Grafik ist denke ich einfach immer kompliziert. Bzw. es könnte schon einfach sein (bloß ein paar Dreiecke), aber dann ist es halt auch kacke. Mein Hauptproblem mit Blender ist nicht die Komplexität (die ist eigentlich gut, weil man halt viel damit machen kann), sondern dass es leicht passieren kann, dass man mit Dingen konfrontiert wird, die man noch nicht kennt. Besonders nett ist es, wenn man aus Versehen irgendeine Taste drückt die natürlich ein Shortcut für irgendetwas ist, und einen Modus aktiviert, in dem alles irgendwie anders ist und deshalb nichts von dem was man kennt mehr funktioniert.

Andererseits: Blender ist halt auch einfach ein sehr gutes Tool und es lohnt sich wirklich, da einige Zeit rein zu investieren und es gut zu lernen.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Jonathan
Establishment
Beiträge: 2348
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Fick CMake. Dieses reudige Dreckstool, ich bin es sowas von leid...
Ich wollte mein Projekt nochmal am Laptop kompilieren. Bibliotheken waren alle schon installiert (vom letzten Mal), eigentlich hatte sich da nichts relevantes geändert. Aber nachdem ich die Projektdateien nochmal komplett neu erstellt habe (geht ja 'automatisch', spricht also nichts gegen), fand er auf einmal gar nichts mehr. Dokumentation gelesen, zig mal Pfade geprüft, alles war richtig. Dann hab ich zum Debuggen mal das REQUIRED Keyword rausgenommen, um zu sehen, ob er denn die nächste Lib findet. Tut er nicht, aber dafür wurde jetzt auf einmal die erste Lib korrekt gefunden. Das Ende vom Lied war, dass ich einfach überall das REQUIRED Keyword entfernen musste, schon hat er alles perfekt gefunden und keine Fehler geworfen.
Da stellen sich jetzt 2 Fragen: Wieso geht etwas kaputt, das vorher anstandslos funktionierte? Und wieso findet er offensichtlich alles, schmeißt aber dennoch Fehler, wenn es als "Required" markiert ist???
Es ist wirklich traurig, dass ein Tool, welches einzig für diesen Zweck geschaffen wurde an so trivialen Aufgaben wie "finde eine bestimmte Datei in einem passenden Verzeichnis" so kläglich scheitert. Ich habe echt andauernd und nur Probleme damit. Ein eigenes Build-Tool schreiben wäre vermutlich schneller gewesen, als Stundenlang CMake-Quatsch zu debuggen.
Ich will das alles nicht mehr :(
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Ich warte auch schon seit Tagen dass Cmake Version 3.20.4 erscheint weil 3.20.3 mit dem neuesten VS nicht mehr ganz kompatibel ist, und mir VS dann beim kompilieren lustig 1200 Dateien umschreibt. Tut zwar trotzdem, aber unschön.
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
joggel

Re: Jammer-Thread

Beitrag von joggel »

Es gibt ja auch noch andere Buildsysteme, zumindest habe ich das ab und zu mal bei Github gelesen. Ich meine mich an Namen wie "Ninja" und "Premake" zu erinnern. Kann aber nichts zur Verwendung sagen => keine Erfahrung.

-----
Da ich jetzt bei meinem Projekt unter Schweiß & Tränen zu dem Stand gekommen bin, an dem ich jetzt Boolesche-MeshOperationen implementieren muss, frage ich mich: selber machen oder eine Lib nehmen?
Selber machen wäre sehr gut um zu lernen.
Eine Lib zu benutzen wäre halt viel schneller und garantiert weniger frustrierend...

Ich werde vermutlich den umständlichen weg gehen...
Benutzeravatar
Jonathan
Establishment
Beiträge: 2348
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Nachdem ich letztendlich doch kompilierbare Projektdateien mit CMake erzeugen konnte (lassen wir da,s ich will nicht mehr darüber reden), habe ich angefangen mein Spiel zu verbessern. Schon nach kurzer Zeit war es derart zerbastelt, dass jetzt noch nicht einmal glClear die glClearColor produziert.
Andererseits, wenn es dann mal wieder läuft, wird alles viel besser sein als vorher, also sollte ich zusehen, die Nervigkeit durch Vorfreude zu überschatten. Oder so.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Tiles »

Drecks Windows Update. Ich krieg schon wieder Stresspusteln. Plötzlich ist unten rechts ne Wetterapp mit "weitere Schlagzeilen" in der Taskbar. Und ich finde keine Möglichkeit das wieder wegzumachen da. Roah.

EDIT, das ist das Miststück. Gottseidank steht da auch wie man es wieder ausmacht.

https://www.pcwelt.de/news/Windows-10-W ... 42667.html
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
Mirror
Establishment
Beiträge: 245
Registriert: 25.08.2019, 05:00
Alter Benutzername: gdsWizard
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Mirror »

Bei meinem aktuellen Projekt habe ich die Strukturen abgeändert und nun kommt VS total durcheinander. Kompilieren klappt bei den meisten cpp's, aber dafür zeigt mir das VS teilweise nicht mehr vorhanden Klassen in der Klassenansicht an und es fehlen welche. Auch klappt die Navigation in der *.h nicht mehr. Irgendwas ist total durcheinander. Auch der Objektkatalog ist durcheinander. Ich bin aber sicher die richtige Headerdatei zu browsen.
Hat den StormWizard 1.0 und 2.0 verbrochen. http://www.mirrorcad.com
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Schließen, .vs-Verzeichnis löschen, neu öffnen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Mirror
Establishment
Beiträge: 245
Registriert: 25.08.2019, 05:00
Alter Benutzername: gdsWizard
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Mirror »

Ich bin wieder mal zu doof, aber ich finde kein *.vs Verzeichnis. Ich verwende VS 2019. Bitte schreibe es so das auch ein Ideot wie ich das hinbekommt.
Danke im vorraus.

Edit: Es ist ein versteckter Ordner. Ich habe es endlich gerafft und es geht. Juhu, ein dickes Danke an Krishty !!!
Hat den StormWizard 1.0 und 2.0 verbrochen. http://www.mirrorcad.com
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Zwei Wochen und ein Patch Day mit Windows Server 2019 und … es ist wirklich ganz gut. Ich wollte mehr schreiben, aber ich komme nicht dazu, daher:

PRO
  • Es fühlt sich an wie der Profi-Modus. Man hat keine dummschwätzenden UIs à „Ups, hier gibt es ein Problem“. Nichts wird versteckt. Alles ist so direkt.
  • Kein Cortana. Nicht einmal der scheiß Indexdienst im Hintergrund – muss man erstmal über die Systemsteuerung installieren, wenn man die Windows-Suche haben will. So soll’s sein! Der Defender war vorinstalliert, aber ich konnte ihn deinstallieren. Final vom System schmeißen. Für immer! Und Smartscreen auch. Mit Home unmöglich.
  • Recht schlanke Installation; 12 GiB. Dürfte die Hälfte der Home-Version sein. Die meisten Features sind halt standardmäßig aus statt an.
  • Die monatlichen Updates sind ausschließlich Sicherheits-Updates – kein Gigabyte Malware, das einem Wetterleisten installiert oder so ein Scheiß.
KONTRA
  • Man muss erstmalig viel konfigurieren (in den Gruppenrichtlinien) bevor man das System produktiv nutzen kann. Ich möchte z. B. prinzipiell nicht als Admin angemeldet sein, aber die Standard-Richtlinien verbieten es nicht-Admin-Usern, Setups auszuführen, selbst wenn die Setups keine Admin-Rechte erfordern. Viel Kontrolle ist nichts Schlechtes, aber in den ersten Tagen stößt man öfter auf sowas, und dann kann es nerven. Seit einer Woche läuft aber alles.
  • Der Kernel ist veraltet. Er wird zwar mit Sicherheits-Updates versorgt, aber Server 2019 baut wohl auf der Version 1909, während Home schon bei 20H2 ist. Ich kämpfe also jetzt wieder mit diesem Kernel-Bug.
  • Im Startmenü gibt es kein Sleep/Hibernate. Die Funktionalität ist natürlich trotzdem da, aber man muss sich eine Verknüpfung zu SHUTDOWN /h ins Startmenü legen, wenn man sie in einem Klick erreichen möchte.
  • Fensterinhalt beim Ziehen anzeigen wird bei mir nach jedem Reboot wieder abgeschaltet. Kann aber schlicht sein, dass ich da mit dem Admin-Konto Müll in meine Registry geschrieben habe.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Jonathan
Establishment
Beiträge: 2348
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Huh, das klingt ja fast so, als sei das das Windows, was man benutzen will? Quasi der ganze (ja prinzipiell durchaus gute) Betriebssystemkern von Windows, aber mit einem Bruchteil der nervigen Apps & Co? Ist das im Desktop Betrieb (einmal konfiguriert) ansonsten wie gewohnt nutzbar (z.B. zum Zocken), oder ist es ansonsten doch eher nur für Server und so nützlich?
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Visual Studio & Co. funktionieren soweit. Ich habe bisher nicht sehr viel Software installiert, und kaum Spiele, muss ich sagen.

Mir fiel auf, dass die Juni-2010-XAudio-2-Runtime nicht vorinstalliert ist. Bei Windows 10 Home ist sie von Werk dabei; auf Windows Server muss man sie nachinstallieren. Ist aber keine Hürde und Direct3D 9 mit Juni-2010-Stand geht trotzdem.

P.S.: Ich vergaß: Könnte es sein, dass Server 2019 noch den Windows-7-Taschenrechner mitbringt?! Bin mir nicht sicher, ob das eines meiner Skripte war, aber hier ist nicht dieses Drecksstück von UWP-Calc im Startmenü, nur der gute alte klassische Calc <3
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Wusstet ihr, dass die CMake-Standardeinstellungen für Visual C++ Grütze sind?

Da ich fast nie mit CMake arbeite, dachte ich erst, es wäre ein Assimp-Bug. Sind aber tatsächlich CMakes Voreinstellungen.

Das Ding ist: Kompiliert ihr in Release-Konfiguration, sind die Optimierungen ganz okay gesetzt (kein LTCG, WTF?!), aber ihr bekommt keine Debug-Informationen. Damit können einige leben; ich kann’s nicht, weil ich Crashes bei Kunden debuggen können möchte.

Wechselt ihr dann zur RelWithDebug-Konfiguration, kommt ihr vom Regen in die Traufe: Die Debug-Informationen werden *in die Executable hinein* geschrieben, euer Kompilat ist also doppelt so groß wie vorher. Die Optimierungen sind nur halb an, weil für Edit-and-Continue gebaut wird(!).

Jedes Mal, wenn ich irgendwo ein CMake-Projekt ziehe und das auch produktiv einsetzen möchte, muss ich als erstes die Compiler-Einstellungen zurechtbiegen. WTF?! Microsoft arbeitet doch auch mit CMake, und das ist zehn zwanzig Jahre (laut Ticket) niemandem aufgefallen?!

Ich dachte außerdem, CMake wäre da, damit man sich um solchen Scheiß nicht mehr kümmern muss? Damit nicht mehr für jedes Projekt, das mit Visual C++ kompilieren soll, meine Liste von Compiler-Einstellungen abgearbeitet werden muss?! Warum sind alle gefeuert?!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 574
Registriert: 05.07.2003, 11:17

Re: Jammer-Thread

Beitrag von Lord Delvin »

Krishty hat geschrieben: 26.06.2021, 23:14 Wechselt ihr dann zur RelWithDebug-Konfiguration, kommt ihr vom Regen in die Traufe: Die Debug-Informationen werden *in die Executable hinein* geschrieben, euer Kompilat ist also doppelt so groß wie vorher.
Ist das wirklich ein Problem? Also werden die Debug-Informationen in PE mitgeladen oder ist das lazy? Ich hätte jetzt ehrlich gesagt letzteres erwartet, da du Binaries ja eigentlich so baust, dass die Debug-Informationen quasi um den echten Inhalt rumgewrappt werden.
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Sie werden lazy geladen, sofern das Programm nicht digital signiert ist. (Digital signierte Programme *müssen* komplett geladen werden, da die Signatur im Kern ein Hash über den Inhalt ist.)

Aber weniger konkret: Wenn ich Programme doppelt so groß ausliefern muss, weil irgendwo ein mickriger Switch nicht richtig gesetzt wurde, dann ist das für mich wirklich ein Problem, ja.

Auch das Incremental Linking will mir nicht in die Birne. LTCG weglassen, okay. Tun viele wegen der Kompilierzeit (obwohl der Gewinn gewaltig sein kann). Aber jede einzelne Funktion padden, für den Fall, dass Edit & Continue neuen Code injecten müssen?! Really?! Hat da 20 Jahre niemand aufs Kompilat geguckt?!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Visual C++’s Linker scheitert bei der Optimierung großer Projekte am 32-Bit-Adressraum.

Es startet dann automatisch den 64-Bit-Linker neu, aber in meinem Fall produziert der nur eine leere Datei und beendet mit Fehler. Da es im Bug Tracker mindestens fünf Tickets dazu gibt, die allesamt als „fixed“ markiert sind, schätze ich, dass sie total die Kontrolle darüber verloren haben?!

Jedenfalls kann man Visual Studio zwingen, direkt den 64-Bit-Linker zu starten. Das hat mir geholfen.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Lord Delvin
Establishment
Beiträge: 574
Registriert: 05.07.2003, 11:17

Re: Jammer-Thread

Beitrag von Lord Delvin »

Ja das allerbeste an so Entscheidungen ist dann, wenn Leute das verwenden, um ein Docker-Image zu bauen...mir ist ehrlich gesagt auch nicht klar, warum die Welt keine Compilerswitches für den Einsatzzweck hat. Einfach alles hart zusammenlinken, global optimieren, alle Adressen und Symbole rausoptimieren. Image bauen und ausliefern.
Wenn Microsoft die Kontrolle über ihre Visual XY Produkte hätte, gäb's in VS Code nicht neuerdings das: https://code.visualstudio.com/docs/edit ... pace-trust
Als würden manche Plugins einfach unbesehen den Code, den sie anzeigen ausführen...
XML/JSON/EMF in schnell: OGSS
Keine Lust mehr auf C++? Versuche Tyr: Get & Get started
Benutzeravatar
Krishty
Establishment
Beiträge: 8227
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Lord Delvin hat geschrieben: 28.06.2021, 18:57 Ja das allerbeste an so Entscheidungen ist dann, wenn Leute das verwenden, um ein Docker-Image zu bauen...mir ist ehrlich gesagt auch nicht klar, warum die Welt keine Compilerswitches für den Einsatzzweck hat. Einfach alles hart zusammenlinken, global optimieren, alle Adressen und Symbole rausoptimieren. Image bauen und ausliefern.
Naja, besonders oft scheitert es bei Bibliotheken mit Linux-Ursprung an der Lizenz (LGPL & Co.), die ein austauschbares Modul erfordert – oder du musst eben alle Quellen offenlegen. Ich fürchte auch, dass sich die Entscheidung Statisches vs. Dynamisches Linken nicht so einfach automatisieren lässt. Aber der Gewinn ist natürlich gewaltig, das stimmt.

Die Bibliothek, mit der ich mich am Wochenende rumgeärgert habe:
  • CMake-basiert. Kompiliert zu 50 DLLs –100+ MiB Kompilat.
  • Compiler-Einstellungen in CMake angepasst –100 MiB Kompilat.
  • Bibliotheken rausgeschmissen, die ich nicht haben möchte – 40 MiB Kompilat.
  • Alles verbleibende in ein einziges Visual-C++-DLL-Projekt geschmissen. Alles zu einem Klotz zusammenlinken und richtige Optimierungen einschalten. Ein für meinen Einsatzzweck minimales Interface dranklatschen, damit ich nicht mein komplettes Programm quelloffen machen muss. 14 MiB Kompilat.
Die Erfahrung (mit Assimp & Co.) zeigt, dass ich’s nochmal auf die Hälfte runterbrechen könnte, indem ich am Quelltext rumschraube. (Häufigster Bloat-Fehler überhaupt: Einem Dateiformat virtuelle read()- und write()-Methoden geben. Obwohl ich nur lesen möchte, landen jetzt alle Codecs zum Schreiben von Dateien mit im Kompilat.)
Lord Delvin hat geschrieben: 28.06.2021, 18:57Wenn Microsoft die Kontrolle über ihre Visual XY Produkte hätte, gäb's in VS Code nicht neuerdings das: https://code.visualstudio.com/docs/edit ... pace-trust
Als würden manche Plugins einfach unbesehen den Code, den sie anzeigen ausführen...
Bwaha omg

Aber ganz im Ernst: Wenn make oder CMake Turing-vollständig ist, dann kann es deine Festplatte löschen. Wenn git Hooks direkt aus dem Repository erlaubt, dann können die Trojaner installieren. Bei all dem Scheiß in MSBuild muss ich zugestehen: Letzten Endes sind Visual-Studio-Projekte eine relativ einfache XML-Liste, die auf recht eng definierte Art abgearbeitet wird. Sicher auch mit Missbrauchspotential, aber ich traue ihnen mehr als irgend einem YAML-Parser aus der Visual Studio Plugin Gallery.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten