PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum braucht CAD so viel Leistung?


3d
2007-01-10, 18:56:29
verglichen mit einem neuen spiel ist so ein konstrukt doch meist unspektakulär.
keine shader, keine komplizierte lichtberechnung und sonstige effekte.

also woran liegt es, daß man für CAD so viel leistung braucht?

Ronny G.
2007-01-10, 19:11:30
Der Leistungshunger wird eher beim CPU/Speicher liegen, nicht an der Grafikkarte.

Trap
2007-01-10, 19:11:54
Wie wärs mit einigen hundert Millionen Dreiecken in einem Modell?

Gast
2007-01-10, 19:19:56
Wie wärs mit einigen hundert Millionen Dreiecken in einem Modell?
Lösung: NURBS :)

aylano
2007-01-10, 19:26:10
Der Leistungshunger wird eher beim CPU/Speicher liegen, nicht an der Grafikkarte.

Also ich damals die neue Geforce256 kaufte, war ich AFAIK der einzige, der keine Probleme mit AutoCAD hatte. Bei meinen Klassenkameraden war das CAD ziehmlich empfindlich.

Mittlerweile müsste sich das geändert haben, oder???

Muh-sagt-die-Kuh
2007-01-10, 20:15:48
Lösung: NURBS :)Man muss zwischen der Definition der Flächen und ihrer Darstellung unterscheiden. Definiert werden Flächen fast immer auf Basis von NURBS, zur Darstellung tesseliert man aber die NURBS, erhält ein beliebig feines Dreiecksnetz und schickt dieses zur Darstellung durch die 3D-Pipeline. Eine Alternative dazu wäre ein Software-Raytracer.

3d
2007-01-11, 15:12:14
ja was denn jetzt?
liegt es an den vielen dreiecken?

ich kenn mich mit der materie nicht gut aus, also bitte keine komplizierten erklärungen.

Trap
2007-01-11, 15:34:34
ja was denn jetzt?
liegt es an den vielen dreiecken?
Es liegt an den viel viel komplexeren Modellen die dargestellt werden. Nimm zum Beispiel ein Auto, in einem Spiel ist das so einfach wie ein Matchbox-Auto, ein CAD-Modell davon enthält jeden Stecker, jede Schraube, jeden Schalter, und alles in der nötigen Genauigkeit um aus den Daten des Modells die Werkzeuge für die Autoherstellung erstellen zu können.

Ein größeres Beispiel wäre eine Boeing 777, dazu gibt es in dem PDF ein paar Beispielbilder der Daten: http://www.gelato.org/pdf/apr2006/gelato_ICE06apr_graphics_zhang_sgi.pdf

schoppi
2007-01-11, 16:15:18
Also ich damals die neue Geforce256 kaufte, war ich AFAIK der einzige, der keine Probleme mit AutoCAD hatte. Bei meinen Klassenkameraden war das CAD ziehmlich empfindlich.

Mittlerweile müsste sich das geändert haben, oder???Das passt auch so. Die Grafikkarte geht nämlich schon in die Leistung ein - zwar nicht beim Rendern aber bei der Bildschirmdarstellung...also dem grundsätzlichen Konstruieren.

Gast
2007-01-11, 16:18:09
freiformflächen und die dahinterliegende mathematik (nurbs, die diversen splinearten, annäherungen etc.) sind für desktoprechner eine herausforderung. ich rede hier von catia v5r12 ff. wie etwas dargestellt wird und was dahintersteckt sind oftmals zweir paar schuhe.

Gast
2007-01-11, 16:19:50
Das passt auch so. Die Grafikkarte geht nämlich schon in die Leistung ein - zwar nicht beim Rendern aber bei der Bildschirmdarstellung...also dem grundsätzlichen Konstruieren.
Autocad... X-D

catia, solidworks und konsorten kommen aus dem opengl/unix-bereich.

3d
2007-01-11, 17:58:03
ok, an solch große konstrunktionen wie auto oder flugzeug hab ich jetzt nicht gedacht, als ich den thread erstellt habe.

würde denn z.b ein normaler rechner (conroe + 1900XT + 2GB RAM) für ein
desktopgehäuse-konstrukt ausreichen?

bzw. wie weit kommt man mit einem normalen pc?
würde es für ein fahrrad-konstrukt noch ausreichen?

der_roadrunner
2007-01-11, 18:07:54
würde denn z.b ein normaler rechner (conroe + 1900XT + 2GB RAM) für ein
desktopgehäuse-konstrukt ausreichen?

Auf jeden Fall.

bzw. wie weit kommt man mit einem normalen pc?

Das kommt halt drauf an wie Komplex das Modell ist. Die Einzelnen Bauteile stellen auh selten ein Problem dar, erst Zusammenbauteil zieht ordentlich Leistung.


würde es für ein fahrrad-konstrukt noch ausreichen?

Definitiv ja. So Komplex ist ein Fahrrad nicht.

der roadrunner

Gast
2007-01-12, 09:43:02
Das Problem ist, dass bei den meisten CAD-Programmen kaum Graphikkartenoptimierungen vorhanden sind. Statt also ein patch zu haben und es mittels Shadern immer in die gewünschte Form zu bringen, wird immer alles mit der CPU gemacht und schon alleine der Transfer der Daten zur Graphikkarte limitiert dermassen dass weder CPU noch GPU an ihre (Rechen-)Leistungsgränzen kommen.

Detritus
2007-01-12, 10:26:12
Mein mittlerweile 2Jahre alter CAD-PC ist doch schon an den normalen GamePCs dran: DualXeon 3.2GHz, 4GB DDR2, QuadroFX3400 mit 256MB.

Und wenn ich an meine erste CAD-Maschine zurückdenke... IBM, 90MHz, 256MB, GXTP500, 50.000DM*schwelg* (Der dazugehörige PC war ein 486-33 mit 16MB, 2000DM).

Imho haben sich mittlerweile die Verhältnisse STD-PC zu CAD-PC ziemlich angeglichen; CA ist nur mehr wenig teurer.

=Floi=
2007-01-12, 13:20:51
und die kosten kann man problemlos wieder reinbekommen?
stückzahlen? umsatz?
ich meine ja nur weil die kiste wohl 3.5mal teurer ist als was normales...

3d
2007-01-12, 15:27:12
Das Problem ist, dass bei den meisten CAD-Programmen kaum Graphikkartenoptimierungen vorhanden sind. Statt also ein patch zu haben und es mittels Shadern immer in die gewünschte Form zu bringen, wird immer alles mit der CPU gemacht und schon alleine der Transfer der Daten zur Graphikkarte limitiert dermassen dass weder CPU noch GPU an ihre (Rechen-)Leistungsgränzen kommen.

wie stark unterscheiden sich denn profi cad-karten von normalen spielekarten?
denn die normalen sind ja quasi für shader und effekte ausgelegt und das wird ja bei cad nicht gerade oft eingesetzt.
bekommt man eine 1900XT oder 8800GTX richtig ausgelastet mit cad, oder würden sich die ganzen shadereinheiten langweilen?

VooDoo7mx
2007-01-12, 16:06:36
CAD =| CAD

CAD wird in so vielen Bereichen eingesetzt. Im Bauwesen bei Bauzeichnen reicht allein ne 2dimensionale Anwendung--> wenig Rechnenhunger.

ilPatrino
2007-01-12, 17:37:10
Das Problem ist, dass bei den meisten CAD-Programmen kaum Graphikkartenoptimierungen vorhanden sind. Statt also ein patch zu haben und es mittels Shadern immer in die gewünschte Form zu bringen, wird immer alles mit der CPU gemacht und schon alleine der Transfer der Daten zur Graphikkarte limitiert dermassen dass weder CPU noch GPU an ihre (Rechen-)Leistungsgränzen kommen.
blödsinn 1: die meisten cad-programme haben /für die professionellen modelle (aka firegl und quadro)/ extra profile. und die sind hochoptimiert, sowohl was leistung als auch qualität angeht.
blödsinn 2: die ausgabe erfolgt immer per d3d oder opengl. und zwar immer hardwarebeschleunigt. die cpu nutzt kein aktuelles system, die ist mit anderen dingen mehr als ausgelastet.
blödsinn 3: die darstellung bei cad-konstrukten ist per vereinfachung auf beinahe beliebige leistung anpassbar. das problem ist einfach lösbar.

das nicht lösbare problem: das modell wird aus einzelnen aktionen aufgebaut, und die beziehungen zwischen diesen aktionen erzeugen eine geometrie. und genau diese ganzen geometrischen beziehungen kosten unendlich rechenleistung und speicher - cad-systeme sind im gegensatz zu spielen nämlich 100% dynamisch in ihrer contenterzeugung. die aktualisierung dieser beziehungen (bei änderungen an der geometrie während des konstruierens) kann selbst bei einfachen modellen schnell mal wartezeiten im minutenbereich verursachen - auch auf aktuellen systemen mit ordentlich ram.
und nicht zu vergessen die interaktion zwischen dem user und den im speicher gehaltenen aktionen...das kostet auch eine menge leistung, die bei entsprechender komplexität jede workstation in die knie zwingt. mit steigender komplexität wird der umgang mit dem programm zäh wie warmer teer.

mein fazit: die grafik hat bei mir noch nie ernsthaft limitiert (notfalls wird halt die anzeigegenauigkeit runtergeregelt), im gegensatz zu speicher, cpu und festplatte.

Gast
2007-01-12, 18:02:29
endlich mal jemand ohne wischi-waschi, danke. : )
als ergänzung: kommt statt regelgeometrie eine hybrid- oder reine freiformflächen-konstruktion, so sieht die cpu-belastung um eine größenordnung schlimmer aus.

ilPatrino
2007-01-12, 18:10:43
das problem dabei ist, daß im gegensatz zu spiele-geometrien körper, flächen u. ä. nicht durch wertetabellen repräsentiert werden, sondern einzig durch mathematische beziehungen. je komplexer die geometrien, desto anspruchsvoller die berechnung.

Low Rider
2007-01-12, 20:03:07
Meine Erfahrung: Ich habe noch kaum ein CAD-Modell gesehen, welches heutige Grafikkartenleistung ausreizt. Man muß schon komplexe Gesamtmodelle verwalten um überhaupt eine für Computer ernstzunehmende Anzahl an Oberflächen zu erzeugen. Bei DaimlerChrysler habe ich mal ein Modell der S-Klasse in Catia gesehen, das bestand aus etwas 5000 Teilen (und war damit stark vereinfacht), ließ sich aber recht annehmbar auf einem recht guten Laptop anschauen. Der hatte zwar eine integrierte Quadro, aber leistungsmäßig kein Vergleich zu aktueller Grafik.
Aber mal ehrlich: Selbst von den Leuten, die täglich CAD benutzen, verwaltet kaum jemand Modelle, die ernsthaft Grafikkartenleistung beanspruchen. Die meisten CAD-Rechner in meiner Uni z.B. haben Low-End-Grafikkarten à la GeForce MX440, mittlerweile vielleicht eine FX 5200 :D OK... die kann sich auch nix besseres leisten, aber ich habe noch keine CAD-Modelle in der Uni gesehen, die da zu anspruchsvoll wären.

Wie schon einer meiner Vorredner sagte: Massig Rechenleistung geht für die Einhaltung geometrischer Beziehungen und Bedingungen flöten. Wenn ich in Catia V5 ein einfaches Metallgittermodell erstelle und dann einen Eckpunkt verschiebe, hat der Rechner gut zu tun. Vor allem RAM kann man nicht geung haben :rolleyes:
Ganz übel wird es wenn man noch FEM dazu nimmt. Der Grafikkarte ist das völlig egal, aber die CPU hat Schwerstarbeit zu verrichten und ohne genug RAM geht auch kaum was (nach einer halben Stunde Herumgerechne, kommt die Fehlermeldung, daß die verbauten 2GB RAM nicht ausreichen :eek: )...

Also ich damals die neue Geforce256 kaufte, war ich AFAIK der einzige, der keine Probleme mit AutoCAD hatte. Bei meinen Klassenkameraden war das CAD ziehmlich empfindlich.

Mittlerweile müsste sich das geändert haben, oder???
AutoCAD? Das läuft bei mir selbst auf nem jahrealten Laptop mit integrierter Grafik super. Das Programm hat doch praktisch keine 3D-Funktionen...

Gast
2007-01-12, 21:42:47
wie stark unterscheiden sich denn profi cad-karten von normalen spielekarten?


hardwaremäßig garnicht sie haben einen anderen treiber.

manchmal gibt es auch leichte unterschiede in der taktung (allerdings nichts wirklich weltbewegendes), und die nächste VRAM-erhöhung gibt es bei profi-karten meistens früher als bei consumerkarten.

tokugawa
2007-01-12, 22:59:29
Mal abgesehen davon sind CAD-Anwendungen schon allein dadurch, dass die Geometriedaten gar nicht in einer "schnellen" Form vorliegen können (wie sie die Grafikkarte benötigen würde), da diese Geometrie immer editierbar bleiben muß, in den meisten Fällen CPU-limitiert ist.

hardwaremäßig garnicht sie haben einen anderen treiber.

manchmal gibt es auch leichte unterschiede in der taktung (allerdings nichts wirklich weltbewegendes), und die nächste VRAM-erhöhung gibt es bei profi-karten meistens früher als bei consumerkarten.

Die teureren "Profi-"karten (ich hasse das Wort, auch reguläre Karten können professionell eingesetzt werden - etwa in der Spieleentwicklung oder Echtzeitgrafikforschung, wo eher "Consumer-/Spielekarten" bevorzugt werden. Ich sehe nicht ein warum CAD-Leute für sich herausnehmen, die einzigen "professionellen" Anwender zu sein) haben manchmal auch zusätzliche Hardwarefeatures wie Genlock oder Framelock.

Die GPUs selbst sind aber tatsächlich meistens diesselben.

ScottManDeath
2007-01-13, 10:39:57
Naja, bzgl. CAD Modelle, wie wäre es denn mal mit dem dem kompletten Boeing 777 Model (http://www.intrace.com/gallery/boeing777.php)mit 350 Mio Dreiecken/ 60 GB (Das soll jetzt keine Propaganda für Raytracing sein)

DX10 macht mit dem Geometry Shader einige Sachen für die CAD/Modellierungstoolbauer leichter bzw effizienter.

Und ja, ich bezeichne Volume Visualization durchaus als professionellen Einsatz, obwohl ich Consumer Karten dafür verwende ;)

Frank
2007-01-13, 10:55:52
Bei DaimlerChrysler habe ich mal ein Modell der S-Klasse in Catia gesehen, das bestand aus etwas 5000 Teilen (und war damit stark vereinfacht), ließ sich aber recht annehmbar auf einem recht guten Laptop anschauen.
Dies ist auch meine Erfahrung ... so enorm viel Grafikperformance bedarf es nicht zwingend. Auch wenn schon allein das Audi Logo im Kühlergrill aus pervers vielen Dreiecken besteht, bügelt dass selbst noch ein Rechner mit FX5600 mühelos auf den Bildschirm. (zumindest in ICEM Surf) CPU Leistung steht dagegen auf einem anderen Blatt Papier. :D

Cherubim
2007-01-13, 16:01:08
Ich arbeite mit SolidWorks und es ist wirklich so:
ne schnelle CPU ist gut, 2 davon sind besser
viel Ram ist nötig, noch mehr besser
n grosser bildschirm. wenn möglich, 2 davon
aja, und was, das den grossen bildschirm mit nem anständigen signal versorgt.


in meinem fall ist das:
dual Xeon 3,2Ghz
2 GB Ram (nicht genug)
21" Eizo CRT @ 1600x1200@100Mhz
und ne X800 Pro


edit:
aja, AutoCat ist auf meinem P3 mobile 1GHz mit 265MB Ram und ner Radeon Mobile (8mb) ausreichend schnell gelaufen ^^

3d
2007-01-13, 16:59:22
21" Eizo CRT @ 1600x1200@100Mhz

ist ja wahnsinn
sonderanfertigung? :biggrin:

warum kommt autocad mit so wenig leistung aus?
das was man zu sehen bekommt ist doch auch 3d oder nicht?

Thanatos
2007-01-13, 17:10:04
ist ja wahnsinn
sonderanfertigung? :biggrin:

Nö, ne ganz normale Röhre, halt aus den professionelleren Reihen.

Gast
2007-01-13, 17:57:05
das was man zu sehen bekommt ist doch auch 3d oder nicht?


klar, nur beschleunigt die grafikkarte in erster linie mal das pixelprocessing, was bei typischen CAD-aufgaben extrem einfach ist (meistens kommen nichtmal texturen zum einsatz, somit wird auch keine texturfilterung gebraucht).

ein großer teil der benütigten leistung geht für die dynamische geometrieerzeugung drauf, was auf der cpu geschehen muss (der geometry-shader in D3D10 bzw. entsprechende OGL-extensions können hier evtl etwas helfen)

Coda
2007-01-13, 18:18:44
das problem dabei ist, daß im gegensatz zu spiele-geometrien körper, flächen u. ä. nicht durch wertetabellen repräsentiert werden, sondern einzig durch mathematische beziehungen. je komplexer die geometrien, desto anspruchsvoller die berechnung.

Ist doch gar nicht wahr. 3D-CAD speichert sein Zeug eigentlich immer in Half-Edge-Form.

3d
2007-01-13, 19:20:45
ja was denn jetzt?
ich bin irgendwie immer noch nicht weiter.

wenn man sich z.b automodelle von neuen spielen aunschaut, dann sehen die doch recht gut und genau aus.

und was machen die ganzen shader- und textureinheiten bei cad?
werden damit irgendwelche formeln berechnet?
denn shadereffekte und texturen gibt es bei cad ja nicht.

Gast
2007-01-13, 20:34:49
wenn man sich z.b automodelle von neuen spielen aunschaut, dann sehen die doch recht gut und genau aus.


nicht mal annähernd vergleichbar, ein auto in einem spiel hat nichtmal annähernd so viele polygone wie ein echtes auto einzelteile hat (wovon jedes einzeln aus hunderten bis tausenden polygonen besteht.

in spielen wird auch nur das vom auto dargestellt was man sieht, in einem CAD-programm muss aber auch das ganze "innenleben" betrachtet werden.


und was machen die ganzen shader- und textureinheiten bei cad?
werden damit irgendwelche formeln berechnet?
denn shadereffekte und texturen gibt es bei cad ja nicht.

die dinger machen je nach ansicht praktisch nichts, in einer schattierten darstellung wird evtl. eine einfache beleuchtungsberechnung verwendet, die im shader beschleunigt werden können, in der drahtgitterdarstellung ist nichtmal das notwendig. die vertexshader werden natürlich benutzt um die polygone zu transformieren, der pixelteil hat aber fast nix zu tun.

3d
2007-01-13, 21:36:20
die dinger machen je nach ansicht praktisch nichts

dann wird der größte teil des chips nicht verwendet und idelt so vor sich hin?
ist doch verschwendung.
kann man die einheiten nicht sinvoll "missbrauchen" ?
und mit USA könnte man dann alle shadereinheiten nutzen?

gibts irgendwo benchmarks zum thema CAD und quadro/fireGL karten?
der G80 müsste dann ja deutlich schneller sein. oder hat nividia noch nix auf G80 basis?

was ist bei einer grafikkarte für CAD wichtig?
was sollte sie besonders gut können?

Gast
2007-01-13, 21:45:20
dann wird der größte teil des chips nicht verwendet und idelt so vor sich hin?
ist doch verschwendung.
kann man die einheiten nicht sinvoll "missbrauchen" ?


für was? bei unified-shader wird es natürlich etwas besser, die hauptlast liegt aber weiterhin bei der cpu.


was ist bei einer grafikkarte für CAD wichtig?
was sollte sie besonders gut können?

vor allem eine schnelle wireframe-darstellung, was keine selbstverständlichkeit ist und in erster linie angepasste treiber verlangt.

Gast
2007-01-13, 22:14:32
wenn man sich z.b automodelle von neuen spielen aunschaut, dann sehen die doch recht gut und genau aus.
In welchem Spiel kann ich denn unter die Motorabdeckung zoomen und das Ventilspiel beobachten? Ich hoffe Du kapierst was ich meine...

ilPatrino@work
2007-01-15, 12:49:10
Ist doch gar nicht wahr. 3D-CAD speichert sein Zeug eigentlich immer in Half-Edge-Form.

ich wollte hier nicht noch weiter verwirren. ja, die wertetabellen existieren, aber nicht in der festgebackenen form wie in spielen (von der cd ab in den graka-ram und fertig), sondern in dynamisch abhängiger coexistenz mit der geometrie und dem userinterface. und damit im arbeitsspeicher als hauptinstanz.

Gast
2007-01-15, 14:06:50
Hier wird noch ein ganz wichtiger Aspekt vergessen, "reale Bandbreite".

100 Mio Dreiecken pro sec != 100 Mio Dreiecken pro sec

Klingt erstmal komisch aber jetzt kommts:

100 Mio Dreiecke zur Graka transportieren ist weitaus lahmer als
100x (die gleichen) 1 Mio Dreiecke.

Bei 12 Byte pro Dreieck ergibt sich
100 Mio Dreiecke -> 1.2 GB VertexDaten
1 Mio Dreiecke -> 12 MB VertexDaten

All diese Daten müssen vom Hauptspeicher in die Grafikkarte.
Bei 5GB/s Interfaceleistung:

100 Mio Dreiecke --> ca. 4 FPS (mehr geht nicht, EGAL welche Graka!)
1 Mio Dreiecke --> >> 100 FPS

Das Interface mag ja schnell sein aber ich kenne kein Consumersystem (auch kein High-End) das auch nur annährend 5 GB/s bei einer großen Datenbasis (z.B. 1.2 GB)
aus den RAMs kontinuierlich auslesen kann. Vergesst einfach all die dummen Benchmarks und Marketingaussagen (z.B. 750 Mio Dreiecke pro sec...), die beziehen sich immer auf sehr kleine Datengrößen die dann eben X-mal pro Sekunde hochgerechnet werden.

Trotz DDR2-xxxx usw. die realen Speichertransferraten liegen heute typischerweise bei ca. 1GB/s. RAM ist einfach LAHM bei großen Datenbasen, aber wer die Technik dahinter mal nachliest weiss auch warum.

Deshalb sieht man ja auch bei modernen Spielen zumeist nur recht wenige Polygone pro Charakter (viele Kreise/-bögen sind einfach furchtbar eckig), eben um die dynamischen Datenmengen zu reduzieren.

Mit Workstationgrakas läßt sich im allgemeinen recht schlecht spielen, da die Treiber für andere Zugriffsmuster optimiert sind.
Häufig wird auch ein Teil der Hardwareunterstützung beim Punkt/Linienzeichnen bei den Consumerkarten abgeschaltet (warum wohl? damit die Marketingabteilung die teuren Workstationgrakas auch an den Mann bringen kann!!!).
Trotzdem sind paar Mio Punkt und Linien überhaupt kein Problem, schon gar nicht wenn die Daten statisch auf der Graka liegen. Bei Daten im Hauptspeicher kommen dann eben irgendwann mal stärker die Bandbreiten von RAM und GrakaInterface zum Tragen.