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 »

Ist vlt. ne blöde Frage:
Aber wie verhält sich das denn dann rechtlich?
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Code: Alles auswählen

*(toMyNextBatchedTriangleVertex++) = vertex0;
*(toMyNextBatchedTriangleVertex++) = vertex1;
*(toMyNextBatchedTriangleVertex++) = vertex2;
wird kompiliert zu

Code: Alles auswählen

mov rcx,qword ptr [rbx]
mov eax,dword ptr [r12]
mov dword ptr [rcx],eax
mov eax,dword ptr [r12+4]
mov dword ptr [rcx+4],eax
mov eax,dword ptr [r12+8]
mov dword ptr [rcx+8],eax
mov eax,dword ptr [r12+0Ch]
mov dword ptr [rcx+0Ch],eax
mov eax,dword ptr [r12+10h]
mov dword ptr [rcx+10h],eax
mov eax,dword ptr [r12+14h]
mov dword ptr [rcx+14h],eax
add qword ptr [rbx],18h
mov rcx,qword ptr [rbx]
mov eax,dword ptr [rbp]
mov dword ptr [rcx],eax
mov eax,dword ptr [rbp+4]
mov dword ptr [rcx+4],eax
mov eax,dword ptr [rbp+8]
mov dword ptr [rcx+8],eax
mov eax,dword ptr [rbp+0Ch]
mov dword ptr [rcx+0Ch],eax
mov eax,dword ptr [rbp+10h]
mov dword ptr [rcx+10h],eax
mov eax,dword ptr [rbp+14h]
mov rbp,qword ptr [vertex1]
mov dword ptr [rcx+14h],eax
add qword ptr [rbx],18h
mov eax,dword ptr [rsi]
mov rcx,qword ptr [rbx]
mov dword ptr [rcx],eax
mov eax,dword ptr [rsi+4]
mov dword ptr [rcx+4],eax
mov eax,dword ptr [rsi+8]
mov dword ptr [rcx+8],eax
mov eax,dword ptr [rsi+0Ch]
mov dword ptr [rcx+0Ch],eax
mov eax,dword ptr [rsi+10h]
mov dword ptr [rcx+10h],eax
mov eax,dword ptr [rsi+14h]
mov rsi,qword ptr [vertex2]
mov dword ptr [rcx+14h],eax
add qword ptr [rbx],18h
Das ist meine innerste Schleife und Vertex ist ein 24 B großes POD-struct. Und da kopiert der in vier-Byte-Häppchen?! Auf einem 64-Bit-System?!

(Auch __declspec(align(8)) bringt nix und memcpy() kompiliert zu identischen Befehlen …)
  • Warum, Visual C++
     
  • For teh luv of gawd
     
  • why
Zumindest kriege ich durch __forceinline 25 % höhere Gesamtleistung … dann die Erzeugung der Vertices in die Parameterlisten einsetzen statt erstmal temporäre Variablen zu erzeugen: wieder 13 % mehr.

… ach, und: Der Leistungsunterschied von 4 Hz im Debug-Modus zu 58 Hz im Release-Modus geht mir auch auf die Nerven.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Was haben die schon wieder mit GameDev.net gemacht?

Bild
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Wahnsinn, wenn sie wenigstens Mal jemanden mit ein bisschen Gefühl für Gestaltung ranließen - das geht bald nicht mal mehr als Coder's Art durch, das ist einfach nur noch schlampig.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Wer hat diese furchtbare Syntaxhervorherbung von VS 11 entwickelt?! enums dunkeltürkis; Klassen helltürkis; #defines lila; Referenzen kursiv. WTF?! Mein Quelltext ist so bunt wie ein Clownspuff … was interessiert mich, ob ich auf einer Kopie oder auf einer const-Referenz operiere?!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Hey, Leute! Mögt ihr D3DX?

Gut! Das ist nämlich jetzt weg.

Und XAudio2 auch?

Supi! Nur noch für Windows 8.

Aber dafür wurde ja erst im Juni 2010 ein tolles SDK freigegeben, das ihr weiter für Windows 7 benutzen könnt! Und wenn ihr eine einfache 30-Schritt-Anleitung befolgt, werdet ihr das sogar noch mit Visual Studio 11 können.

(Bis zum SP1.)

                                                                        Windows8Windows8Wi     Windows8Windo
                                                                   Windows8Windows8Windows8Windows8Windows8Windows8Wind
                                                                 Windows8Windows8Windows8Windows8Windows8Windows8Windows8W
                                                           Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Win
                                                     Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Window
                                                   Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows
                                                Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Window
                                              Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8W
                                         Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8
                                         Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8W
                                     Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows
                                  Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Win
                                  Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Wind
                                Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows
                                 Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8
                              Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Wind
                              Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windo
                            Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8
                         Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Wind
                      Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows
                    Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Win
                  W Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows           Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8Wi
                 Windows8Windows8Windows8Windows8Windows8Windows8Windows8W                       Windows8Windows8Windows8Windows8Windows8Windows8Windows8Windows8
                 Windows8Windows8Windows8Windows8Windows8Windows8Win                               Windows8Windows8Windows8Windows8Windows8Windows8Windows8Window
                 Windows8Windows8Windows8Windows8Windows8Windows8                                        Windows8Windows8Windows8Windows8Windows8Windows8Windows8
                 Windows8Windows8Windows8Windows8Windows8Windo                                             Windows8Windows8Windows8Windows8Windows8Windows8Windows
                 Windows8Windows8Windows8Windows8Windows8W                                                 Windows8Windows8Windows8Windows8Windows8Windows8Windows8
                 Windows8Windows8Windows8Windows8Win                                                       Windows8Windows8Windows8Windows8Windows8Windows8Windows8
                 Windows8Windows8Windows8W                                                                 Windows8Windows8Windows8Windows8Windows8Windows8Windows8
                 Windows8Windows8Windo                                                                     Windows8Windows8Windows8Windows8Windows8Windows8Windows8
                 Windows8Windows8Win                                                                       Windows8Windows8Windows8Windows8Windows8Windows8Windows8W
                 Windows8Windows8W                                                                         Windows8Windows8Windows8Windows8Windows8Windows8Windows8W
                     Windows8Wind                                                                          Windows8Windows8Windows8Windows8Windows8Windows8Windows8Wi
                     Windows8Win                                  W                                          Windows8Windows8Windows8Windows8Windows8Windows8Windows8
                     Windows8Win                          Windows8W                                            Windows8Windows8Windows8Windows8Windows8Windows8Window
                       Windows8             Wi        Windows8Wi                                                 Windows8Windows8Windows8Windows8Windows8Windows8Wind
                        Windows          Windo        Windows8                                                     Windows8Windows8Windows8Windows8Windows8Windows8Wi
                       Windows8      Windows Windows8Windo    Windows8W                                              Windows8Windows8Windows8Windows8Win         Windo
                      Windows8     Window    Windows8W    Windows8Windows8                                            Windows8Windows8Windows8Windows8 Windows8Windows8
                       Windows   Wind        Wi    Wi    Windows8Windows8Windows8Window                                 Windows8Windows8Windows8Wind  Windows    Windows
                        Windo   Win     Windows   Win  Windows8Windows8Windows8Windows8Wind                              Windows8Windows8Windows8Wi  Win           Windo
                       Window   Wi   Windows8Wi   Wi  Windows8Windows8Windows8Windows8Windows8W                           Windows8Windows8Windows8 Wind             Windo
                       Window      Windows8Win    Wi  Windows8Windows8Windows8Windows8Windows8Wind                         Windows8Windows8Windo   Win              Windo
                         Wind    Windows8Windows  Wi      Windows8Windows8Windows8Windows8Windows8Wind                     Windows8Windows8Win     W                 Wind
                         Wind  Windows8Windows8Wi Win                 Windows8Windows8Windows8Windows8Wi                    Windows8Windows8                          Win
                           Windows8Windows8W   Win Wi                    Windows8Windows8Windows8W Windo                    Windows8Windows          Win               Wi
                           Windows8Windows      Wi Win                                      Windows8W                       Windows8Windo           Windows8    Windo  Wi
                          Windows8Windows       Wi  W                      Wind               Window   W                    Windows8Wind            Wi  Wind     Windo Wi
                         Windows8Window                                 Windows8Windows   Windows8Windows                   Windows8Win             Wi           Windo Wi
                        Windows8Windows8Win       Wi         Wi       Windows8Windows8Windows8Windows8                      Windows8Wi             Win           Windo Wi
                       Windows8Windows8Windows8   Win       Win       Windows8Windows8Wind Windows8Wind                                           Win            Windo Wi
                       Windows8Window      Windows Win      Wi        Windows8Window      Windows8Win                                            Wind            Windo Wi
                       Windows8Wind            Windows8     Win        Windo          Wind                                                         Win          Windo  Wi
                       Windows8W       Windows8Windows8      Wi         W          Window                                                           Wi         Window  Wi
                        Windows      Windows8Windows8 Wi                Windows8Windows                                                             Wi        Window   Wi
                         Windo     Windows8Windows8Wi Wi                Windows8Win                                                                 Win  Win   W       Wi
                          Win    Windows8Wi        Wi Wi                                                                                            Wi Windo          Win
                          Win  Windows8W          Win Wi                                                                                            Windo            Win
                           Windows8Win        Windows8W                                                                                             Wind            Win
                             Wind Wind    Windows8Windo                                                                                                            Win
                               Windows8Window   Win Win                                                                                                           Win
                               Windows        Win   Wi                                                                                                           Win
                               Windows       Win    Wi                          Wi                                                                            Wind
                               Win          Win    Wi                   Window Windows8                                                                  Windows8W
                               Wi          Win    Win                 Windows8W     Window                                                          Windows8Window
                              Win         Win    Win                   W     Win       Windo                                                        Wind    Window
                             Win         Win     Wi                           Wi         Windo                                                      Wi     Windows
                             Wi         Win    Wind                          Win            Wind               Wi                                   Wi     Windows
                             Wi         Wi    Windo              Windows8W Windo              Wind             Wi                                   Wi     Window
                            Win        Win    Windo           Windows8Windows8                 Wind            Win                                  Wi    Windows
                            Wi         Wi     Wi Win         Wind                                Wind           Wi                                  Wi    Window
                            Wi         Wi     Windows8W      Wi                                   Wind Win      Wi                                  Win   Window
                            Win        Wi  Wi  Windows8       W                                     Wi  Win     Win                                 Wind  Window
                             Win         Wind                              Windows8Windows8W        Win  Wi      Wi                                 Wind  Window
                              Win        Win                       Windows8Windows8Windows8Window    Wi  Wi      Wi                                 Wind Windows
                               Win      Wi                 Windows8Windows8Windows8Windows8Windows8  Win Wi      Wi                                  Win Window
                                Win     Wi             Windows8Wind  Windows8Windows8Windows8Windows8 Wi Wi      Wi                                  Win Window
                                 Win    Win        Windows8    Windows8Windows8Windows8Wi Windows8Win Wi Wi      Wi                                  Win Windo
                                  Win    Wi       Windows8Windows8Windows8W Win   Wi   Wi Windows8Win Wi Wi     Win                                  Win Windo
                                   Win   Win     Windows8Windows8Wind   Wi   Wi   Windows8Windows8Win Wi Wi     Wi                                    Wi Win
                                    Win   Win    Wi Windows8Wind  Wi    Wi  Windows8Windows8Windows8W Wi Wi    Wi                                     Wi Win
                                     Win   Wind  Windows8Wind Wi   Win Windows8Windows8Windows8Windo     Wi   Win                                     Wi Win
                                      Win   Windo Windows8Wind Windows8Windows8Windows8Windows8Wind      Wi   Wi                                      Wi  Wi
                                       Wind   Windo Windows8Windows8Windows8Windows8Windows8Win Win      Wi  Win                                      Wi  Wi
                                        Wind    Windows8Windows8Windows8Windows8Windows8Windo  Win       Wi  Wi                                       Wi  Wi
                                          Wind    Windows Windows8Windows8Wind Windows8Wi    Wind        Wi Win                                       Wi  Wi
                                            Win     Windows Windows8Windows8Windows8W      Wind         Win Wi                                       Wi   Wi
                                             Wind    Win Win  Windows8Windows8Wi        Window          Wi Win                                     Wind   Wi
                                               Wind   Win Win                       Windows            Win Wi                                     Win     Wi
                                                 Win   Win Windo            Windows8Wind               Wi Win                                    Win      Win
                                                  Wind  Win  Windows8Windows8Windo                    Wi  Wi                                   Wind        Wi
                                                    Win  Win                                        Wind Win                                  Win          Wi
                                                     Win  Win                                     Wind  Win                                 Wind           Windo
                                                      Wind Wi                                    Win    Wi                                 Win              Wind
                                                        Win Wi                                   Wi    Win                                Wi                Windo
                                                         Wi Wi                                                                          Win                    Wi
                                                         Wi Wi                                                                          Wi                     Win
                                                         Wi                                                                            Win                      Wi
                                                         Wi                                                                             W                       Win
                                                         Win                                       Wi                                                            Wi Wi
                                                          Wi                                      Win                                                             Window
                                                          Win                                   Wind                                                              Windows
                                                           Win                                Wind                                                                Wind Win
                                                            Win                            Windo                                                                   Win  Wind
                                                             Windo                     Windows                                                                      Win  Wind
                                                              Windows8            Windows8W                                                                         Wind   Wind
                                                                 Windows8Windows8Window                                                                             Windo   Windo
                                                                 Windows8Windows8W                                                                                   Windo    Windows
                                                                Window    Windo                                                                                       Wind       Window
                                                              Wind  Win     Window                                                                                     Win          Window
                                                             Wind    Win       Wind                                                                                     Wi             Window
                                                            Win       Win        Win                                                                                    Wi                Wind
                                                           Win         Wi                                                                                               Wi                  Win
                                                          Win          Win                                                                                              Wi                   Wi
                                                         Win            Wind                                                                                            Wi                   Win
                                                        Win              Wind                                                                                          Win
                                                       Win                 Win                                                                                         Wi
                                                       Wi                    W                                                                                         Wi
                                                                                                                                                                      Win
                                                                                                                                                                      Wi
                                                                                                                                                                      Wi
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
dot
Establishment
Beiträge: 1745
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Krishty hat geschrieben:Hey, Leute! Mögt ihr D3DX?

Gut! Das ist nämlich jetzt weg.
Das war längst überfällig ;)
Krishty hat geschrieben:Und XAudio2 auch?
Das ist mir neu, was hab ich verpasst?
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

dot hat geschrieben:Das war längst überfällig ;)
Sei froh, dass du nicht mit Legacy-Hardware und 40 % XP-Anteil arbeiten musst.
dot hat geschrieben:Das ist mir neu, was hab ich verpasst?
Die neue XAudio2_8.dll gibt’s nur für Windows 8. Was enorm schade ist, weil XAudio von COM in die WinAPI gewandert und weniger frickelig geworden ist.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
dot
Establishment
Beiträge: 1745
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Krishty hat geschrieben:
dot hat geschrieben:Das war längst überfällig ;)
Sei froh, dass du nicht mit Legacy-Hardware und 40 % XP-Anteil arbeiten musst.
Oh, das bin ich natürlich. Aber für Legacy Kram sind die entsprechenden SDKs ja auch weiterhin verfügbar!?
Krishty hat geschrieben:
dot hat geschrieben:Das ist mir neu, was hab ich verpasst?
Die neue XAudio2_8.dll gibt’s nur für Windows 8. Was enorm schade ist, weil XAudio von COM in die WinAPI gewandert und weniger frickelig geworden ist.
Ich kann da jetzt keinen wesentlichen Unterschied erkennen!? Ist doch immer noch das komplett gleiche Interface bis auf ein paar Kleinigkeiten. Sollte eigentlich nur eine Frage von ein paar wenigen #ifdef sein!?
Zuletzt geändert von dot am 30.12.2011, 19:14, insgesamt 1-mal geändert.
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

dot hat geschrieben:Oh, das bin ich natürlich. Aber für Legacy Kram sind die entsprechenden SDKs ja auch weiterhin verfügbar!?
… mit den gleichen nervigen Legacy Bugs, ja. Ich hatte mich letzte Woche noch gefreut, dass zwei, die ich gemeldet hatte, mit dem neuen DirectX SDK korrigiert wurden … und nun kann ich es nicht einsetzen.
dot hat geschrieben:Ich kann da jetzt keinen wesentlichen Unterschied erkennen!? Ist doch immer noch das komplett gleiche Interface!?
Nicht komplett gleich. Der ganze COM-Kram ist rausgeflogen und wurde durch eine statische Bibliothek ersetzt; der Debug-Modus wurde entfernt (?!?); ein paar Parameterlisten wurden geändert um mehrere Ausgabegeräte ansteuern zu können. Es waren jedenfalls genug Änderungen um mir den Nachmittag zu ruinieren.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
dot
Establishment
Beiträge: 1745
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Krishty hat geschrieben:Nicht komplett gleich. Der ganze COM-Kram ist rausgeflogen und wurde durch eine statische Bibliothek ersetzt; der Debug-Modus wurde entfernt (wtf!); ein paar Parameterlisten wurden geändert um mehrere Ausgabegeräte ansteuern zu können. Es waren jedenfalls genug Änderungen um mir den Nachmittag zu ruinieren.
Um, es ist doch noch immer COM. Nur gibts nun eben ein Library Funktion die CoCreateInstance() für dich aufruft. Sind eben zwei Zeilen anders...ich find das jetzt überhaupt nicht schlimm^^
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Ich auch nicht – viel besser sogar!
Aber leider Windows 8 only. (Jedenfalls gibt es keine Laufzeitbibliothek für Windows 7 im Developer Preview … heißt ja nicht, dass sowas nicht nachkommen könnte. Aber eigentlich ist der vollständig.)

Oh, und wo wir gerade bei Laufzeitbibliotheken sind: MS hat vergessen, dem Developer Preview die DLL beizupacken, die in Visual C++ 11 die Autoparallelisierung ermöglicht. Wer das Feature testen wollte, muss also bis zur nächsten Freigabe warten weil die Exe im Augenblick einfach nicht startet.

Außerdem hat das SDK nun eine echt schnieke Header-Datei, die sicherstellen soll, dass keine C++-Schlüsselwörter überschrieben wurden – was ja löblich wäre, wenn nur die Schlüsselwörter geprüft würden, die der Compiler auch tatsächlich versteht. Wer dachte, sich bis zur breiten Unterstützung von C++0x 2015 zurücklehnen zu können indem #define alignof(x) zu einer Compiler-spezifischen Implementierung verweist (oder auch noexcept, …), kann nicht mehr ohne weiteres kompilieren – wird das Schlüsselwort #definet, ist das ein Logikfehler. Wenn nicht, ist es ein nichtdeklarierter Bezeichner. Bravo.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Krishty hat geschrieben:Hey, Leute! Mögt ihr D3DX?

Gut! Das ist nämlich jetzt weg.
Merkwürdig, mein Projekt hier kompilierte in der Windows 8 Developer Preview ohne Probleme (und das hat D3DX-Funktionen benutzt). Disclaimer: Ich habe das Windows 8 Developer Preview vor ein paar Monaten mal getestet, und ist jetzt nicht mehr drauf. Darum kann ich das gerade nicht direkt nachprüfen.

Und wäre ansonsten nicht die Portierung auf DirectXMath ziemlich trivial? Es geht eigentlich nur um die Mathefunktionen, da ja der D3DX-Compiler in das Windows-SDK mitwandert.

Mich wundert eher, dass die dann wohl das kaputte DXUT-Framework noch mal neu implementieren müssten. Und, ja, ich musste es schon an einigen Stellen umschreiben.
Zuletzt geändert von eXile am 30.12.2011, 22:32, insgesamt 1-mal geändert.
Benutzeravatar
Krishty
Establishment
Beiträge: 8316
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Fun fact: VS 11 wählt Compiler und Pfade anhand der Version der Projektdatei aus. Falls du also ein 2010er-Projekt lädst und kompilierst, verhält sich VS 11 exakt wie VS 2010. Erst nach dem Upgrade wird der neue Compiler mit neuem SDK genutzt; und dafür werden zwar D3DX-Header ausgeliefert, aber nicht die entsprechenden DLLs. Man sollte also sicherheitshalber /nologo abschalten und sichergehen, dass in dem Ausgabefenster Microsoft (R) C/C++ Optimizing Compiler Version 17.00.40825.2 for x64 angezeigt wird.

D.h., entweder hast du – wie ich in den ersten vier Stunden – vergessen, die Projektdatei upzugraden und dich gefreut, dass alles so wunderbar reibungslos geht; oder tatsächlich mit 11 kompiliert, aber das Kompilat nicht getestet. Denn die Kompilierung geht auch mit dem neuen SDK, aber dein Programm kann nicht starten, weil nur eine Dummy-D3DX9_44.DLL gelinkt wird, die weder unter Windows 7 noch unter 8 existiert.
http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275 hat geschrieben:The Windows SDK Developer Preview currently ships a number of incorrect D3DX headers that correspond to a version of D3DX that does not exist.
Was DirectX Math angeht: Keine Ahnung; ich benutze ja auch kein XNA Math mehr. D3DX trifft mich, weil ich z.B. die Shader-Version abfragen musste (das geht nicht über die Caps; jedenfalls sagt das der Kommentar, den ich vor zwei Jahren über den D3DX-Aufruf gepflanzt habe. Irgendwas mit Caps, die auf meinem Netbook nichtssagend waren) und Schriften selber zeichnen darf (DirectWrite habe ich ja unter XP nicht).

Ziemlich clever: Man verteilt die neue IDE, in der man den neuen Compiler und das neue SDK aber explizit durch Upgrade der Projektdatei auswählen muss. Und alle benutzen das alte Compiler-SDK-Paar und freuen sich, dass ihre alten Projekte so reibungslos funktionieren.

Ach, warum kann nicht die ganze Welt D3D11.0-Hardware besitzen. Alles wäre so einfach.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Code: Alles auswählen

lean::relative_path<QString>(prevInput, input)
Warum sollte QString eine empty()-Methode haben, wenn es eine isEmpty()-Methode hat? :roll:

Code: Alles auswählen

QString::fromUtf8( lean::relative_path<lean::utf8_t>(prevInput.toUtf8().data(), input.toUtf8().data()).c_str() )
Wählt
template <class String, class Range1, class Range2> String relative_path(const Range1 &base, const Range2 &path)
statt
template <class Char> std::basic_string<Char> relative_path(const Char *base, const Char *path),
weil data() char* statt const char* zurückgibt.

Code: Alles auswählen

QString::fromUtf8( lean::relative_path<lean::utf8_t>(prevInput.toUtf8().constData(), input.toUtf8().constData()).c_str() )
C++ Y U SO DUMB!
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Nach 3 Monaten Windows Classic Theme hatte ich gänzlich vergessen, wie weit wir mit ansprechenden und hochinteraktiven UIs inzwischen sind. Zurück in der Zukunft ... bis die Renderlast wieder so groß wird, dass Aero alles zum stottern bringt.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Ich hatte schon wieder vergessen, WIE umständlich Qt und Boost Builds sind. Alleine, bis die jeweils eigens entwickelten Build-Tools das tun, was man gerne hätte - natürlich beide weitestgehend undokumentiert - und wehe, man erlaubt sich einen Fehltritt, dann heißt es ruckzuck nochmal alle 46.000 Dateien entpacken. Und das alles nur, weil Visual Studio standardmäßig mit massig Runtime-Checks in Debug UND Release kommt, die sich somit in ALLEN online fertig verfügbaren Binaries wiederfinden, und deren Abschaltung mal eben sämtliche Binärkompatibilität bricht.

Sollte ich mal wieder alle Einstellungen vergessen haben (was zwangsläufig schon in einem Monat der Fall sein wird), werde ich einfach hier nachsehen.

Code: Alles auswählen

configure -nomake demos -nomake examples -no-qt3support -no-accessibility -no-phonon -no-phonon-backend -no-webkit -platform win32-msvc2010 -debug-and-release -opensource -shared

Code: Alles auswählen

qmake -tp vc -r // In Visual-Studio-Konsole
Nachtrag: Meine Build-Settings für alle. Vielleicht hilfts, vielleicht habt ihr auch was besseres.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Jonathan
Establishment
Beiträge: 2545
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Jaaa, sowas richtet man einmal ein und hofft dann, dass es für immer läuft :D
Das tagelange rumspielen an Projekteinstellungen ist meiner Meinung nach so ziemlich das nervigste am Programmieren. Man hat den ganzen Code schon, ansich ist auch schon alles richtig, aber es kompiliert trotzdem nicht.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Das einzige, was das "Go to Definition"-Feature in VC++ 2010 IMMER schafft, ist, meinen Produktivitätsfluss nachhaltig zu unterbrechen, indem es 15x so lange sucht, wie ich per Mausnavigation jemals gebraucht hätte. Natürlich ergebnisoffen.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Andre
Establishment
Beiträge: 186
Registriert: 21.12.2011, 20:33

Re: Jammer-Thread

Beitrag von Andre »

Das einzige, was das "Go to Definition"-Feature in VC++ 2010 IMMER schafft, ist, meinen Produktivitätsfluss nachhaltig zu unterbrechen, indem es 15x so lange sucht, wie ich per Mausnavigation jemals gebraucht hätte. Natürlich ergebnisoffen.
Ich sehne mich was das angeht echt nach VS2008 zurück - da ging das immer blitzschnell.
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Ich lass' das hier mal so unkommentiert stehen:
@TobiasBerghoff hat geschrieben:Is there a spec for the DX11 pseudo-assembly instructions somewhere? Or is that another one of those "IHVs only" things?
@rygorous hat geschrieben:IHVs only, and hilariously, the opcode names in that spec don't match the ones produced by fxc /disasm.
@TobiasBerghoff hat geschrieben:This is very weak. So the only way to optimize for DX these days is to talk directly to IHVs and MS? Must scale well.
@rygorous hat geschrieben:IHVs. Good luck getting *anyone* at MS to listen, much less answer or fix something. It's a total clusterfuck.
Benutzeravatar
dot
Establishment
Beiträge: 1745
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Afaik findest du was du suchst in der d3d11TokenizedProgramFormat.hpp im Windows Driver Kit.
Was genau willst du denn "optmieren"?
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Ich selber will da nichts. Ich habe die Diskussion nur beiläufig beim surfing through the interwebs aufgeschnappt und habe es innerlich mit der Situation bei Microsoft in den 90er-Jahren verglichen: DirectX genießt als „Manhatten project“ höchste Priorität, es wird sogar aus Microsoft-Sicht als überlebenswichtig auf dem Desktop angesehen. Nicht umsonst werden die Metaphern des Krieges bemüht, um „die Japaner“ = die Konsolen zu schlagen. Und nun sowas.

Ich glaube bei Microsoft arbeitet so wie so nur noch eine Person an der STL, Visual Studio und Direct3D. Vermutlich ist das auch noch dieselbe Person.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Meine IDE friert inzwischen bei jedem Build mehrmals ein. Ich habe jetzt testweise eine Zusatzinstanz derselben Solution für Builds geöffnet, und siehe da, es hilft tatsächlich. :twisted:
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Eine Dreiviertelstunde für Copyright-Labels in LaTeX. Am Ende ist es wie CSS rückwärts.

Code: Alles auswählen

\newcommand{\copyrightlabel}[1]{\raisebox{-1.45ex}{\makebox[0pt][r]{\tiny{\copyright\ #1}\:\:}}}
Nutzung:

Code: Alles auswählen

\includegraphics{...}
\copyrightlabel{2011 ...}
Und wehe jemand kennt was eleganteres. ;)
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4273
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Jammer-Thread

Beitrag von Chromanoid »

LaTex ist das Grauen. Ich finde es repräsentiert die unangenehmen Aspekte von "Linux" in Reinform.
Bild
Den Schnittpunkt habe ich bei meiner DA auf jeden Fall nicht erreicht. Word wäre die bessere Wahl gewesen... -.-
Alexander Kornrumpf
Moderator
Beiträge: 2138
Registriert: 25.02.2009, 13:37

Re: Jammer-Thread

Beitrag von Alexander Kornrumpf »

WTF? Den Schnittpunkt erreichen ich selbst bei zwei seitigen internen Aufschrieben.
Virus
Beiträge: 38
Registriert: 20.09.2002, 17:28
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Virus »

Chromanoid hat geschrieben:LaTex ist das Grauen. Ich finde es repräsentiert die unangenehmen Aspekte von "Linux" in Reinform.
Den Schnittpunkt habe ich bei meiner DA auf jeden Fall nicht erreicht. Word wäre die bessere Wahl gewesen... -.-
Das liegt dann wahrscheinlich daran, dass du davor nie mit gearbeitet hast. Latex das erstemal für was wichtiges (wie ne Dipolmarbeit) einzusetzen ist nicht empfehlenswert... aber wenn man schon zwei, drei kleine Sachen gemacht hat, dann klappt das damit aber mit Sicherheit besser als mit Word.

Probleme gibts damit aber trotzdem mehr als genug: Hatte den Autor in meine bibtex datei mit c&p einfügt... und nichts ging mehr. Lösung nach mehreren Nervenzusammenbrüchen: den Namen manuell abtippen. Einer der Zeichen war nciht so kodiert wie vorgsehen (und die Fehlermeldung hat was ganz anderes gesagt).
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Naja, das war eigentlich auch nicht das, was ich ausdrücken wollte. Ich komme mit LaTeX sehr gut zurecht und bin damit auch wesentlich produktiver als mit Word. Man sucht eben nur manchmal eine Weile, wenn man bestimmte Dinge zum ersten Mal macht. Dafür kann man sich sicher sein, dass für praktisch alles eine Lösung existiert. Und hier sehe ich eigentlich eher die angenehmen Aspekte des Linux-Dunstkreis. Die geniale Paketinfrastruktur, die unzähligen Pakete, die genialen Tools, die jegliche fehlende Funktionalität automatisch aus dem Internet nachziehen, sobald ich ein entsprechendes Paket importiere.

(Und ich liebe den Formelsatz. In LaTeX formuliere ich mathematisch was geht, nur weil es schön aussieht. :mrgreen: )
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

CodingCat hat geschrieben:die unzähligen Pakete
Von denen die Hälfte deprecated ist, und man erst einmal fünfzig Seiten an Doku durchlesen sollte, um zu erfahren, welche Pakete und Idiome nun state of the art sind. Ein wirklicher Segen ist der TeX-Stackexchange, weil man dort wirkliche Antworten bekommt (ich erinnere mich noch an die Mailinglist-Zeiten von vor sechs Jahren – wenn ich dort mal nicht wie von einer Gruppe Schimpansen mit Fäkalien beworfen wurde, kamen Tipps frei aus der Kategorie „delete system32, install gentoo!“). Achja, und ich bin ein TikZ-Magier; wie wohl bekannt ist, habe ich bei meiner BA die Hälfte der Zeit mit Bildchen skripten verbracht. ;)
Antworten