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

Aktuelle Zeit: Fr Apr 19, 2024 02:57

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: Grundlegende Fragen
BeitragVerfasst: Fr Jun 19, 2015 23:45 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 19, 2015 15:25
Beiträge: 15
Programmiersprache: Delphi XE8
Hallo allerseits,

habe ein paar für mich essentielle, grundlegende Fragen zu OpenGl, vielleicht kann mir hier jemand weiterhelfen...

1) kann man OpenGl verwenden, parallel zur Bildschirmausgabe nicht sichtbare Bilder zu erstellen / berechnen? Sprich, die Bilder sollen zwar gerendert, und das Endprodukt in einen Stream abgelegt, jedoch nicht am Bildschirm ausgegeben werden. (Habe da in einem anderen Thread was von FrameBufferObjects gelesen...)

2) Gibt es eine allgemeine Möglichkeit, informiert zu werden, wenn die anstehenden auszuführenden Grafikoperationen von den GPUs abgearbeitet wurden?

3) Gibt es die Möglichkeit, generierten Text oder Bitmaps ohne Antialias zu rendern, auch wenn das auf den ersten Blick unsinnig erscheint... ?

4) Kann ich eine Form / ein Fenster in 2D und 3D Zonen unterteilen?

Vielen Dank vorab,

Peter

_________________
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: Sa Jun 20, 2015 11:04 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2067
Programmiersprache: C++
bytecook hat geschrieben:
1) kann man OpenGl verwenden, parallel zur Bildschirmausgabe nicht sichtbare Bilder zu erstellen / berechnen? Sprich, die Bilder sollen zwar gerendert, und das Endprodukt in einen Stream abgelegt, jedoch nicht am Bildschirm ausgegeben werden. (Habe da in einem anderen Thread was von FrameBufferObjects gelesen...)

Das ist möglich. Ab OpenGL 3.0 gibt es dafür die FBOs in welche gerendert wird. Interessant können dann auch die PBOs sein um die Daten asynchron zu verarbeiten. In vorherigen Versionen ist es auch schon möglich, aber es macht keinen Sinn darauf zu gehen.

bytecook hat geschrieben:
2) Gibt es eine allgemeine Möglichkeit, informiert zu werden, wenn die anstehenden auszuführenden Grafikoperationen von den GPUs abgearbeitet wurden?

Mir ist keine API dafür bekannt.

bytecook hat geschrieben:
3) Gibt es die Möglichkeit, generierten Text oder Bitmaps ohne Antialias zu rendern, auch wenn das auf den ersten Blick unsinnig erscheint... ?

Ja, per Default hast du kein Antialias.

bytecook hat geschrieben:
4) Kann ich eine Form / ein Fenster in 2D und 3D Zonen unterteilen?

Kann ich dir spontan nicht beantworten. Sollte aber eigentlich gehen.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: Sa Jun 20, 2015 12:24 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 19, 2015 15:25
Beiträge: 15
Programmiersprache: Delphi XE8
Hallo i0n0s,

danke für die Antworten -

Ad 1- werde mich also mal an das Konzept der FBOs und PBOs "ranlesen"...

Ad 2 - Habe in der OGL4 folgenden Eintrag gefunden, http://wiki.delphigl.com/index.php/glBe ... onalRender, muss mich mal in das Query Konzept reinschmökern...

Ad 3 - Das ist doch mal vielversprechend!

Programmierseitig starte ich heute einmal, mir die aktuelle Headerdatei genauer anzusehen und mal grundlegende Funktionen in eine Basiskomponente einzupflegen.


LG,

Peter

_________________
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: Sa Jun 20, 2015 20:34 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Zitat:
1) kann man OpenGl verwenden, parallel zur Bildschirmausgabe nicht sichtbare Bilder zu erstellen / berechnen? Sprich, die Bilder sollen zwar gerendert, und das Endprodukt in einen Stream abgelegt, jedoch nicht am Bildschirm ausgegeben werden. (Habe da in einem anderen Thread was von FrameBufferObjects gelesen...)

Wie man eine Scene in eine Textur rendert, hätte ich ein Beispiel in Lazarus.

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: Sa Jun 20, 2015 20:42 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 19, 2015 15:25
Beiträge: 15
Programmiersprache: Delphi XE8
mathias hat geschrieben:
Zitat:
1) kann man OpenGl verwenden, parallel zur Bildschirmausgabe nicht sichtbare Bilder zu erstellen / berechnen? Sprich, die Bilder sollen zwar gerendert, und das Endprodukt in einen Stream abgelegt, jedoch nicht am Bildschirm ausgegeben werden. (Habe da in einem anderen Thread was von FrameBufferObjects gelesen...)

Wie man eine Scene in eine Textur rendert, hätte ich ein Beispiel in Lazarus.


Hallo Mathias,

das wäre sehr hilfreich, danke für das Angebot!

Grüße aus Dornbirn, Vorarlberg,

Peter

_________________
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: So Jun 21, 2015 12:52 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Bei der Abfrage, wann Zeug fertig wird, habe ich eine gegenfrage: Warum willst du das wissen?

Die GPU ist zwar frei, deine Befehle umzusortieren und beliebig parallel im Hintergrund auszuführen, aber der beobachtbare Effekt bleibt immer gleich. Das heißt, wenn du z.B. in ein FBO renderst, und dann den Inhalt dieses FBO ausliest, wirst du immer das sehen, was reingerendert wurde. Das Auslesen (oder irgendein zwischenschritt da hin) wird dann darauf warten, dass das Rendern in das FBO fertig ist.

viele Grüße,
Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: So Jun 21, 2015 14:14 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 19, 2015 15:25
Beiträge: 15
Programmiersprache: Delphi XE8
Lord Horazont hat geschrieben:
Bei der Abfrage, wann Zeug fertig wird, habe ich eine gegenfrage: Warum willst du das wissen?

Die GPU ist zwar frei, deine Befehle umzusortieren und beliebig parallel im Hintergrund auszuführen, aber der beobachtbare Effekt bleibt immer gleich. Das heißt, wenn du z.B. in ein FBO renderst, und dann den Inhalt dieses FBO ausliest, wirst du immer das sehen, was reingerendert wurde. Das Auslesen (oder irgendein zwischenschritt da hin) wird dann darauf warten, dass das Rendern in das FBO fertig ist.

viele Grüße,
Horazont


Hallo Horazont,

das ist natürlich gut so.

Warum ich das wissen muss:

Ich missbrauche die Gpu, um Bilder für Endgeräte zu rendern. Der Bildaufbau wird mittels Editoranweisung vorgegeben. diser ist rein virtuell und objektorientiert aufgebaut, Coords sind vom Typ Single, das Ausgabesystem muss damit umgehen können. Da bietet sich OGL geradezu an. Mit dem Editor werden u.A. Barcodes, Schriftarten, verschiedene Sicherheitsmerkmale, etc erzeugt und diese dann über einen Zwischenschritt auf einem Zielsystem ausgegeben. Dieser Zwischenschritt bedarf, dass alle Renderoperation abgeschlossen sind.

Die fertigen Bilddaten müssen dann für die entsprechenden Endgeräte entweder auf Bitebene oder 4 Bit Graustufenebene (Farbseparation / Shader) aufbereitet werden. Dazu ist die Grafikkarte naturgemäß idealer als eine Cpu. Unter DirectX hatte ich in Verbindung mit FMX allerdings das Problem, dass die Bildoperationen entweder nicht (= schwarzes Bitmap) oder vollständig zurückkamen.
Sprich, ich hatte vor ca. 1 1/2 Jahren in FMX keine saubere Möglichkeit, zu wissen, wann die GPUs mit den Aufgaben fertig waren. Zudem gab es immer wieder MS-D2d10.dll Fehler... Direct2D ist scheinbar nicht wirklich threadsafe umgesetzt, so wie es aussieht...

Cuda von NVidia wäre eine Möglichkeit, unsere Anforderungen so wie gewünscht umzusetzen (Gespräch mit einem Mitarbeiter von http://home.otoy.com/), jedoch limitiert uns dies zu stark auf NV und bindet uns an den PC, was wir als unerwünscht empfinden... Ausserdem läuft in der nächsten Release unserer Hardware OGL Es unter Linux, willkommen für uns, unseren Druckysstemen gleich eine entsprechende Gui in OGL zu verpassen.

LG,

Peter

Mein Editor, FMX Edition, XE6, alle Elemente sind eigenentwickelt und kommen ohne FMX Designer bzw Emb Komponenten aus.
Bild entfernt wegen größe, klick hier

_________________
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.


Zuletzt geändert von bytecook am So Jun 21, 2015 19:04, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: So Jun 21, 2015 15:45 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 31, 2002 19:41
Beiträge: 1278
Wohnort: Bäretswil (Schweiz)
Programmiersprache: Pascal
Hier Ausschnitte von meinem Code:

Code:
  1. var
  2.   textureID0 : GLuint;
  3.   FramebufferName, depthrenderbuffer: GLuint;  
  4.  
  5.   // ======== InitScene  ==============
  6.  
  7.   // --- Textur 0
  8.  
  9.   glGenTextures(1, @textureID0);
  10.   glBindTexture(GL_TEXTURE_2D, textureID0);
  11.  
  12.   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, TexturSize, TexturSize, 0, GL_RGBA, GL_UNSIGNED_BYTE, nil);
  13.  
  14.   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
  15.   glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
  16.  
  17.   // Frame Buffer erzeugen
  18.  
  19.   glGenFramebuffers(1, @FramebufferName);
  20.   glBindFramebuffer(GL_FRAMEBUFFER, FramebufferName);
  21.  
  22.   glGenRenderbuffers(1, @depthrenderbuffer);
  23.   glBindRenderbuffer(GL_RENDERBUFFER, depthrenderbuffer);
  24.  
  25.   glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT, TexturSize, TexturSize);
  26.   glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthrenderbuffer);
  27.  
  28.   glFramebufferTexture(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, textureID0, 0);      
  29.  
  30. // =========== Rendern ===============
  31.  
  32.   // --- In Texturbuffer render
  33.  
  34.   glBindFramebuffer(GL_FRAMEBUFFER, FramebufferName);
  35.  
  36.   glClearColor(1.0, 1.0, 0.0, 1.0);
  37.   glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  38.   glViewport(0, 0, TexturSize, TexturSize);
  39.  
  40.   with RenderTextur_Shader do begin // Triangle
  41.     Shader.UseProgram;
  42.     glBindVertexArray(uiVAO[0]);
  43.  
  44.     glUniformMatrix4fv(WorldMatrix_id, 1, False, TriangleMatrix.ptr);
  45.     glDrawArrays(GL_TriangleS, 0, Length(Triangle) * 3);
  46.   end;
  47.  
  48.  
  49.   //  --- Normal auf den Bildschirm rendern
  50.  
  51.   glBindFramebuffer(GL_FRAMEBUFFER, 0);
  52.  
  53.   glClearColor(1.0, 0.5, 1.0, 0.0);
  54.   glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  55.  
  56.  
  57.   glViewport(0, 0, ClientWidth, ClientHeight);
  58.  
  59.   glActiveTexture(GL_TEXTURE0);
  60.   glBindTexture(GL_TEXTURE_2D, textureID0);
  61.  
  62.   with Cube_Shader do begin  // Rechteck
  63.     Shader.UseProgram;
  64.     glBindVertexArray(uiVAO[1]);
  65.  
  66.     glUniformMatrix4fv(WorldMatrix_id, 1, False, WorldMatrix.ptr);
  67.     glDrawArrays(GL_TriangleS, 0, Length(Quad) * 3);
  68.   end;
  69.  
  70.   OpenGLControl.SwapBuffers;
  71.  
  72. // ======= Alles freigeben ======
  73.  
  74.   glDeleteFramebuffers(1, @FramebufferName);
  75.   glDeleteRenderbuffers(1, @depthrenderbuffer);
  76.  
  77.   glDeleteTextures(1, @textureID0);       

Ich hoffe, dies hilft dir weiter.

PS: Könntest du nicht das nächste mal deine Bilder kleiner reinstellen, es verzehrt das ganze Forum. :wink:

_________________
OpenGL


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: So Jun 21, 2015 19:05 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 19, 2015 15:25
Beiträge: 15
Programmiersprache: Delphi XE8
mathias hat geschrieben:
... snip ...


PS: Könntest du nicht das nächste mal deine Bilder kleiner reinstellen, es verzehrt das ganze Forum. :wink:



Ok, und danke für den Code!

_________________
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: Mo Jun 22, 2015 08:46 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Wie gesagt, es würde mich arg wundern, wenn du das gleiche Problem bei OpenGL hättest. Wenn du aus einer Textur liest, die zu einem FBO gehört, solltest du immer das Ergebnis bekommen, als ob du auf das Ergebnis gewartet hättest.

Thread-Safety ist auch bei OpenGL so eine Sache, da weiß ich gerade nicht genau, wie die Einschränkungen sind, iirc hat sich das mit OpenGL 3 geändert.

Wenn du schon über CUDA nachdenkst, kannst du dir mal OpenCL anschauen. Das ist plattformunabhängig und auch eine Library um auf GPUs zu rechnen. Wobei mir dein Use-Case eher so aussieht, als ob du mehr Zeichnen als Rechnen wolltest.

viele Grüße,
Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: Mo Jun 22, 2015 10:17 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
Thread-Safety ist abhängig vom jeweiligen OS. Unter Windows ist es ganz eindeutig: Don't

Dein OpenGL-Context wird sozusagen an den DC gebunden und unterliegt damit den gleichen Einschränkungen.

Es gibt zwar einige Ausnahmen/ Workarounds (hauptsächlich Objekt-Funktionen) bei denen du die CPU-Arbeit auf einen anderen Thread auslagern darfst, aber das braucht wieder zusätzlichen Overhead und dürfte dir bei deinen Problem wenig nutzen.

Die GPU-Arbeit selbst ist immer Singlethreaded und muss immer vom gleichen Thread kommen der auch den DC erstellt hat. Daher darf es auch nur einen aktiven Context pro DC geben.

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: Mo Jun 22, 2015 10:28 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 19, 2015 15:25
Beiträge: 15
Programmiersprache: Delphi XE8
Lord Horazont hat geschrieben:
Wie gesagt, es würde mich arg wundern, wenn du das gleiche Problem bei OpenGL hättest. Wenn du aus einer Textur liest, die zu einem FBO gehört, solltest du immer das Ergebnis bekommen, als ob du auf das Ergebnis gewartet hättest.

Thread-Safety ist auch bei OpenGL so eine Sache, da weiß ich gerade nicht genau, wie die Einschränkungen sind, iirc hat sich das mit OpenGL 3 geändert.

Wenn du schon über CUDA nachdenkst, kannst du dir mal OpenCL anschauen. Das ist plattformunabhängig und auch eine Library um auf GPUs zu rechnen. Wobei mir dein Use-Case eher so aussieht, als ob du mehr Zeichnen als Rechnen wolltest.

viele Grüße,
Horazont


Hmm, danke für die Info. Eine NVidia Bindung scheidet allerdings wegen den folgenden Projekten definitiv aus. Rechnen ist auch ein Thema, wenn derzeit auch untergeordnet.

LG

Peter

_________________
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: Mo Jun 22, 2015 10:36 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 19, 2015 15:25
Beiträge: 15
Programmiersprache: Delphi XE8
yunharla hat geschrieben:
Thread-Safety ist abhängig vom jeweiligen OS. Unter Windows ist es ganz eindeutig: Don't

Dein OpenGL-Context wird sozusagen an den DC gebunden und unterliegt damit den gleichen Einschränkungen.

Es gibt zwar einige Ausnahmen/ Workarounds (hauptsächlich Objekt-Funktionen) bei denen du die CPU-Arbeit auf einen anderen Thread auslagern darfst, aber das braucht wieder zusätzlichen Overhead und dürfte dir bei deinen Problem wenig nutzen.

Die GPU-Arbeit selbst ist immer Singlethreaded und muss immer vom gleichen Thread kommen der auch den DC erstellt hat. Daher darf es auch nur einen aktiven Context pro DC geben.


Danke für die Info. In meinem Falle benötige ich also zwei oder mehrere DCs, einen für die visuelle Darstellung, einen oder mehrere für die Hintergrundberechnung. Gibt es hierfür bezüglich der DCs eine OGL Einschränkung?

LG,

Peter

_________________
Was mache ich, wenn ein Bär meine Frau angreift?
Nichts. Er hat sie angegriffen, soll er doch selber sehen, wie er sich verteidigt.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: Mo Jun 22, 2015 12:04 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
bytecook hat geschrieben:
Danke für die Info. In meinem Falle benötige ich also zwei oder mehrere DCs, einen für die visuelle Darstellung, einen oder mehrere für die Hintergrundberechnung. Gibt es hierfür bezüglich der DCs eine OGL Einschränkung?

LG,

Peter


Ja das ist ein wenig Tricky. Du musst bedenken das der OpenGL Context nicht wirklich an den DC gebunden ist. Stattdessen wird der OpenGL Context fuer eine bestimmte DC-Klasse erzeugt und du sagst deinen Thread welchen OpenGL Context und welchen DC er nutzen soll (MakeCurrent). Wenn du also mit mehreren DC arbeiten willst hast du zwei Möglichkeiten:

1.) Du benutzt MakeCurrent um deinen OpenGL Context an einen anderen DC anzuheften. Dabei muss aber die DC-Klasse die gleiche sein und du musst deinen Context ggf. vorher ausschalten (MakeCurrent(NULL,NULL)). Das ist zum Beispiel fuer Setups mit mehreren Monitoren ein gängiger Weg, aber ich weiss nicht wie weit SwapBuffer da wieder Mist baut.

2.) Du benutzt pro DC einen eigenen Thread und verteilst Objekte mit wglShareLists. Damit kannst du GPU-Seitige Objekte fuer Beide gleichzeitig benutzen. Aber Achtung, einige der modernen Sachen wie FBOs oder VAOs sind nicht rein GPU-Steitig und koennen daher nicht geshared werden. Das ist allerdings nicht gerade gut Dokumentiert und war eigentlich nur bei MFC... nun ja nicht unbedingt ueblich aber wenigstens so halbwegs sinnvoll... Insgesamt duerfte es aber leichter sein, als die erste Variante da du weniger Stress mit Synchronisierung hast.

[edit]
In beiden Faellen ist aber unklar in wie weit du davon profitierst. Die CPU-Seitigen Sachen duerften schneller werden aber auf der GPU sieht das schon
wieder anders aus. Letztenendes packt Windows alles in eine CommandQueue, fuer alle GPUs. Und wie diese dann abgearbeitet wird.... frag den Fuchs :)

_________________
Meine Homepage


Zuletzt geändert von yunharla am Mo Jun 22, 2015 12:35, insgesamt 2-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Grundlegende Fragen
BeitragVerfasst: Mo Jun 22, 2015 12:30 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
bytecook hat geschrieben:
Lord Horazont hat geschrieben:
[…]Wenn du schon über CUDA nachdenkst, kannst du dir mal OpenCL anschauen. Das ist plattformunabhängig und auch eine Library um auf GPUs zu rechnen. Wobei mir dein Use-Case eher so aussieht, als ob du mehr Zeichnen als Rechnen wolltest.[…]


Hmm, danke für die Info. Eine NVidia Bindung scheidet allerdings wegen den folgenden Projekten definitiv aus. Rechnen ist auch ein Thema, wenn derzeit auch untergeordnet.


Nun, OpenCL ist eben nicht an nvidia gebunden.

viele Grüße,
Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 20 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.191s | 18 Queries | GZIP : On ]