GPU benutzen?

fredlllll

Erfahrenes Mitglied
Ist es möglich für Berechnung der Physik die Gpu zu verwenden? In Spielen wird ja auch mit der garbeitet, und da ich versuche ein Physikprogramm zu basteln käme mir das ganz gelegen, da ab der Berechnung von 10 Kugeln die CPU ins Stocken gerät bei 2.2Ghz.(ohne gegenseitige Kollisionen)

Besteht also die Möglichkeit der GPU bestimmte Berechnungen zukommen zu lassen?
 
nViDiA PhysX SDK
ATi beschleunigt soweit ich weiß Havok und das auch nur mit einer zweiten Grafikkarte im CrossFire Modus. Eine abgespeckten Version des Havok SDK's kannst Du hier bekommen.
Hoffe das Du dir da nicht zuviel vorgenommen hast, denn das Einbinden in VB6 ist ein mords Aufwand. Mal ganz abgesehen davon, das Du das SDK mit C kompilieren musst.
Vielleicht solltest Du dich mit CUDA anfreunden (welches mmt. nur auf nViDiA GPU's zum Einsatz kommt), da kannst Du auch einige Berechnungen von der GPU übernehmen lassen und die benötigten RunTimes sind bereits in alle neueren Treiber integriert. ist allerdings eine eigene Version der C Sprache und passt damit nicht hier rein.

Hoffe ich konnte etwas helfen.
Gruß, Name steht links ^^
 
Zuletzt bearbeitet:
[…] da ab der Berechnung von 10 Kugeln die CPU ins Stocken gerät bei 2.2Ghz.(ohne gegenseitige Kollisionen)
Welche Berechnungen führst du denn für die 10 Kugeln durch? Mit einer solchen geringen Anzahl an Objekten sollte bei einer vernünftigen Implementierung eigentlich noch keine Geschwindigkeitsprobleme auftreten – es sei denn du führst eine sehr komplexe Simulation durch. Vielleicht sollte man erst mal die Algorithmen optimieren, bevor man die GPU mit einspannt.

Ansonsten bleibt dann der Griff zu OpenGL oder DirectX, wobei zu vermuten ist, dass Visual Basic besser mit DirectX zurechtkommt. Damit ist dann aber einiges an Einarbeitungszeit verbunden (erstens die DirectX-API/-Pipeline und zweitens die Shadersprache).

Grüße, Matthias
 
Wenn es So ist wie mein Vorredner es schreibt und die Erwägung der GPU-Nutzung auf Grund noch fehlender Optimierungen eher hinfällig ist, so kann ich Dir diese Seiten nahe legen:
VB + OpenGL (deutsch: ActiveVB)
VB + DirectX (englisch: Visual Basic Explorer)

Hatte mich damals mit letzterer durchgekämpft und bekam als Ergeniss den alten Win9X-Labyrinth-Bildschirmschoner mit 3D-Beschleunigung. Hatte was von Wolfenhügel. :(
War aber auch eher um zu kucken was alles geht und selbst das hat mich einiges an Einarbeitungszeit gekostet.
Wobei die Seite über DirectX eher nur Grundwissen vermittelt, weshalb ich auf den OpenSource Quellcode einer leider nichtmehr verfügbaren VB-GameEngine aus deutschen Landen zurückgegriffen hatte.
Oder halt, Du findest eine Seite, die weitergehende informationen vermittelt. Diese hatte ich halt noch in den Favoriten.

Also viel Spaß.
 
Zuletzt bearbeitet:
Ich werde mir die Seiten mal in ruhe ansehen und kucken ob mir das was bringt.

Die berechnungen beinhalten Bewegung,Gravitation,Kollision mit den Wänden und die Feststellung ob die Kugeln miteinander kollidieren würden.(jede Kugel mit jeder also allein das fast 100 Schritte)
Ich denke also nicht, dass da noch viel geht, da das ganze sowieso schon wahnsinnig kurz rüberkommt.
danke für die hinweise. ich melde mich wieder

oh nebenher: Ich hab ne ATI XD nvidia hilft mir da nich viel :D

gut ich komm nich ganz drauf wie mir das dabei helfen soll meine berechnungen durchzuführen. das ganze rendert mir mein zeug ja nur.
ich denke ich muss mir das havok mal genauer anschauen da da schon eine physikengine dabei ist
 
Zuletzt bearbeitet:
Hab sowas noch nicht probiert, nur irgandwan mal Gorilla nachgebastelt. Das ist auch schon alles was ich mit G zu tun hatte.
Von daher habe ich jetzt keine Ahnung ob's wegen der Grafik- oderr Physikroutine ruckelt.
Falls es tatsächlich auf Havok (was eine reine PhysikEngine ist und nicht nur solche Bestandteile hat ;) ) hinnausläuft, so wirst Du mit dem kleinen kostenlosen SDK wohl nicht glücklich werden.
Falls Du allerdings noch andere Sprachen als VB6 beherrschst, so empfehle ich Dir die Zeitkritischen Dinge in C zu verfassen ... ausser Du sprichst fließend ASM, dann doch lieber das. ^^
 
Zurück