Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Suchergebnisse

Suchergebnisse 1-20 von insgesamt 826.

Werbeanzeige

09.03.2019, 23:41

Forenbeitrag von: »birdfreeyahoo«

Fragen zum der Logfile/Singleton Projekt

TSINGLETON und __CLOGFILE können beliebig gewählt werden. Wichtig ist dass keine andere Header-Datei dasselbe Symbol verwendet (deshalb oft Bezug auf den Name des Headers). Dieses Symbol wird definiert sobald der Präprozessor das erste Vorkommen der Header-Datei in der Cpp-Datei erreicht. Beim nächsten Vorkommen ist das symbol bereits definiert und der Code wird nicht kompiliert. So wird eine Header-Datei pro Cpp-Datei nur einmal verwendet. In deiner Entwicklungsumgebung kannst du das normalerwe...

09.03.2019, 22:50

Forenbeitrag von: »birdfreeyahoo«

Fragen zum der Logfile/Singleton Projekt

1. u. 2.: Das ist ein sogenannter Include-Guard. Die Befehle mit einem # werden vor dem Kompilieren vom Präprozessor ausgeführt. Bei einem #include wird der Inhalt der Header-Datei in die Cpp-Datei kopiert. Jetzt kann es sein, dass du die Header-Datei mehrmals in eine Cpp-Datei einbindest. Einmal direkt und einmal transitiv über andere Header-Dateien. Der Include-Guard sorgt dafür, dass der kopierte Inhalt der Header-Datei nur kompiliert wird, wenn er nicht schonmal in der gleichen Cpp-Datei vor...

09.02.2019, 17:22

Forenbeitrag von: »birdfreeyahoo«

Warum unterschiedliche Anwendungsreihenfolge von Transformationen bei OpenGL und DirectX ?

Wenn ich das richtig verstanden habe ist es etwas komplizierter. Im Grunde ist eine Matrix ja eine Matrix. Wie sie intern dargestellt wird (row/column major) hat keinen Einfluss auf ihre Bedeutung. Jetzt ist es so, dass ein Vektor auch eine Matrix ist, da gibt es aber 2 Möglichkeiten: 1x4 und 4x1, also Zeilenvektor und Spaltenvektor. Bei einem Spaltenvektor musst du Matrix * Vektor machen und bei einem Zeilenvektor entsprechend umgekehrt. Das ist mathematisch notwendig, da nur diese Operationen ...

06.02.2019, 15:11

Forenbeitrag von: »birdfreeyahoo«

Ist diese Vorgehensweise in Ordnung? C++

Wenn du das Objektmanagement richtig machst, kannst du sie anhand der Pointer unterscheiden und zuordnen. Sofern die ID keine andere Verwendung hat.

29.01.2019, 15:22

Forenbeitrag von: »birdfreeyahoo«

Thread-Modell Server

Also es ist eher unrealistisch dass das eine Webanwendung wird. Port ist auch gar kein Problem. Die nativen TCP-Schnittstellen der jeweiligen Standardbibliotheken sind bisher auch in Verwendung. Ich überarbeite den Teil nur und hatte auch ein Auge auf Websocket geworfen. Bei der eigenen Implementierung muss man eben noch auf mehr achten bzw. mehr selber machen.

28.01.2019, 16:24

Forenbeitrag von: »birdfreeyahoo«

Thread-Modell Server

Was mir wichtig ist: - beidseitige Kommunikation zu beliebigem Zeitpunkt - TCP-basiert mit SSL-Verschlüsselungsoption - Verfügbarkeit für C# und Java Bei Websocket fand ich die Schnittstelle toll mit den Callbacks (das ist eigentlich das was ich will), sowie der automatische Heartbeat-Mechanismus.

26.01.2019, 23:34

Forenbeitrag von: »birdfreeyahoo«

Thread-Modell Server

Danke für euer Feedback. Ich denke ich weiß jetzt genug um eine Entscheidung zu treffen bzw. das dann umzusetzen. Und Goldwing danke dass du mich auf Websockets hingewiesen hast, mir ist das irgendwie entgangen, das hilft mir weiter.

23.01.2019, 16:56

Forenbeitrag von: »birdfreeyahoo«

Thread-Modell Server

Handelt sich dabei um einen Java-Server. Asynchrones SQL wäre da also die Lösung, damit der Thread-Pool mit maximaler Effektivität arbeitet? Ich hatte den Thread-Pool dann mit 8 Threads geplant (4 Kerne * 2 Hyperthreads) um die Architektur komplett ausnutzen. Hätte ich einen Profit von mehr Threads? Wenn das so funktionieren würde wäre das toll. Eine letzte Frage dazu habe ich aber noch: Ich hatte geplant die Requests teilweise zu synchronisieren (mit synchronized). Soweit ich weiß sind einzelne...

23.01.2019, 14:08

Forenbeitrag von: »birdfreeyahoo«

Thread-Modell Server

Zitat von »Tobiking« Wenn du von asynchron wieder auf synchron wechselst gewinnst du nicht viel. Aber Datei- und Netzwerkoperationen sind inzwischen zum großen Teil asynchron vorhanden (NIO 2 & Netty). Problematisch sind meist nur die Datenbankzugriffe. Da wird ein Ansatz wie deiner mit einem Connection Pool verwendet. Da der Connection Pool sich aber nur auf die Datenbankverbindungen bezieht, ist die Größe recht beschränkt. Die Datenbank wird durch eine große Anzahl an Verbindungen nicht schne...

22.01.2019, 22:32

Forenbeitrag von: »birdfreeyahoo«

Thread-Modell Server

Hey, ich habe hier im Moment einen Server vorliegen, auf den erwartet mehrere hundert Clients sich verbinden sollen. Im Moment ist er so implementiert, dass ein Thread auf neue Verbindungen wartet und für jeden Client ein neuer Thread hinzukommt. Zusätzlich ist es so, dass für jede Message eine neue Verbindung aufgebaut wird (und dann direkt wieder geschlossen wird). Das möchte ich abschaffen und auf eine konstante Verbindung setzen, da sowieso jede 10 Sekunden eine Nachricht geschickt wird und ...

14.01.2019, 02:03

Forenbeitrag von: »birdfreeyahoo«

Kapitel 12 beim Debuggen flüssig beim Release laggig

Glaube ich kaum. Der Compiler muss so optimieren, dass die Semantik des Codes erhalten bleibt (Ausnahme Return Value Optimization). Es passiert also was du geschrieben hast.

14.01.2019, 00:26

Forenbeitrag von: »birdfreeyahoo«

Kapitel 12 beim Debuggen flüssig beim Release laggig

Zitat von »Crasher« Versteh ich das jetzt richtig, das die "Release"-Funktion den von mir geschriebenen Code, unter umständen noch verändert? Ja, also der Code wird ja in Maschinencode umgewandelt, also Prozessorinstruktionen. Das sieht schonmal komplett anders aus als C++-Code. Da gibt es auch immer mehrere Wege, wie der Compiler das machen kann. Im Debug-Modus macht er es so, dass es logisch mit deinem Code übereinstimmt. Das bedeutet dass alle Variablen existieren und der Ablauf gleich bleib...

12.01.2019, 21:49

Forenbeitrag von: »birdfreeyahoo«

Kapitel 12 beim Debuggen flüssig beim Release laggig

Zitat von »Crasher« Was beim "Debug" ja daran liegt, das er im Hintergrund noch etwas arbeitet und sich die Arbeitsschritte merkt (oder so), soweit ich weiß. Naja der Debugger wird schon Ressourcen verbrauchen, aber das ist nicht das eigentliche Problem. Du kannst ja schließlich auch ein Debug-Build ausführen ohne einen Debugger anzuhängen, genauso wie du ein Release-Build debuggen kannst (was aber dann nicht so gut funktionieren wird). Der Debug-Build enthält einfach viele Debug-Symbole, die d...

31.12.2018, 16:53

Forenbeitrag von: »birdfreeyahoo«

Vector in SFML

Enthalten die increment-Variablen die Werte, die du haben willst? Überleg mal was passiert wenn beide 0 sind (kann das passieren?). Denke auch nochmal die Logik der beiden If-Verzweigungen in Z.16 und Z.22 durch.

10.12.2018, 04:15

Forenbeitrag von: »birdfreeyahoo«

Volume Rendering in Unreal und Unity

Hey, ich implementiere aktuell einen Volume Renderer (Ray March) sowohl in Unreal als auch in Unity. Dazu verwende ich die Formel: Quellcode 1 color= color * (1 - sampleValue) + sampleColor * sampleValue Dabei ist color die Variable, die die Farbe aller Samples kumuliert. sampleValue ist der Wert an dieser Stelle in der 3D-Textur und sampleColor die Farbe dieses Voxels die über eine Transfertextur abhängig von dem sampleValue bestimmt wird. Dieses Vorgehen ist teilweise selbst gebaut, da ich nur...

26.04.2018, 02:00

Forenbeitrag von: »birdfreeyahoo«

'WTF'-Codeschnipsel

Quellcode 1 return (db == null)? false:true; Ähhh ja...

16.02.2018, 12:54

Forenbeitrag von: »birdfreeyahoo«

Aufhebbare Items Herzcontainer Bomben Pfeile nichts funktioniert

Was man auch noch dazu sagen muss, nicht alles findest du mit Learning by Doing heraus bzw. Trial and Error. Es gibt Dinge die werden funktionieren, sind aber nicht unbedingt gut gelöst und man könnte es eleganter oder besser machen. Das wirst du dann kaum rausfinden wenn du es nicht lernst (z.B. Patterns oder Best Practices). Andere Sache sind auch noch Dinge die keine offensichtlichen Fehler produzieren, bei denen du wissen musst wie es geht. In C++ gibst du z.B. einen Pointer auf eine lokale ...

14.02.2018, 15:18

Forenbeitrag von: »birdfreeyahoo«

Aufhebbare Items Herzcontainer Bomben Pfeile nichts funktioniert

Ich verstehe deinen Post nicht ganz. Es ging hier ja nicht um Java sondern um C# was du ja auch verwendest. Jar erwähnte nur dass er aus dem Bereich kommt und gerne wüsste was Structs in C# können. Außerdem finde ich die Diskussion nicht soo offtopic, geht immerhin um Unity und was man noch besser machen könnte. So wie ich das mitbekommen habe, könntest du da was von mitnehmen.

14.02.2018, 15:03

Forenbeitrag von: »birdfreeyahoo«

Aufhebbare Items Herzcontainer Bomben Pfeile nichts funktioniert

Structs in C# sind Werttypen, d.h. die Instanzen werden nicht auf dem Heap angelegt und sind wie in C++ normale Klassen/Struct-Instanzen oder in Java eine Variable von einem primitiven Datentyp (int, float, etc.). Im Gegensatz zur class in C#, welche sich wie ein Referenztyp verhält. Das bedeutet Instanzen werden auf dem Heap angelegt, sind Garbage-collected, wie Pointer/Referenzen in C++ und Klassen in Java. D.h. von einem Referenztyp eine Variable zu Kopieren, kopiert nur die Referenz, nacher ...

Werbeanzeige