Antworten auf deine Fragen:
Neues Thema erstellen

[R14] - Eine Idee für die Beschleunigung des Physical-Renderers...

Samson71

Nicht mehr ganz neu hier

Ich habe mich mal etwas mehr mit dem Physical-Renderer von C4D-R14 beschäftigt, in der Hilfe gibt es ja einige Tips wie man zu schnellen Ergebnissen kommen kann.

So sollte man alle Samples-Unterteilungen in den Rendereinstellungen auf 0 setzen, nur wenn man den Physical-Renderer in Fortschreiten benutzt.

Dies finde ich echt toll, so kann man einen Ausschnitt Rendern und sehen wie viele Passes berechnet werden müssen um in den ausgewählten Bereich ein gutes Ergebnis zu bekommen, dabei ist mir aber aufgefallen das es in der Ansicht Bereiche gibt die schon nach ca. 20-30 Passes sehr sauber und Homogen aussehen, aber andere Bereiche locker 100 und mehr Passes brauchen bis es dort sauber und Homogen aussieht.

Nun kam mir die Idee für eine Erweiterung oder Verbesserung des Physical-Renderers.

Wenn man den PR im Modus Fortschreiten arbeiten lässt, sollte noch eine weitere Option möglich sein, eine Schwellwert Einstellung.

Der PR fängt ja immer links oben mit dem Rendern an, nach dem man beim ersten Pass den Aufbau noch verfolgen kann, werden die weiteren Passes im Hintergrund berechnet und wenn der dann fertig ist, im Bild-Manager oder Editor angezeigt.

Was soll nun der von mir vorgeschlagene Schwellwert machen, das ist einfach gesagt.

Nehmen wir mal an, man stellt ihn auf 50% ein, nun ist der erste Pass durch und der PR rechnet den nächsten Pass, da dies auch in sogenannten Blöcken geschieht, wie man es ja vom normalen Standard-Renderer gewohnt ist, kann nur ja noch eine zwischen Prüfung statt finden.

Da der folgende Pass immer im Hintergrund berechnet wird, kann der PR ja nach dem ein Block vom aktuelle Pass fertig berechnet ist, diese mit dem vorherigen Block vergleichen, also Pixel für Pixel, unterscheiden sich nun die Pixel weniger als von den festgelegten Schwellwert, wird dieser Block in der nächsten Pass nicht mehr berechnet.

So würde die Renderzeit verkürzt werden, den es werden ja immer weniger Blöcke berechnet, den mit so einen Schwellwert kann man selber entscheiden wann für einen das Bild sauer und Homogen genug ist.

Klar das Beispiel mit den 50% würde keine gute Qualität liefern, aber wenn z.b. der Pixel unterschied nur noch 20% oder 10% ausmacht, ist das schon eine Steigerung, deshalb soll man ja diesen Wert selber festlegen können.

So kann man sagen, es sollen Maximal 100 Passes berechnet werden, aber wenn die Qualität vorher schon erreicht wird, kann der PR die Berechnung beenden und z.b. bei einer Animation mit dem nächsten Bild beginnen.

Was haltet Ihr von dieser Idee?
 

KBB

Mod 3D | Blaubaer

Teammitglied
AW: Eine Idee für die Beschleunigung des Physical-Renderers...

Hallo Samson

Der PR fängt ja immer links oben mit dem Rendern an
Das tut er auch nur im fortschreitenden Modus. Sonst kannst Du die Bucketreihenfolge, die hier keine Rolle spielt, weil keine benutzt werden, in den Optionen festlegen.

Nehmen wir mal an, man stellt ihn auf 50% ein, nun ist der erste Pass durch und der PR rechnet den nächsten Pass, da dies auch in sogenannten Blöcken geschieht, wie man es ja vom normalen Standard-Renderer gewohnt ist, kann nur ja noch eine zwischen Prüfung statt finden.
Wie gesagt, keine Buckets hier. Die Berechnung wird anders durchgeführt.

So würde die Renderzeit verkürzt werden, den es werden ja immer weniger Blöcke berechnet, den mit so einen Schwellwert kann man selber entscheiden wann für einen das Bild sauer und Homogen genug ist.
M.E. tut der PR genau das (ich habe einige hierfür imo unwichtigere Passagen gestrichen):

Sampler

Was macht ein Sampler? Das englische Wort "to sample" bedeutet abtasten. Damit ist im Grunde auch schon alles gesagt: die im Arbeitsspeicher befindliche Szene wird aus Kamerasicht in einem Pixelraster abgetastet. Dabei muss der Sampler entscheiden, in welchen Bereichen im Zuge der Kantenglättung bzw. bei Unschärfeeffekte zusätzliche Samples genommen werden müssen, um diesen Effekt in einer entsprechenden Qualität abbilden zu können.

Die folgenden Sample-Einstellungen dienen zur Kontrolle der zu berechnenden Samples. Es gilt überwiegend: je mehr Samples an kritischen Stellen genommen werden, desto besser ist am Ende das Ergebnis (aber auch länger die Renderzeit). In aller Kürze:


Fortschreitend: Dieser Sampler kann unendlich lange rendern (es werden also fortwährend neue Samples berechnet). Je länger er rendert, desto besser werden Antialiasing und Unschärfeeffekte wie Schärfentiefe, Bewegungsunschärfe, Matteffekte berechnet.

Dabei geht es aber nicht nur um AA und Unschärfeeffekte, sondern auch um Licht und Schatten. Wenn Du schon Ausschnitte gerendert hast, wirst Du festgestellt haben, dass ein Ausschnitt, der keine Kontraste aufweist (fürs AA wichtig) und im Licht liegt, viel schneller berechnet wird, als einer, der im Schatten liegt und die übrigen o.g. Voraussetzungen der AA und Unschärfe erfüllen. Es gibt ja noch etliche Bereiche mehr, wo Samples eine große Rolle spielen.
Diese beschleunigte Berechnung weist darauf hin, dass tatsächlich nur dort länger oder überhaupt noch berechnet wird, wo es nötig ist. In den schon guten rast der Renderer nur so drüber.

So kann man sagen, es sollen Maximal 100 Passes berechnet werden, aber wenn die Qualität vorher schon erreicht wird, kann der PR die Berechnung beenden und z.b. bei einer Animation mit dem nächsten Bild beginnen.
Wie gesagt, ich glaube, dass genau das geschieht, nur dass kaum noch Einfluss nehmen kann, da man ja schon die übrigen Sample Parameter auf 0 gesetzt hat. Damit rechnen die kritischen Bereiche länger als nötig.

Bei "fortschreitend" steht übrigens auch noch etwas sehr interessantes:

Dieser Rendermodus ist für CINEMA 4D etwas völlig neues und unterscheidet sich stark von den gewohnten Rendermodi, bei denen nach einer gewissen, endlichen Zeit ein Bild fertig gerendert ist. Fortschreitend kann unendlich lange rendern, wobei sich mit zunehmender Renderzeit das Ergebnis immer weiter verbessert. Das ist dann weniger bei homogenen Farbflächen zu beobachten, sondern primär bei Unschärfeeffekten wie Schärfentiefe, Bewegungsunschärfe, Flächenschatten, Matteffekten, aber auch Antialiasing. Das anfangs körnige Bild wird immer unkörniger, also homogener.

...

Der Modus eignet sich primär gut für schnelle Vorschaurenderings, da Sie hier schon nach sehr kurzer Zeit das Bild in seiner Gänze beurteilen können. Mit keiner anderen Methode erhalten Sie so schnell eine über die komplette Bildfläche (zwar zu Beginn reduzierter Qualität) gerenderte Abbildung. Hierzu würde es sich auch anbieten, die Unterteilungs-Parameter weiter unten im Dialog alle auf 0 zu stellen. [Im Klartext: diese Einstellung ist NUR für die Vorschau gedacht!]

Würden Sie unendlich lange rendern lassen, würde es stets zu einem perfekten, unkörnigen Bild kommen. Allerdings ergeben sich schon sehr lange VOR der Unendlichkeit sehr gute Ergebnisse. Nur kann es dazu unter Umständen länger dauern, als wenn Sie einen der anderen Rendermodi verwenden.
...

Gerade der letzte Satz weist darauf hin, dass diese Methode nicht die geeignetste für ein schnelles UND gutes Ergebnis ist, dass also in den beiden anderen Modi noch mehr Einfluss auf die Bereiche, die mehr Rechenzeit brauchen, genommen werden kann.
 
Zuletzt bearbeitet:

Samson71

Nicht mehr ganz neu hier

AW: Eine Idee für die Beschleunigung des Physical-Renderers...

Also erst mal danke für deine sehr Ausführliche Erläuterung.

Was das Bucket-Rendern angeht, denke sehr wohl das der PR dies auch so macht.

Was es mit den Samples auf sich hat, ist mir bekannt, um so höher der Wert in den Render-Einstellungen um so besser das Ergebnis, klar das man diesen PR-Fortschreiten nur mehr oder weniger als Vorschau nutzen sollte, um mal eben schnell das Licht-Setup zu testen.

Der PR Rendert wie alle in C4D die komplette Szene, egal ob an einer stelle schon eine Maximale Qualität erreicht ist oder nicht, den wenn es nicht so wäre, müsste ja die Zeit die zwischen 2 Passes liegt, immer wieder Schwanken, aber die Zeit die ein Pass zum Rendern braucht ist immer gleich.

Ich habe mal ein Test-Rendering gemacht.

Alle Bilder haben eine Auflösung von 800x600 und sind mir dem PR-Fortschreiten-Modus gerendert und wurden in der Renderzeit beschränkt, für beide Bilder hatte der PR 1 Minute Zeit.

Ich habe die Test-Szene bewusst so aufgebaut das es auch einen großen Bereich gibt der schon nach wenigen Passes sehr sauber und Homogen aussieht, also von weiteren Passes nicht profitiert.

In der Szene gibt es eine Spiegel, Flächenschatten, eine Glasplatte mit Mat Eigenschaften und halt die 3 Grundobjekte, Würfel, Kegel und Kugel.

Bild 1
-----
In 1 Minute wurden insgesamt 31 Passes berechnet.

Bild 2
-----
Es ist nur ein Bereich der Szene, wurde mit dem Interaktiv-Rendern im Editor eingestellt und dann in den Renderer übernommen.

Auch hier wurde nur 1 Minute lang gerendert, aber es wurden insgesamt 53 Passes berechnet, aber der übrige Bereich der Szene, also der linke untere Teil war schon nach ca. 10 Passes sauber und Homogen.

Bild 3
-----
Das Bild habe ich in Photoshop erstellt, es besteht aus Bild 1 und Bild 2 wurde hier überlagert, um halt dann im Bildmanager von C4D einen besseren Vergleich zwischen den beiden Bildern zu machen.

Bild 4
-----
Hier sieht man wo die Unterschiede in den beiden Renderings sind, diese sind hauptsächlich in den Objekt-Kanten, Schatten, Spiegelung und Matten zu sehen.

Bild 5
-----
Ist das selbe wie Bild 4 nur halt Invertiert um es deutlicher sehen zu können

Wie man sieht gibt es am Boden des Spiegels kaum noch unterschiede und dennoch wird dieser Bereicht immer weiter mit berechnet.

Deshalb meine Idee mit dem Schwellwert, dieser würde hier dann anschlagen weil der unterschied 20% oder weniger beträgt, und somit nicht mehr berechnet werden muss.

 

KBB

Mod 3D | Blaubaer

Teammitglied
AW: Eine Idee für die Beschleunigung des Physical-Renderers...

OK. In Deinem Text stecken noch ein paar Denkfehler, aber ich kann die Verbesserung durch einen Schwellwert jetzt nachvollziehen.
Für den produktiven Renderalltag wird das ungeeignet sein; der fortschreitende Modus unterliegt einer Art brute force Methode, saubere Animationen werden wie horcon schon sagte selbst mit Schwellwert nicht möglich sein. Edit: und auch nicht nötig. Dazu gibt es ja schon den adaptiven Modus.
Aber um eine schnelle Vorschau nochmal zu beschleunigen, dafür ist es sicher hilfreich.
 
Zuletzt bearbeitet:

Samson71

Nicht mehr ganz neu hier

AW: Eine Idee für die Beschleunigung des Physical-Renderers...

Ja genau, den der PR Fortschreiten-Modus ist für eine Vorschau doch eine ecke schneller, kann mich da auch täuschen.

Den warum sollte in der Vorschau große Flächen noch weiter berechnet werden, die sich eh kaum noch ändern, aber da wo es ja beim Rendering drauf ankommt, in ecken und an kanten so wie in Schatten, Matte Spiegelungen oder Matte Transparenzen, da ist es wichtig schauen zu können ob da alles Optimal ist.

Wenn dann in der Vorschau so weit alles Optimal ist kann man ja die Render-Einstellungen festlegen und richtig Rendern und ist dann hinterher weniger enttäuscht wenn das Ergebnis.

Wäre schön wenn Maxon dies in der nächsten Version oder in ein Update Integrieren könnte.
 

KBB

Mod 3D | Blaubaer

Teammitglied
AW: Eine Idee für die Beschleunigung des Physical-Renderers...

Dann schreib ihnen das. Ich könnte mir vorstellen, dass sie auch schon an einer CPU/GPU Vorschau arbeiten, wie das in einigen anderen 3D Progs schon umgesetzt ist.
 
M

mp5gosu

Guest

AW: Eine Idee für die Beschleunigung des Physical-Renderers...

Weil ein Imagesampler nich bereichsbezogen arbeitet, sondern immer mit der ganzen Szene. Es ist technisch nur mit großem Aufwand möglich, Teilbereiche progessiv zu samplen. Dazu bräuchte man beispielsweise ne imaginäre Kugel.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.636
Beiträge
1.538.485
Mitglieder
67.559
Neuestes Mitglied
hanuta
Oben