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!

Werbeanzeige

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

91

10.11.2012, 17:06

C# besitzt seit Framework 2.0 eine Stopuhrklasse. Diese nennt sich "Stopwatch" und ist im "Diagnostics"-Namensraum versteckt.

Ob es schwer ist mir Zeigern zu arbeiten:
Nun, das kommt ganz alleine darauf an, wieviele Kenntnisse du in der Materie hast.
Wenn dir klar ist, was ein Zeiger sein soll und du weißt wie man Zeigerarithmetik anwendet, ist es nicht wirklich schierig.
Du willst ja nicht dein ganzes Programm mit Zeigern umbauen, sondern nur die Speicherung der Partikel.

Die GPGPU APIs haben erstmal überhaupt nichts mit der Grafik zu tun.
Um das aber effizient mit OpenCL zu erledigen, wirst du aber OpenGL verwenden müssen, für DirectCompute DirectX und bei CUDA weiß ich es selber nicht genau. Wenn dort kein direkter Zugriff von den Grafik APIs auf die von Cuda berechneten Daten möglich ist, kannst du ein Partikelsystem damit höchstens uneffizient realisieren.
Mir ist gerade noch etwas anderes eingefallen. Du könntest die Partikel über Shader direkt in Direct3D(XNA?) berechnen lassen.
Zwei Erläuterungen zu OpenGL über das Thema:
http://wiki.delphigl.com/index.php/GLSL_Partikel
http://wiki.delphigl.com/index.php/GLSL_Partikel_2
Das Prinzip solltest du auch auf XNA übertragen können.

Wenn du mit SSE optimieren willst, musst du entweder auf Mono umsteigen oder den Kern der Partikelsimulation in zb. C(++) schreiben.

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

92

10.11.2012, 17:12

DER JIT-Compiler von .NET benutzt schon von sich aus SSE, wenn er es für angemessen hält...

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

93

10.11.2012, 17:13

Quelle?
Ich habe bisher immer genau das Gegenteil gelesen.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

94

10.11.2012, 17:14

Er benutzt SSE vermutlich für skalaren Code, so wie es sich auch gehört, aber Autovektorisierung gibts bei Microsoft im Moment afaik nur für C++...

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

95

10.11.2012, 17:14

Quelle?
Ich habe bisher immer genau das Gegenteil gelesen.


Man muss halt nicht den ganzen Schwachsinn glauben, den die Anti MS fraktion von sich gibt: http://blogs.msdn.com/b/davidnotario/arc…/15/451845.aspx

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

96

10.11.2012, 17:22

Mir fällt es schwer, das zu glauben.
Vielleicht nutzt C# einige SSE Instruktionen, aber ich kann mir nicht vorstellen, dass C# all die schönen SSE Befehle nutzt, um mehrere Floats gleichzeitig zu verarbeiten.
Jetzt bin ich aber trotzdem neugierig geworden.
Das werde ich bei gelegenheit mal selbst überprüfen.

Achja, das hat eigentlich ziemlich wenig mit "Anti Microsoft" zu tun, wie ich finde.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Spiele Programmierer« (10.11.2012, 17:29)


Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

97

10.11.2012, 17:26

Zitat von »"Der verlinkte Artikel"«

Note that we don’t use SSE2 for floating point code. The reason for this is that we don’t vectorize code (which is the real win with SSE2), ...


Direkt aus dem Artikel, den Du verlinkt hast. Das nächste Mal liest Du ihn bitte auch, bevor Du das Maul so weit aufreisst.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

98

10.11.2012, 17:27

Wo hab ich das Maul aufgerissen?

Und ich hab nie behauptet, dass der Code vektorisiert wird !?

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

99

10.11.2012, 17:33

Wo hab ich das Maul aufgerissen?


Hier:

Zitat von »Sylence«

Man muss halt nicht den ganzen Schwachsinn glauben, den die Anti MS fraktion von sich gibt:


Zitat

Und ich hab nie behauptet, dass der Code vektorisiert wird !?

Dann hast Du den Thread nicht gelesen. Immerhin ging es hier ja nur um Vektorisierung der Partikelverarbeitung per SSE. Wenn Du das mit Deinem großspurigen Einwurf nicht gemeint hast, zu welchem Thread wolltest Du dann was beitragen?
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

100

10.11.2012, 17:34

Sorry aber 90%+ von den Sachen die man gegen MS liest *sind* nunmal Schwachsinn ;)

Und ja Thread hab ich nicht gelesen ;)

Werbeanzeige