Grafikkarte oder Prozessor- wer rechnet wo...

Schlagworte:
  • 2016

Hallo zusammen

Es ist schon ein wenig verwirrend mit der Thematik Grafikkarte und Prozessor wenn es um das Thema schnelle Darstellung oder Berechnung in der CAD geht. Noch dazu tauchen in der letzten Zeit Programme auf die behaupten, Visualisierungen innerhalb von Sekunden zu machen wobei wir doch eigentlich vom Allplan Renderer wissen, dass es seine Zeit dauert. Wie seriös sind also solchen Zeitangaben?
Ohne wilde Fachbegriffe und ein wenig vereinfacht möchte ich mal kurz der Thema „Wer berechnet wo“ erläutern.

Fangen wir mal mit den Anfängen der CAD an: Der Prozessor (CPU) machte die Berechnungen und die Grafikkarte (GPU) stellte was dar. Eine bisschen- meist Linien.
Doch die Grafikkarte wurde mit der Zeit weiter entwickelt und lernte das „Open GL“, die Technik, 3D-Körper darstellen zu können. Ein Durchbruch, auf den sich alle CAD-Systeme bis heute stützen. Allplan genauso wie auch Cinema 4D. Die Arbeitsteilung ist aber immer noch die gleiche: Der Prozessor berechnet und die Grafikkarte stellt dar, obwohl sie durch Ihren Grafikprozessor (GPU) auch schon ein wenig mit berechnet, aber hauptsächlich an der 3D-Darstellung. Schatten etc. werden nach wie vor durch die CPU berechnet und das Ergebnis der Grafikkarte mitgeteilt. Ein extrem genaues Ergebnis, wenn auch rechenintensiv. Das wurde aber schnell durch mehrere Kerne kompensiert.

Dann kam die Spiele-Industrie und stellte fest: Das ist uns viel zu langsam mit dem Prozessor (CPU) und der Grafikkarte (GPU), Warum berechnen wir nicht alles direkt auf der Grafikkarte? OK, es ist nicht so korrekt wie die langen Berechnungen der CPU, aber bei Spielen muss es nicht richtig sein sondern nur richtig aussehen. Wir brauchen etwas, womit die Software der Grafikkarte sagen kann, was sie wie berechnen und darstellen muss. Und schon war „DirectX“ geboren. Damit wird alles auf der Grafikkarte berechnet, bis zu 5000 schneller als mit der CPU-GPU Kombination, allerdings war vieles, gerade im Bereich Schatten und Spiegelungen gefakt, was nicht so ins Gewicht fiel.

Und schon sind wir in der Gegenwart:
Allplan, Cinema und viele andere arbeiten bis heute mit der CPU-OpenGL Kombination, die die genaueste aber nicht gerade die schnellste Methode ist. Für gute Visualisierungsergebnisse gehen dort schon mal 1,2 oder mehr Stunden ins Land. Aber die Grafikkarte (GPU)schlummert zu 70% einen seligen Schlaf, da sie mangels DirectX-Anforderung nichts zu tun bekommt.
Jetzt kommen die Echtzeitvisualisierer ins Spiel, die Visualisierungen innerhalb von Sekunden statt 1-2 Stunden erledigen. Wirklich? Ja!! Wirklich! Sie rechnen nur auf der Grafikkarte (GPU) und dort kann der Prozessor seinen verdienten Schlaf genießen, während die Grafikkarte schuften muss. Aber alle Berechnungen sind grafisch orientiert und damit nicht so genau wie von der CPU berechnet. Sieht man das? Immer weniger, da die Technik auch in diesem Bereich immer besser wird. Von einem Laien sind die Unterschiede eh kaum auszumachen. (Siehe angehängte Bilder)
Kann man nicht einfach hergehen und exakte Berechnungen der CPU mit schnellen Berechnungen der GPU mischen? Ja, das machen auch mittlerweile einige Programme wie z B. der Indigo Renderer oder auch Vray. Auch der Cinerenderer macht das ein bischen für den schnellen Grafikaufbau. Sie beziehen die Leistung der Grafikkarte mit ein. Damit ist der noch landläufige Begriff der „Gamer-Grafikkarte“ eigentlich überholt. Es ist davon auszugehen, dass in den nächsten Jahren immer mehr Programme das Potenzial der Grafikkarten effektiver nutzen.

Einsetzen kann man die leistungsfähigen Grafikarten natürlich schon jetzt, auch wenn sie nicht als CAD-Grafikkarte deklariert oder zertifiziert sind. Grafikkarte aus der Produktreihe „Nvidia Geforce GTX“ oder „AMD Radeon R9“ arbeiten sehr gut mit Allplan oder Cinema zusammen und freuen sich erst recht, wenn sie mit „DirectX“ unterstützenden Programmen ihre Schnelligkeit zeigen können.
Preis von diesen schnellen Karten liegt bei ca. 170 – 350 Euro.
Ich hab mal eine Visualisierung aus einem GPU-Renderer und aus einem CPU-Renderer angehängt, damit man die Unterschiede sieht. Renderzeit des GPU-Renderings betrug 55 Sekunden, des CPU-Renderings 4,5 Stunden.

Gruß, Frank
(Alle Angaben ohne Gewähr)

Die Füße gehen nur dort hin, wo die Augen schon waren.

Anhänge (2)

Typ: image/jpeg
1944-mal heruntergeladen
Größe: 634,60 KiB
Typ: image/jpeg
1634-mal heruntergeladen
Größe: 622,35 KiB
1 - 10 (38)

Danke für die sehr gute Erklärung, schade, nicht gleicher Blickwinkel und daher einmal Gegenlicht, also nicht nachvollziehbar vergleichbar

Zitiert von: Gerl_Berlin1_Micha
Danke für die sehr gute Erklärung, schade, nicht gleicher Blickwinkel und daher einmal Gegenlicht, also nicht nachvollziehbar vergleichbar

Hi Micha,
ja, da gebe ich dir recht! Es sollte auch lediglich ein Vergleich der Qualität von grafischen und physikalischen Berechnungsmethoden sein. Aber mit der ungefähr gleichen Kameraposition und Sonnenstand kann ich auch dienen. Diese Kameraposition rechnete sogar noch 5 Sekunden schneller als die andere.

Wenn du mal die Rechengeschwindigkeit GPU vs. CPU live sehen willst kann ich dir diese Vid von Vray enpfehlen: Link

Gruß, Frank

Die Füße gehen nur dort hin, wo die Augen schon waren.

Anhänge (1)

Typ: image/jpeg
890-mal heruntergeladen
Größe: 288,93 KiB

Danke für die super Erklärung. Vielleicht könntest du noch auf Mehrkernprozessoren eingehen wann es sinnvoll ist mehr wie 2 Kerne zu haben. Und warum diese für reine Konstruier Arbeit-Allplan, (nicht rendern) eigentlich sinnlos sind. (diese Frage taucht reglemäßig auf)
Ich finde die Qualität des angefügten GPU Renderings übrigens ansprechender…

Zitiert von: Frank_Schroer
...Aber alle Berechnungen sind grafisch orientiert und damit nicht so genau wie von der CPU berechnet...

bloß das glaub ich nicht ganz.

Danke
mfg.
p.

Soviel ich weiß, kann Allplan abseits der Renderings nicht mit mehr Kernen umgehen.

Das liegt m.W. vor allem am Asbach-Uralt-Programm-Kernel und solange bis mit V2016 dieser Parasolid-Modellierkern eingebaut wurde, ging das Nutzen mehrerer Prozessor-Cores auch beim Rendern nicht.

Gruß: T.

Was heißt das für die Zukunft, werden die OpenGL-Katen überflüssig werden, wenn die Softwareanbieter vermehrt auf GPU-Rendering umsteigen, da die "Gamerkarten" hier wohl offensichtlich Vorteile haben?

Hallo noch mal,
Es kam die Frage nach Multiprozessor auf. Darauf möchte ich gerne eingehen:
Multiprozzessor ja, aber…

Im Prinzip sind unsere Rechner komplett überpowert.I5 oder I7, 4 Kerne, 8-16 Gb Ram, 1 Gb Grafikkarte mit Hochleistungs-Chip, alles wird nur sehr gering gefordert wenn wir an unserem PC mit Windows, Word, Exel, Outlook, Photoschop etc. arbeiten.

Wenn wir Allplan starten wacht ein Teil der Komponenten auf und muss tatsächlich mehr machen, aber wenn es um das reine 2D Zeichnen geht können 3 der 4 Prozessor Kerne auch in den Urlaub verschwinden ohne dass wir es groß merken würden. Das liegt zum einen an der Programmanforderung (nur 2D), zum anderen an der Lastenverteilung von Prozessor, Speicher (RAM) und Grafikkarte. Jeder hilft ein bisschen mit und alles ist gut. Der Leistungshunger steigt rapide, wenn wir unsere 2D Zeichnung plötzlich als 3D Modell betrachten. Jetzt sind alle Komponenten auf einmal alle hellwach und müssen was tun. 3D Geometrien berechnen (OpenGL) Schattenberechnung, Texturdarstellung. Das alles regelt Allplan, wer wann der Komponenten wieviel zu tun bekommt. Der Cinerenderer (Visualisierung) nimmt die Prozessoren ganz anders ran als der Allplan-Shader und plötzlich, je nach Anforderungen wollen wir Höchstleistungen.
Deshalb ist die Frage nicht: Macht es Sinn mit den Multiprozessoren, sondern wie viel Leistung erwarte ich wenn ich sie einfordere. Immer wieder höre ich, das oder das ist dann oder dann zu langsam. Meist muss man aber auch die Frage stellen: Passen meine Komponenten für diese Anforderung.
Ein CAD System kann nicht genug Leistung haben, so meine ich, da es für mich produktiv und wirtschaftlich sein muss. Das was ich heute vielleicht an Leistung nicht brauche da nicht von Projekten gefordert kann morgen schon hochaktuell sein. Ich glaube man solle sein System auf Eventualitäten und nicht auf momentanen Bedarf ausstatten. Damit ist man breiter aufgestellt und gerüstet.

Es ist in der Tat so, dass Allplan nicht alle Prozessorkerne ausnutzt, der Cinerender sehr wohl und wer sagt denn, dass die kommenden Versionen die Hardwareausnutzung nicht weiter optimieren…? Es muss natürlich kein Serversystem mit 16 Kernen sein aber ein gescheiter I7 (4Kerne)oder gleichwertig, das sollten wir einem System das wirtschaftlich für uns arbeiten soll schon gönnen. Dazu kommt, dass alle 3-4 Jahre die Wirtschaftlichkeit der Hardware auf den Prüfstand sollte, Softwareseitig sind die Interwalle kürzer.

Mein Leitfaden könnte vielleicht so aussehen (Ohne Gewähr) :
2D-Planung: I5, 8 GB RAM, 1GB Grafikkarte
3D-Planung: I7, 8 - 16 GB RAM, 2 GB Grafikkarte
3D-Planung mit Visualisierung: Schneller I7, 16 oder mehr GB RAM, 2-3 GB Grafikkarte
Bei „DirectX“ unterstützender Visualisierungssoftware 3-4 GB Grafikkarte
Windows 64 BIT ist heutzutage eh ein muß…

An alle Apple-Freunde: Allplan ist ein Windowsprogramm, das für Apple angepasst wurde.
Man hat unter „Parallels“ nicht die gleichen Performance-Werte wie unter einem Windows Betriebssystem. DirectX ist auf Apple Betriebssystemen incl. Parallels gar nicht lauffähig!

Hätten wir also Multiprozessor auf der CPU-Seite geklärt. Was ist denn auf der GPU-Seite?
Es gibt einige Grafikkarte mit mehreren GPU-Prozessoren. Die meisten Programme unterstützten diese noch nicht. Einige spezielle aber schon. Einfach mal nachfragen. Seit einiger Zeit gibt es auch die SLI-Technik. Die Idee: Stecke 2 baugleiche Grafikkarten in den Rechner, verbunden durch eine SLI-Bridge und man hat mehr Power. Doppelt so viel? Nein! Der Leistungszuwachs der SLI-Technologie beläuft sich auf ca. 30 %, also so lala…. Auch die SLI-Technik wird im Moment nur von einigen Spielen genutzt. Also nix für uns!

Sollten wir uns jetzt von allen OpenGL-Karten verabschieden und nur noch Power incl. DirectX einbauen, also diese Gamer-Karten?
Nein, natürlich nicht! Aber wer eh einen neuen Rechner im Auge hat ist gut beraten eine Grafikkarte mit 2 GB oder mehr und guter DirectX Unterstützung (Geforce GTX oder Radeon R9) mit zu berücksichtigen. Der Rechner wird 3 Jahre oder mehr seine Arbeit verrichten und in der Zeit wird softwareseitig vielleicht mehr passieren als man heute denkt!

Gruß, Frank
(Alle Angaben ohne Gewähr)

Die Füße gehen nur dort hin, wo die Augen schon waren.

Zitiert von: Thomasle
Parasolid-Modellierkern und CineRendern

.. sind 2 paar schuhe. Auch ohne Parasolid-Modellierkern hätte Allplan beim CineRenderer mehrere Kerne nutzen können ...

Allplan Webentwicklung

Private messages must be private. No support request via Private message.

@Frank:Gute Liste, viele und nützliche Infos !

Kurze Ergänzung zu "Windows 64-bit ein Muss"---> 32-bit-Windows kann nur max. 4GB RAM verwenden.

@Jörg: ok, dann eben mit Einführung des Cinerenderers? Das weißt Du besser als ich .

Gruß: T.

@ Frank Schroer.

Sind Sie in der Softwareentwicklung tätig bzw. haben Sie Erfahrung als Programmierer? Oder sind Ihre Ausführungen rein aus Allplan Praxis abgeleitet?

mfg
p.

1 - 10 (38)