Die Suche ergab 426 Treffer

von Spiele Programmierer
03.11.2020, 15:08
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1490721

Re: Jammer-Thread

Laut dem Thunderbird-Team ist die Änderung, weil man jetzt die Farben aller Ordner einzeln einstellen kann.

Das Problem: Man kann immer nur einen Ordner auswählen und die Farbe ändern. Wenn man es farbenfroh haben will, ist das natürlich ein sehr langwieriges Unterfangen.
von Spiele Programmierer
03.11.2020, 13:48
Forum: Algorithmen und Datenstrukturen
Thema: "Fragmentierter" Speicher
Antworten: 16
Zugriffe: 2280

Re: "Fragmentierter" Speicher

Sehr gern! Ich arbeite die Kollisions-Objekte-Liste einfach chronologisch durch. Der Algorithmus beginnt damit, dass er erstmal abfragt, welche weiteren Objekte in der selben Zelle(n) liegen (spatial hashing). Das sind wenns hoch kommt, vielleicht 4 Linien und 4 weitere Charakteren. Zu jedem Dieser...
von Spiele Programmierer
29.10.2020, 17:14
Forum: Allgemeines Talk-Brett
Thema: Jammer-Thread
Antworten: 7534
Zugriffe: 1490721

Re: Jammer-Thread

Und irgendwie ist es natürlich auch ironisch, weil eines der Hauptargumente für C++ ja immer ist, dass es mehr statisch checken kann als jede andere Sprache (tm) und das hier ist ein klares Gegenbeispiel. Äh, wo hast du das gehört? Das ist doch offensichtlicher Unsinn, wenn man sich jemals mit funk...
von Spiele Programmierer
29.10.2020, 16:13
Forum: Algorithmen und Datenstrukturen
Thema: "Fragmentierter" Speicher
Antworten: 16
Zugriffe: 2280

Re: "Fragmentierter" Speicher

So wie du es jetzt beschreibst, hört es sich für mich nicht unbedingt danach an, dass ein Optimalfall für SoA vorliegt. Einige hundert Objekte müssten sowieso in die "größeren" der CPU Caches passen. Cache-Optimierungen sind nie ganz verkehrt, aber ich rechne eher nicht mit etwas Weltbeweg...
von Spiele Programmierer
23.10.2020, 20:55
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Master in den Branch zurückmergen und Änderungen überschreiben?
Antworten: 17
Zugriffe: 851

Re: Master in den Branch zurückmergen und Änderungen überschreiben?

In dem Fall, dass die Arbeit aufeinander aufbaut und du einen alten Pull Request komplett ablehnst, müssen natürlich auch die neueren Sachen angepasst werden. Sollte dieser Fall eintreten, gibt es mehrere Möglichkeiten. Wenn die Sachen wirklich stark aufeinander aufbauen, muss man vlt. auch einfach ...
von Spiele Programmierer
23.10.2020, 20:31
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Master in den Branch zurückmergen und Änderungen überschreiben?
Antworten: 17
Zugriffe: 851

Re: Master in den Branch zurückmergen und Änderungen überschreiben?

Wenn die Änderungen unabhängig sind, dann ist das Modell von Alexander Kornrumpf sicherlich besser. Da stimme ich auf jeden Fall zu. Es gibt weniger Chaos wenn man an den alten Commits nochmal was ändert (z.B. wegen neuem Feedback bei einem alten Pull Request). Mein Vorschlag war eher für den Fall, ...
von Spiele Programmierer
23.10.2020, 19:58
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Master in den Branch zurückmergen und Änderungen überschreiben?
Antworten: 17
Zugriffe: 851

Re: Master in den Branch zurückmergen und Änderungen überschreiben?

Die Pull Requests bei GitHub beziehen sich doch auf Branches. Wenn dein Mitarbeiter weiterarbeitet ohne einen entsprechenden Branch für den Pull Request anzulegen, dann werden neue Commits auch in alten Pull Requests auftauchen.
von Spiele Programmierer
23.10.2020, 19:34
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Master in den Branch zurückmergen und Änderungen überschreiben?
Antworten: 17
Zugriffe: 851

Re: Master in den Branch zurückmergen und Änderungen überschreiben?

Was gehen sollte ist, dass der Mitarbeiter für jeden Pull-Request einen neuen Branch anlegt. (Also einfach mit git branch <BRANCH_NAME> oder via diverse GUIs.) Wenn der Mitarbeiter nicht den neuen Branch als "Working Copy" auscheckt, sollte er ganz normal weiterarbeiten können ohne das irg...
von Spiele Programmierer
22.10.2020, 16:25
Forum: Algorithmen und Datenstrukturen
Thema: "Fragmentierter" Speicher
Antworten: 16
Zugriffe: 2280

Re: "Fragmentierter" Speicher

Ich hab die Frage jetzt auch erstmal so verstanden wie Kristhy, dass starcow momentan std::vector<std::unique_ptr<...>> verwendet und auf std::vector<...> umsteigen möchte, aber weiterhin stabile Zeiger zu den Objekten in den Vektor bewahren will. Um beliebig viele Objekte hinzuzufügen ist die Lösun...
von Spiele Programmierer
16.10.2020, 23:04
Forum: Algorithmen und Datenstrukturen
Thema: Funktion für mehrere Klassen
Antworten: 39
Zugriffe: 3983

Re: Funktion für mehrere Klassen

Hehe, nein – du missverstehst mich. Was ich sage, ist: *jeder* char -Zeiger verhagelt dir *überall in seiner Nähe* die Code Generation weil C++ vorschreibt, dass char * mit jedem Objekt aliasen darf. Guckst du: https://godbolt.org/z/Gnq4ox In intAndCharAlias() muss der Compiler jeden Zugriff aufs i...
von Spiele Programmierer
16.10.2020, 21:11
Forum: Algorithmen und Datenstrukturen
Thema: Funktion für mehrere Klassen
Antworten: 39
Zugriffe: 3983

Re: Funktion für mehrere Klassen

Dateiformate und Protokolle sind auch bei mir noch ein riesen Batzen reinterpret_cast s, der wird aber weiter und weiter durch memcpy() abgelöst. Auf Aliasing-Verletzungen würde ich nicht bauen – die nicht-standard-Konformität ist das eine; der eklige Maschinencode das Sahnetüpfel. Hast du ein Beis...
von Spiele Programmierer
16.10.2020, 14:32
Forum: Algorithmen und Datenstrukturen
Thema: Funktion für mehrere Klassen
Antworten: 39
Zugriffe: 3983

Re: Funktion für mehrere Klassen

Wow, ich hätte nicht gedacht, das der Compiler einen static_cast von void* schluckt. Es ergibt wohl in so fern Sinn, als das static_cast ja auch andere Downcasts kann. Auch wieder was gelernt. Da kann ich wohl ein paar reinterpret_cast s bei mir entfernen. :P Offen gesagt, hab dann ich auch kaum noc...
von Spiele Programmierer
16.10.2020, 14:13
Forum: Algorithmen und Datenstrukturen
Thema: Funktion für mehrere Klassen
Antworten: 39
Zugriffe: 3983

Re: Funktion für mehrere Klassen

Es wurde angesprochen, dass dynamic_cast zuweilen sehr ineffizient sein kann. Wie ist dann die best practise? Ist es wirklich besser z.B. in der Basisklasse ein enum einzubauen, anhand dessen man entscheiden kann um welche abgeleitete Klasse es sich handelt und basierend darauf einen static_cast zu...
von Spiele Programmierer
06.10.2020, 14:17
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Member Function Pointer auf virtual Base::Function ist Derived::Function
Antworten: 11
Zugriffe: 774

Re: Member Function Pointer auf virtual Base::Function ist Derived::Function

Was Du probieren könntest, ich aber nicht weiß, ob das vom Standard gedeckt ist: ein normaler Funktionszeiger mit explizitem *this . using FuncPtr = void (*)(Base*); FuncPtr func = &Base::Func; Unerprobt. Vielleicht muss man auch hart reinterpreten oder cstylen, was dann aber ein Hinweis wäre, ...
von Spiele Programmierer
05.10.2020, 15:30
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: Member Function Pointer auf virtual Base::Function ist Derived::Function
Antworten: 11
Zugriffe: 774

Re: Member Function Pointer auf virtual Base::Function ist Derived::Function

Das geht in C++ leider nicht.

Ich fürchte, da hilft nur eine 2. (nicht virtuelle) Funktion in Base, die dann von Func aufgerufen wird und die du direkt für Funktionszeiger referenzieren kannst.
von Spiele Programmierer
02.10.2020, 14:02
Forum: Allgemeines Talk-Brett
Thema: Windows 10 Papercuts
Antworten: 55
Zugriffe: 23782

Re: Windows 10 Papercuts

Der eigentliche Grund ist ja auch die Gängelung der Benutzer. Windows 10 weiß schließlich eh besser, was gut für dich ist. Das ist ohne Zweifel die Design-Philosophie und das sieht man ja auch sonst bei allen Einstellungen und speziell auch bei Updates, Neustarts, Cortana, Telemetrie usw. usf. Wenn ...
von Spiele Programmierer
30.09.2020, 22:07
Forum: Algorithmen und Datenstrukturen
Thema: Funktion für mehrere Klassen
Antworten: 39
Zugriffe: 3983

Re: Funktion für mehrere Klassen

Mir ist klar das es aktuell in C++ nicht geht. Aber das ist ja nur so wie die Sprache halt nunmal aktuell ist. Rein prinzipiell wäre es schon möglich das zu unterstützen und es würde auch sehr viel Sinn ergeben. Im Falle von einfachen Zeigern könnte die Sprache das einfach direkt erlauben und im Fal...
von Spiele Programmierer
30.09.2020, 15:14
Forum: Algorithmen und Datenstrukturen
Thema: Funktion für mehrere Klassen
Antworten: 39
Zugriffe: 3983

Re: Funktion für mehrere Klassen

Sehr gut beobachtet. Leider geht das in C++ nicht. Nichtmal in einem ganz einfachen Fall wie diesem: class A {}; class B : public A {}; A** cast(B** b) { return static_cast<A**>(b); } Nach dem cast kann man natürlich auch *cast(b_ptr_ptr) = new A() setzen, sodass der ursprüngliche b_ptr_ptr jetzt ei...
von Spiele Programmierer
28.09.2020, 23:21
Forum: Grafikprogrammierung
Thema: Sanity check: "Skin-fähige" Retro-Sprites
Antworten: 10
Zugriffe: 1238

Re: Sanity check: "Skin-fähige" Retro-Sprites

Man kann auch eine echte Multisampling-Textur nehmen. Zum Beispiel in OpenGL mit GL_ARB_texture_storage_multisample, was seit 4.3 zwingend unterstützt wird.
von Spiele Programmierer
28.09.2020, 18:56
Forum: Grafikprogrammierung
Thema: Sanity check: "Skin-fähige" Retro-Sprites
Antworten: 10
Zugriffe: 1238

Re: Sanity check: "Skin-fähige" Retro-Sprites

Hm, da weiß ich jetzt nicht genau wie du dir das mit Counter/Query-Objekte vorstellst. Aber rein theoretisch kann man sicherlich alles so indirekt rendern. Ich denke, dafür sollte man am besten einen/wenige große Texturatlanten/Texturarrays verwenden oder eben mit Bindless Textures wie in deinem Lin...
von Spiele Programmierer
28.09.2020, 18:05
Forum: Grafikprogrammierung
Thema: Sanity check: "Skin-fähige" Retro-Sprites
Antworten: 10
Zugriffe: 1238

Re: Sanity check: "Skin-fähige" Retro-Sprites

Ich denke, da spricht grundsätzlich nichts dagegen.
von Spiele Programmierer
26.09.2020, 14:25
Forum: Algorithmen und Datenstrukturen
Thema: Funktion für mehrere Klassen
Antworten: 39
Zugriffe: 3983

Re: Funktion für mehrere Klassen

Würde auch beim static_cast bleiben. dynamic_cast ist dramatisch langsamer und das um so mehr desto komplizierter deine Klassenhierarchie ist. Es macht auf dem MSVC-Compiler sogar string-Vergleiche , das heißt, man sollte kurze Klassennamen benutzen! Hier ein schneller GCC-Benchmark . reinterpret_ca...
von Spiele Programmierer
19.08.2020, 00:04
Forum: Algorithmen und Datenstrukturen
Thema: Performancegewinn bei double zu float
Antworten: 16
Zugriffe: 2392

Re: Performancegewinn bei double zu float

Ich stimme Schrompf auf jeden Fall darin zu, dass soviele Unterklassen total übertrieben wären. Momentan hast du ja nur einen Kreis, allerding ist es bereits jetzt so, dass der Code von "steuerbar" für die beiden Unterklassen vermutlich viele Gemeinsamkeiten besitzt. Nachdem du später wahr...
von Spiele Programmierer
09.08.2020, 17:20
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C++ Move-Assignment
Antworten: 5
Zugriffe: 522

Re: C++ Move-Assignment

Aha, ja das ergibt Sinn. Darauf bin ich auch schon des öfteren reingefallen und habe viel zu lange gesucht. Ich wünschte der VS C++-Compiler würde bei expliziten default -Funktionen den Fehler direkt auch dort anzeigen, wenn die Funktion verwendet wird aber nicht generiert werden kann. Wenn man die ...
von Spiele Programmierer
09.08.2020, 13:57
Forum: Programmiersprachen, Quelltext und Bibliotheken
Thema: C++ Move-Assignment
Antworten: 5
Zugriffe: 522

Re: C++ Move-Assignment

Ich glaube eigentlich eher nicht, dass es am Compiler liegt. Move-Semantik wurden schon vorher von VS unterstützt (2010? 2012?) und auf MSVC waren früher generell nie irgendwelche Einstellungen notwendig, um neue C++-Features zu verwenden. Nitrox hat aber damit recht, dass der Code kompiliert. Dann ...
von Spiele Programmierer
22.07.2020, 20:34
Forum: Vorstellungsbereich
Thema: Showroom - Aktuelle Arbeiten und Projekte
Antworten: 1954
Zugriffe: 837387

Re: Showroom - Aktuelle Arbeiten und Projekte

Ich denke, man kann Schrompfs-Ansatz auch über Frequenzen ausdrücken, in dem man als Cutoff-Funktion gerade die Fouriertransformation einer Rechteckfunktion über einen Pixel wählt. Die Frage ist nur: Warum sollte man das tun? :D Zum praktischen Berechnen ist diese Sache mit der Fouriertransformation...
von Spiele Programmierer
22.07.2020, 18:09
Forum: Vorstellungsbereich
Thema: Showroom - Aktuelle Arbeiten und Projekte
Antworten: 1954
Zugriffe: 837387

Re: Showroom - Aktuelle Arbeiten und Projekte

@smurfer Ob man das gleiche Resultat bekommt, hängt von der Fensterfunktion ab, aber ein perfekter Tiefpass, der einfache alle Frequenzen unter über einer Schwellwert auf 0 setzen, liefert ein anderes Resultat. Nämlich eins mit solchen Ringing-Artefakten . Dies kann man relativ leicht bestimmen, wen...
von Spiele Programmierer
19.07.2020, 13:36
Forum: Vorstellungsbereich
Thema: [Projekt] TAW-Klon
Antworten: 42
Zugriffe: 5843

Re: [Projekt] TAW-Klon

Bei Vulkan muss übrigens auch einiges im Hauptthread passieren, soweit ich weiß. Kontext-Erstellung auf jeden Fall, Ressourcen vielleicht auch, soweit geht mein Verständnis noch nicht. Das Allokieren, Hochladen und die RenderQueues kann man dann beliebig threaden. Woher hast du diese Information? W...
von Spiele Programmierer
15.07.2020, 13:34
Forum: Grafikprogrammierung
Thema: OpenGL -- orthographische Projektion, RTT, Größenänderung
Antworten: 14
Zugriffe: 1877

Re: OpenGL -- orthographische Projektion, RTT, Größenänderung

Hab hier einen relativ aktuellen Vergleich gefunden: https://cginternals.com/en/blog/2018-01 ... ngles.html
Das Ergebnis: Mit einem Dreieck ist es tendentiell schneller, aber nur auf einem Intel-System ist der Unterschied wesentlich.
von Spiele Programmierer
14.07.2020, 19:18
Forum: Grafikprogrammierung
Thema: OpenGL -- orthographische Projektion, RTT, Größenänderung
Antworten: 14
Zugriffe: 1877

Re: OpenGL -- orthographische Projektion, RTT, Größenänderung

Frage war maßgeblich, ob statt des von dir genannten Quads ein Vorteil bestünde, wenn ein "0, 0... Breite, Höhe" Quad und die entsprechende Projektion verwendet wird, damit es bildschirmfüllend ist. Ich denke nicht. Das bereits erwähnte gl_FragCoord liefert die Pixel-Koordinaten. Ansonste...