Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: So Nov 10, 2024 20:44

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Leverman Devlog
BeitragVerfasst: Do Okt 22, 2015 13:20 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Feedback und Kommentare zu diesem Projekt hier rein! Danke :-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Leverman Devlog
BeitragVerfasst: Do Mär 24, 2016 11:18 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 18:56
Beiträge: 1213
Programmiersprache: Delphi/FPC
Hallo,

aus welchen Gründen implemenierst du das mit FPC neu? Einfach nur so weil du Lust drauf hast, oder hat Java irgendwelche Nachteile die du mit FPC umgehen möchtest?

MfG Bergmann.

_________________
Aktuelle Projekte: BumpMapGenerator, Massive Universe Online
Auf meiner Homepage gibt auch noch paar Projekte und Infos von mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Leverman Devlog
BeitragVerfasst: So Apr 17, 2016 12:41 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
Bergmann89 hat geschrieben:
Hallo,

aus welchen Gründen implemenierst du das mit FPC neu? Einfach nur so weil du Lust drauf hast, oder hat Java irgendwelche Nachteile die du mit FPC umgehen möchtest?

MfG Bergmann.


Der Hauptgrund ist das ich beruflich nun wieder mit Delphi unterwegs bin und so ziemlich alles verlernt habe... vor allem wie man mit Speicher umgeht.
Auch habe ich was Optimierungen angeht mehr Möglichkeiten mit FPC als mit Java (SIMD, SSE etc.). Performancetechnisch müsste auch wesentlich besser sein, da keine GC Spikes.

Schade das es keine direkten Intrinsics in FPC gibt - wird wohl alles direkt in ASM gebaut, allerdings sind meine ASM Kenntnisse eh eingerostet, daher ist das eigentlich gar nicht schlecht mal wieder was damit zu machen :-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Leverman Devlog
BeitragVerfasst: Mo Apr 18, 2016 00:45 
Offline
DGL Member

Registriert: So Feb 17, 2013 05:38
Beiträge: 8
Programmiersprache: Lazarus /Free Pascal
Also ich finde es super was du machst und vor hast!
Ich arbeite hauptsächlich mit Lazarus (früher mit Delphi) und freue mich über jedes Projekt welches damit zu tun hat :)

Bestimmt finden sich welche, die durch deine Arbeit den Weg zum Spieleprogrammierer finden.

Lazarus an die Macht! :D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Leverman Devlog
BeitragVerfasst: Mo Apr 18, 2016 11:19 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2622
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich bin mir 99% sicher, dass FPC intrinsics hat, ich schätze du meinst keine intrinsic für SSE und NEON.
Zu FPC Zeiten hab ich so den code geschrieben, dass der compiler SIMD optimiert hat aber aus heutiger sicht war das keine Gute Idee, da unterschiedliche Compilerversionen dann unterschiedliche Ergebnisse haben können und man sich auf lange Sicht in Teufels Küche begibt.
Ich wette, dass sich schon wer die Arbeit gemacht hat den nötigen asm code zu schreiben bzw. kannst du ja auch mit gcc eine c++ lib nehmen und den asm code generieren lassen und dann in fpc benutzen.
Sonnst ist es ein recht großer Aufwand alle nützlichen SIMD Operationen zu implementieren.
Um mir Arbeit zu sparen hab ich z.B. meine Optimierungen mit dem SSE satz geschrieben und nutze ein NEON wrapper um dann auch noch ein gewissen grad an optimierung auf ARM Systemen wie NV-K1, Raspberry Pi und Orange Pi zu haben.
In der Praxis hat sich gezeigt, dass SIMD in Klassen zu kapseln und dann diese zu verwenden die Geschwindigkeitsvorteile stark reduziert hat und daher schreibe ich nun für die meisten Sachen passenden Code und hab mich von der Kapselung getrennt.
Optimiert sind auch nur einige Teile, wie z.B. ne Hand voll String Operationen mit SSE4.2 und SSE2, sowie ein paar Container Klassen Operationen.

Mich interessiert vorallem das Thema "Entity Component System", da ich selber mal ein Fast Entity Component System nachgebaut hab und es sich vom Klassischen System doch ein bisschen unterscheidet.
Bisher hatte ich aber noch nicht erlebt, dass ein Game seine größte Last auf dem ECS hat, sondern meistens bei der Resourcen Verwaltung(Clientseitig) und Logging(Serverseitig).

Debug-Visualisierungen kann man leider nicht soviel im Netz finden, obwohl es so wichtig ist.
Ich hatte so manche Alpträume bei dem Thema, in meiner letzten Firma.
Wenn man ein ganzen Kontinent hat, der voll mit Sphären, Polygonen ist, um Audio Emitter zu visualisieren oder Viele Spheren für tausende vom Bäumen, weil Artists in einem generierten Cluster nochmal jeden einzelnen Baum anfassen wollen.
Unsere Debug Visualisierung war recht renderintensive, weil wir ein riesiges Areal hatten und man erkennen sollte ob ein Objekt den Boden Schneidet oder verdeckt wird und damit haben wir ein Mehrpass Verfahren benötigt. Erst die Szene rendern, dann Tiefentest auf kleiner stellen,farbe wechseln und die Debug Visualisierung rendern und dann den Tiefentest auf größer/gleich, farbe wechseln und nochmal rendern.
Auch die Geometry, die man braucht benötigt man eigentlich nicht in normalen Games, daher mussten wir erstmal Code schreiben für Linien, Bogen, Kreise und so weiter.
Da ging dann auch die GF960 mit 800x600 auf 12FPS runter, wenn man in einigen Debug modies in den Horizont geguckt hat :\ .
Wir hatten nie Zeit bekommen uns gedanken darüber zu machen, wie man sowas überhaupt optimieren kann.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Leverman Devlog
BeitragVerfasst: Mi Apr 20, 2016 20:46 
Offline
DGL Member

Registriert: Mi Okt 16, 2002 15:06
Beiträge: 1012
TAK2004 hat geschrieben:
Ich bin mir 99% sicher, dass FPC intrinsics hat, ich schätze du meinst keine intrinsic für SSE und NEON.
Zu FPC Zeiten hab ich so den code geschrieben, dass der compiler SIMD optimiert hat aber aus heutiger sicht war das keine Gute Idee, da unterschiedliche Compilerversionen dann unterschiedliche Ergebnisse haben können und man sich auf lange Sicht in Teufels Küche begibt.
Ich wette, dass sich schon wer die Arbeit gemacht hat den nötigen asm code zu schreiben bzw. kannst du ja auch mit gcc eine c++ lib nehmen und den asm code generieren lassen und dann in fpc benutzen.
Sonnst ist es ein recht großer Aufwand alle nützlichen SIMD Operationen zu implementieren.
Um mir Arbeit zu sparen hab ich z.B. meine Optimierungen mit dem SSE satz geschrieben und nutze ein NEON wrapper um dann auch noch ein gewissen grad an optimierung auf ARM Systemen wie NV-K1, Raspberry Pi und Orange Pi zu haben.
In der Praxis hat sich gezeigt, dass SIMD in Klassen zu kapseln und dann diese zu verwenden die Geschwindigkeitsvorteile stark reduziert hat und daher schreibe ich nun für die meisten Sachen passenden Code und hab mich von der Kapselung getrennt.
Optimiert sind auch nur einige Teile, wie z.B. ne Hand voll String Operationen mit SSE4.2 und SSE2, sowie ein paar Container Klassen Operationen.


Also mein kurzes Googlen nach Intrinsics und FPC hat mir gezeigt, das man es in ASM machen muss.
Zu schade, weil das hier ist ziemlich cool: Intel Intrinsics Guide

TAK2004 hat geschrieben:
Mich interessiert vorallem das Thema "Entity Component System", da ich selber mal ein Fast Entity Component System nachgebaut hab und es sich vom Klassischen System doch ein bisschen unterscheidet.
Bisher hatte ich aber noch nicht erlebt, dass ein Game seine größte Last auf dem ECS hat, sondern meistens bei der Resourcen Verwaltung(Clientseitig) und Logging(Serverseitig).


Nen brauchbares ECS habe ich schon einmal in nem Java-Platformer-Prototyp implementiert. Das lief komplett über ne art automatische Registrierung für die Komponenten sowie die Systeme. Genau das will ich auch wieder machen, allerdings besser und performanter ;-) Siehe: https://www.youtube.com/watch?v=F-arx-ukmpY

TAK2004 hat geschrieben:
Debug-Visualisierungen kann man leider nicht soviel im Netz finden, obwohl es so wichtig ist.
Ich hatte so manche Alpträume bei dem Thema, in meiner letzten Firma.
Wenn man ein ganzen Kontinent hat, der voll mit Sphären, Polygonen ist, um Audio Emitter zu visualisieren oder Viele Spheren für tausende vom Bäumen, weil Artists in einem generierten Cluster nochmal jeden einzelnen Baum anfassen wollen.
Unsere Debug Visualisierung war recht renderintensive, weil wir ein riesiges Areal hatten und man erkennen sollte ob ein Objekt den Boden Schneidet oder verdeckt wird und damit haben wir ein Mehrpass Verfahren benötigt. Erst die Szene rendern, dann Tiefentest auf kleiner stellen,farbe wechseln und die Debug Visualisierung rendern und dann den Tiefentest auf größer/gleich, farbe wechseln und nochmal rendern.
Auch die Geometry, die man braucht benötigt man eigentlich nicht in normalen Games, daher mussten wir erstmal Code schreiben für Linien, Bogen, Kreise und so weiter.
Da ging dann auch die GF960 mit 800x600 auf 12FPS runter, wenn man in einigen Debug modies in den Horizont geguckt hat :\ .
Wir hatten nie Zeit bekommen uns gedanken darüber zu machen, wie man sowas überhaupt optimieren kann.


Beruflich habe ich meist immer Enterprise Zeug gemacht - bis auf eine Ausname: Mein letztes Projekt war nen aufwendiges Charting-System mit HTML5/Javascript inkl. nachbau von Google-Maps - aber Vektorbasiert. Da habe ich sehr viel mit Debugvisualisierungen gemacht und erst damit habe ich die ein oder anderen Bugs ausfindig machen können.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.028s | 16 Queries | GZIP : On ]