Seite 63 von 70

Re: Anti-Jammer-Thread

Verfasst: 04.02.2022, 07:20
von joggel
25 Jahre alter AAA-Titel?
Welches Genre ist es denn?
wenn ein Funktionsprolog ein Register nicht korrekt wiederherstellt
Wie kann so etwas passieren? Würde das nur Pointerregister betreffen? Ich meine damit sowas wie Datensegmentregister(Segment bzw Offset). Jetzt beim Schreiben denke ich da an new/delete...
Naja... meine geringen Assemblererfahrung liegen schon sehr sehr lange zurück^^

Re: Anti-Jammer-Thread

Verfasst: 04.02.2022, 08:05
von Krishty
joggel hat geschrieben: 04.02.2022, 07:20Welches Genre ist es denn?
NDA :( Hoffe, dass der irgendwann aufgehoben wird …
joggel hat geschrieben: 04.02.2022, 07:20
wenn ein Funktionsprolog ein Register nicht korrekt wiederherstellt
Wie kann so etwas passieren?
Aufrufoptionen wie __cdecl garantieren, dass der Aufrufer nach Ende des Aufrufs die selben Werte in einigen Registern wiederfindet, die zuvor drin waren.

Die Funktionen schreiben darum üblicherweise im Prolog diese Registerinhalte auf den Stack (die meisten beginnen mit push ebp) und stellen sie wieder her, bevor sie zurückkehren (pop ebp; ret).

Hier wurde das für das esi-Register schlicht vergessen. Der Assembler-Code hat also schön esi benutzt und den Originalwert nicht wiederhergestellt. Der von Visual C++ generierte, aufrufende Code hatte sich aber drauf verlassen und griff damit irgendwann ins Klo.

Interessant ist für mich die Frage, warum das nicht früher aufgefallen ist! esi und edi haben spezielle Eigenschaften, die bei String-Operationen nötig sind (z. B. bei rep movsb). Wahrscheinlich haben die Compiler vor 25 Jahren keinen Code emittiert, der esi benutzt, weil die Register Allocation zu schwierig gewersen wäre. Da klappte es zufällig. Und heute knallt’s dann eben :)

Re: Anti-Jammer-Thread

Verfasst: 04.02.2022, 08:41
von joggel
Ah, verstehe. Danke.
Dacht schon das kommt durch irgendwelche C-Befehle^^

Re: Anti-Jammer-Thread

Verfasst: 04.02.2022, 12:10
von Jonathan
Ich mag Karten, ich mag Tomb Raider, also mag ich natürlich auch Karten von Tomb-Raider Leveln:

https://www.deviantart.com/vgcartograph ... -903513948

Schön sind auch die Übersichten von den vollständigen Spielabschnitten, wo man sieht wie gut (bzw. wie schlecht, leider) aufeinanderfolgende Level zusammen passen:

https://drive.google.com/drive/folders/ ... aBATVyBxh4

Re: Anti-Jammer-Thread

Verfasst: 20.02.2022, 08:40
von Matthias Gubisch
Mein erster MeshShader, der auch wirklich zu was zu gebrauchen ist und nicht nur ein einzelnens Dreieck rendert!
MeshletRendering.png
Auf dem Bild zu sehen mein Debug Modus der die Dreieckscluster (aka Meshlets in Nvidia Sprache) in unterschiedlichen Farben anzeigt.

Re: Anti-Jammer-Thread

Verfasst: 20.02.2022, 09:04
von Tiles
Sexy :)

Re: Anti-Jammer-Thread

Verfasst: 20.02.2022, 11:32
von xq
Ich habe vor zwei Tagen die zweite Covid-Impfung erhalten.

Mag jetzt für außenstehende nicht nach der großen Anti-Jammer-Sache klingen, aber für mich ist das ein fucking großes Achievement, denn: Ich habe eine Spritzenphobie.

Und ich habe in den letzten zwei Monaten mit meiner Therapeutin zusammen einen Weg gefunden, die ganze Problematik managebar zu bekommen. Das Problem bei mir ist konkret, dass ich nicht Angst vor der Spritze per se habe, sondern vor der Absicht, mit eine Spritze zu geben. Ich werde panisch bis irrational, wenn jemand in meiner Nähe eine Spritze in die Hand nimmt und sich mir damit nähert. Ich selbst kann die Spritze aber problemlos in der Hand halten oder auch damit arbeiten (Dinge verkleben o.ä.)

Also war mein Ansatz: Was, wenn man diese Wahrnehmung überschreiben kann? Und das Experiment war:

Bei der Therapeutin VR-Brille aufziehen, x-beliebiges Spiel öffnen. Sie zieht eine Spritze auf, desinfiziert meinen Arm, und setzt mir die Spritze. Ich bin ruhig, keine Panik. Das war ein verdammt großer persönlicher Erfolg.

Bin quasi direkt die Woche drauf zum Hausarzt, erste Impfung mit der selben Methode eingesammelt (die Schwestern waren etwas verdutzt), und jetzt drei Wochen später die zweite Impfung abgeholt. Ich hab in den letzten 4 Wochen mehr Spritzen bekommen als in den letzten 20 Jahren zuvor. Und ich bin verdammt stolz drauf.

Technik sei dank!

Re: Anti-Jammer-Thread

Verfasst: 20.02.2022, 12:09
von Chromanoid
Sehr coole Idee, so damit umzugehen. Erst dachte ich, Du würdest in VR üben, Dir selbst Spritzen zu geben, aber einfach die Realität zu wechseln ist ja viel besser und ganz im Geiste der VR-Technologie. Manche Kämpfe sollte man sich im Leben einfach sparen, wenn es geht. Hattest Du dann einfach ne Oculus Quest dabei?

Ich frage mich, ob man sowas nicht standardmäßig auch bei anderen medizinischen Eingriffen einsetzen sollte. Gerade auch Kinder, wenn die sich erst mal an VR gewöhnt haben, würden sowas wie MRT sicher entspannter erleben. Ah, das hier spuckt Google aus: https://kinderklinik3.uk-essen.de/index.php?id=2668

Oh, zu Deinem Vorgehen gibt es sogar ein Paper: https://www.springermedizin.de/virtual- ... t/16200142 Komisch, dass das scheinbar vor allem in der Pädiatrie beforscht wird. Liegt das am alten Vorurteil, dass Spiele und Eskapismus nur was für Kinder ist? Ich würde vermuten, dass gerade Phobien, die man als Erwachsener mitschleppen muss, situationsabhängig viel lebensbestimmender sind, da man sich gerade als Erwachsener ja eigentlich als rational erleben möchte. Vielleicht liegt es ja auch nur an der Berichterstattung...

Re: Anti-Jammer-Thread

Verfasst: 20.02.2022, 16:14
von xq
Hattest Du dann einfach ne Oculus Quest dabei?
Exakt. Praktischerweise habe ich ja eine und die ist auch noch wunderbar mobil.
Oh, zu Deinem Vorgehen gibt es sogar ein Paper: https://www.springermedizin.de/virtual- ... t/16200142 Komisch, dass das scheinbar vor allem in der Pädiatrie beforscht wird. Liegt das am alten Vorurteil, dass Spiele und Eskapismus nur was für Kinder ist? Ich würde vermuten, dass gerade Phobien, die man als Erwachsener mitschleppen muss, situationsabhängig viel lebensbestimmender sind, da man sich gerade als Erwachsener ja eigentlich als rational erleben möchte. Vielleicht liegt es ja auch nur an der Berichterstattung...
Das kann gut sein, aber ich glaube, es liegt auch an fehlendem Wissen. Ich musste meiner Therapeutin auch erst mal erklären, was es denn überhaupt mit der Brille auf sich hat, und wie das ganze funktioniert.

Bin echt verdammt froh, dass es funktioniert und bin mir noch nicht sicher, ob man das nicht mal noch an $Tageszeitung o.ä. forwarden sollte. Könnte ja potentiell noch anderen Menschen helfen

Re: Anti-Jammer-Thread

Verfasst: 20.02.2022, 16:47
von Schrompf
Ich find's saugeil, und evtl. würde das wirklich auch andere Leute interessieren. Hab neulich auf irgendnem Werbeplakat aufgeschnappt, dass angeblich 3% der Deutschen Spritzenphobie haben. Das wär ein ernsthafter Boost der Covid-Impfquote, wenn man das Potential aktivieren könnte. Und es gibt ja noch jede Menge anderer Krankheiten, die zwar weniger im Öffentlichen Bewusstsein sind, aber ebenso gefährlich.

Re: Anti-Jammer-Thread

Verfasst: 23.02.2022, 12:00
von Jonathan
Habe gerade gesehen, dass C++ jetzt ENDLICH mal ein paar nützliche String-Funktionen bekommt (starts_with, ends_with, contains), allerdings erst ab C++20. Eigentlich gehört das eher in den Jammer-Thread, weil C++ fast 40 Jahre gebraucht hat um solche elementaren Hilfsfunktionen zu bekommen, aber hey, ich will mal positiv bleiben und mich darüber freuen, dass sie es doch noch in den Standard geschafft haben.

Re: Anti-Jammer-Thread

Verfasst: 24.02.2022, 08:47
von Walker
c++ und strings ist für mich ein Dauer-Jammer-Thema. u8string ... soll erst mit C++23 wichtige Features bekommen.

Re: Anti-Jammer-Thread

Verfasst: 24.02.2022, 09:40
von Schrompf
Ich verstehe immer noch nicht, warum man die Kodierung in den Datentyp einarbeiten sollte. Ein UTF8-String unterscheidet sich doch nicht von einem Win1252-String. Jeder Taktzyklus in jeder Funktion darin ist identisch. Oder ist das so ein "Typ drückt Inhalt aus"-Ding? Wenn ja, wird die Konvertierung nervend. Und das ist ja das eigentliche Problem.

Re: Anti-Jammer-Thread

Verfasst: 24.02.2022, 09:40
von antisteo
Jonathan hat geschrieben: 23.02.2022, 12:00 Habe gerade gesehen, dass C++ jetzt ENDLICH mal ein paar nützliche String-Funktionen bekommt (starts_with, ends_with, contains), allerdings erst ab C++20. Eigentlich gehört das eher in den Jammer-Thread, weil C++ fast 40 Jahre gebraucht hat um solche elementaren Hilfsfunktionen zu bekommen, aber hey, ich will mal positiv bleiben und mich darüber freuen, dass sie es doch noch in den Standard geschafft haben.
Was ist denn falsch daran, erst einen Iterator zu erstellen und diesen dann mit dem end()-Iterator zu vergleichen?

Re: Anti-Jammer-Thread

Verfasst: 24.02.2022, 10:54
von Jonathan
Naja: Man hat ja hier kein schwieriges algorithmisches Problem, eine starts_with-Funktion ist ja eine nette Übung für die zweite Woche im Anfängerprogrammierkurs. Das man es also auch irgendwie durch Kombination ein paar anderer STL-Funktionen zusammen bauen kann, ist an dieser Stelle keine Erleichterung, weil das Problem nie schwer war (Als Gegenbeispiel: STL macht es einfacher Dinge wie A* zu programmieren, weil man schon eine komplette Funktionsfähige Queue bekommt also auf eine gewisse Art wirklich nur ein paar Standardalgorithmen zusammenstöpseln muss).

Nein, das Problem ist, dass es ein paar Funktionen gibt, die einfach ziemlich häufig ziemlich nützlich sind. Und da will ich keine 2-Zeilen Lösung, ich will etwas, das schnell zu schreiben und noch schneller zu lesen ist. Ein "assert(filename.ends_with(".xml"))" ist halt die Art von Codeschnipsel die man genau deshalb einbaut, weil es so schön schnell geht und übersichtlich ist. Natürlich hätte man eine lange Validierungsfunktion schreiben können, aber das macht man dann aus Faulheit eben nicht. Es ist ein Einzeilen-Test oder gar kein Test. Mit "bau dir doch erst einen Iterator und teste ihn dann" ist es also gar kein Test. Was (leider) genau das ist, was in der Realität dann passieren wird.

Und selbst an Stellen wo man es sich nicht aussuchen kann, ist es schlecht, wenn man immer 2-3 Zeilen schreiben muss und sich auch noch merken muss, wie genau die auszusehen haben. Und später beim Lesen muss man dann ja wieder überlegen, was genau die machen. Code muss einfach übersichtlich und robust und leicht zu lesen und leicht zu schreiben sein. Wenn man schon mit strings arbeitet ist all das vermutlich sogar wesentlich wichtiger als Performance (wobei es natürlich keinen Grund gibt, weshalb eine dedizierte Hilfsfunktion langsamer sein sollte, außer man kann den Iterator danach noch 3 mal weiterverwenden). Sobald ich so eine Funktion mehr als 3-5 mal brauche lager ich sie eh aus. Oder komme auf die dumme Idee, boost einzubinden und damit meine Kompilierzeiten bis auf alle Ewigkeiten zu ruinieren. Wieso kann sowas nicht schon direkt da sein?

Auf der Gegenseite: Was kostet es ein paar Funktionen mehr anzubieten? Speicherplatz? Kompilierzeit? Dokumentation wird zu lang? Ne, das einzige was es wirklich kostet, ist ein bisschen guten Willen :P


(Warum ich boost nicht mag: Das letzte mal als ich mir den Code angeschaut habe ist mir aufgefallen, was für ein enormer Aufwand getrieben wird um den Code mit möglichst allen Compilern dieser Welt kompatibel zu halten. Löblich, Zweifelsohne, aber rein prinzipiell kann man sich den ganzen Aufwand halt sparen, wenn jeder Compiler seine eigene, perfekt Kompatible Version mitbringt. Sagt ja auch niemand, dass für den Compiler die Standardbibliothek als Source-Code vorliegen muss, der könnte da ja schon ne Menge vorkompiliert haben, so dass sie effizienter zu verwenden sind, als externe Dateien die der Kompiler jedes mal betrachten muss als würde er sie heute zum ersten mal sehen.)

Re: Anti-Jammer-Thread

Verfasst: 24.02.2022, 11:13
von Krishty
Jonathan hat geschrieben: 24.02.2022, 10:54(Warum ich boost nicht mag: …
Wie wär’s damit, dass das völlig Feature-besessene Architecture Astronauts sind? Wo man schon das C++-Kommittee kritisieren kann, dass es zu viel unnützes Zeug in den C++-Standard aufnimmt (und nützliches außen vor lässt), ist Boost Größenordnungen schlimmer.

Wenn man in Boost die Distanz zwischen zwei Punkten ausrechnen möchte, bekommt man Unterstützung planetarer Koordinatensysteme mit – was normalerweise die Business-Logik von GIS-Plattformen und Flugsimulatoren ist. Also, die Distanz München-Peking über verschiedene Annäherungen des sphärischen Ellipsoids Erde. Ist da mit drin. Wenn man wissen will, wie weit zwei Punkte entfernt sind. Weil jemand fand, das wäre eine gute Idee.

Re: Anti-Jammer-Thread

Verfasst: 24.02.2022, 11:23
von Schrompf
Ja, boost ist ne Design-Katastrophe. Mathematische Korrektheitswahnis, die anscheinend nix im Alltag mal liefern müssen. Und das moderne C++ orientiert sich besorgniserregend stark an dieser Philosophie.

Re: Anti-Jammer-Thread

Verfasst: 25.02.2022, 16:12
von Lord Delvin
Schrompf hat geschrieben: 24.02.2022, 09:40 Ich verstehe immer noch nicht, warum man die Kodierung in den Datentyp einarbeiten sollte. Ein UTF8-String unterscheidet sich doch nicht von einem Win1252-String. Jeder Taktzyklus in jeder Funktion darin ist identisch. Oder ist das so ein "Typ drückt Inhalt aus"-Ding? Wenn ja, wird die Konvertierung nervend. Und das ist ja das eigentliche Problem.
Ungeprüft würde ich jetzt mal hoffen, dass sich die Anzahl Charakter in den Strings hoffentlich korrekt berechnen lässt. Das ist super selten wichtig; man merkt aber schon öfter mal, dass Leute geglaubt haben, dass Charakterzahl == Bytezahl gilt.
Schrompf hat geschrieben: 24.02.2022, 11:23 Ja, boost ist ne Design-Katastrophe. Mathematische Korrektheitswahnis, die anscheinend nix im Alltag mal liefern müssen.
Leute, die im Alltag erstmal liefern und sich dann über Korrektheit Gedanken machen plagen mich schon mein ganzes berufliches Leben.
Man kann's natürlich übertreiben, aber ich würde mir trotzdem mehr Korrektheitswahn wünschen :)
Bin da aber vielleicht zu sehr von JavaScript und anderen Webtechnologien geplagt.
Jonathan hat geschrieben: 24.02.2022, 10:54 Auf der Gegenseite: Was kostet es ein paar Funktionen mehr anzubieten? Speicherplatz? Kompilierzeit? Dokumentation wird zu lang? Ne, das einzige was es wirklich kostet, ist ein bisschen guten Willen :P
Wenn du 1MB RAM hast kannst du nicht jede mikrige Hilfsfunktion in der Standardbibliothek ausliefern.
Das ist eine Designentscheidung, die damals wohl für alle Geräte richtig war und jetzt kaum mehr nachvollziehbar ist.

Re: Anti-Jammer-Thread

Verfasst: 12.03.2022, 21:18
von Chromanoid
Bin mittlerweile ziemlich im LitRPG rabbit hole verschwunden. Es gibt echt viele angenehm seichte Hörbücher, die sich prima als Hintergrund für Haushaltsarbeiten etc. eignen.

Sehr zu empfehlen (Dungeon Crawler Carl):
Bild

Re: Anti-Jammer-Thread

Verfasst: 24.03.2022, 09:21
von joggel
Meine Lieblingsmenschen?
Im Moment ganz klar:
Boyz'n'Girlz aus der gebildeten Mittelschicht die aber trotzdem (noch) "down mit der Arbeiterklasse" sind 💗
Besonders haben es mir die .... (zensiert) aus diesem Millieu angetan 🥰🥰

Zeit endlich offline zu gehen^^

Re: Anti-Jammer-Thread

Verfasst: 24.03.2022, 14:44
von Alexander Kornrumpf
joggel hat geschrieben: 24.03.2022, 09:21 Meine Lieblingsmenschen?
Im Moment ganz klar:
Boyz'n'Girlz aus der gebildeten Mittelschicht die aber trotzdem (noch) "down mit der Arbeiterklasse" sind 💗
Besonders haben es mir die .... (zensiert) aus diesem Millieu angetan 🥰🥰

Zeit endlich offline zu gehen^^
Ich bin leider nicht genug "down mit der Arbeiterklasse" um zu beurteilen ob das jetzt Sarkasmus war.

Re: Anti-Jammer-Thread

Verfasst: 24.03.2022, 17:26
von joggel
Es ist....naja...komplex.
Um nicht zu sagen "Nicht trivial" :)

Re: Anti-Jammer-Thread

Verfasst: 03.04.2022, 09:13
von Matthias Gubisch
Auto ist beladen...
5 lange Wochen Urlaub stehen vor der Tür *freu*

Re: Anti-Jammer-Thread

Verfasst: 12.05.2022, 14:49
von x1m4
Hat VSCode das Syntax Highlighting umgestellt..?
Bild

Edit: Warte mal, falscher Thread lol

Re: Anti-Jammer-Thread

Verfasst: 13.05.2022, 09:37
von D-eath
x1m4 hat geschrieben: 12.05.2022, 14:49 Hat VSCode das Syntax Highlighting umgestellt..?
Bild

Edit: Warte mal, falscher Thread lol
https://code.visualstudio.com/blogs/202 ... lorization

Re: Anti-Jammer-Thread

Verfasst: 13.05.2022, 13:54
von x1m4
Ok das sieht ja erstmal sinnvoll aus. Als ich das Feature ohne Kontext gesehen hab, ging bei mir erstmal der Blutdruck hoch. Ich dachte erst, jetzt verunstalten die Hipster sogar meinen Code Editor!!1

Re: Anti-Jammer-Thread

Verfasst: 13.05.2022, 23:01
von smurfer
Lua ist nach wie vor großartig!

Re: Anti-Jammer-Thread

Verfasst: 19.05.2022, 10:51
von Matthias Gubisch
Microsoft, speziell das Visual Studio Team sollte sich mal beim Nsight Support eine Scheibe abschneiden.

Problem gemeldet schnelle Rückmeldung dass es angesehen wird, ca. 2 Wochen später Bestätigung das es ein Bug ist mit voraussichtlicher Fix Version. Und tatsächlich im neuesten Nsight ist das Problem weg.

Damit lässt sich arbeiten :)

Re: Anti-Jammer-Thread

Verfasst: 25.05.2022, 00:29
von Krishty
Microsofts Linker-Einstellungen kann man den recht wenig bekannten Schalter /VERBOSE:UNUSEDLIBS hinzufügen. Dann bekommt man nach den üblichen Linker-Ausgaben eine Liste aller Libs, die nicht benötigt wurden. Falls alle Libs benötigt wurden, verhält der Linker sich wie immer.

Kann man also als zusätzliche Warnung betrachten, die mega hilfreich ist, wenn man Projekte zur Redistribution packt und ein Bisschen Speck loswerden möchte.

Re: Anti-Jammer-Thread

Verfasst: 24.07.2022, 16:44
von Krishty
Für alle Windows-User, die Vim in Git hassen: Man kann es auf beliebige andere Editoren umstellen. Für Notepad++ bspw.

  git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

Das hat es mir echt erst ermöglicht, Git richtig auszunutzen. Ich weiß gerade nicht, ob ich’s hier schonmal gepostet hatte, aber nun hab ich’s jedenfalls auch hier ausführlicher aufgeschrieben.