Cinema 4D: Client Software für Anbindung über WWW:


 

Es besteht die Möglichkeit, weitere Cinema 4D Clients auch übers Internet an meine C4D-Server anzukoppeln, und damit die Renderkapazität entsprechend zu erhöhen. Dieses ist nur mit einem aktiven Render-Acount gekoppelt, das heißt, das nicht jeder beliebig sich als Client mit ankoppeln kann, um damit z.B. an fremdes Bildmaterial oder andere Daten zu gelangen. Zur Einrichtung eines Accounts bitte mit mit Kontakt aufnehmen.

 

Renderkunden, die selber ein Cinema 4D XL-, bzw. StudioBundle-Paket besitzen, haben auch die entsprechende Client Software, um sich an einen Render-Server anzukoppeln. Der RenderServer ist in diesen Paketen ebenfalls mit enthalten. (Ich selber habe hier das StudioBundle ohne Beschränkung). Für diese Renderkunden ist die Anbindung an meinen Renderservice nur interessant, wenn wie bei XL die Anzahl Clients auf 3 beschränkt ist, bzw. keine eigenen zusätzlichen Rechner und Infrastruktur für eine eigene Renderfarm vorhanden ist.
Hier kann dann zumindest der eine, oder die wenigen vorhandenen Rechner, zusätzlich als Clients zur Unterstützung mit eingebracht werden. Diese Clients sind anhand der folgenden Randbedingungen zu konfigurieren.

 

Renderkunden, die nur das Grundpaket von Cinema 4D besitzen, haben nur die Möglichkeit Ihre Animationen über einen externen Renderservice durchführen zu lassen.

 

Wer die Client Software nicht hat, kann unter Rücksprache, diese im entsprechenden Account zum Download abgelegt bekommen.

 

Randbedingungen für Client Ankopplung übers Internet und Netwerkkonfigurationen:

Damit ein Client übers Internet an meinen Server angekoppelt werden kann und auch entsprechend mitrendern kann, sind einige Voraussetzungen zu erfüllen.

Diese Bedingungen sind in dem Paket zum downloaden schon enthalten, bis auf die Punkte, die im Kunden-Netwerk noch zu gewährleisten sind.

  1. In der Client.INI Datei ist als Server-Adresse www.arnoldkoerner.dyndns.org mit Server-Port 8080 für Cinema 4D R8.503, bzw. Server-Port 8090 für Cinema 4D R9 anzugeben. Hierüber wird eine dynamische IP über www.dyndns.org mit statischem DNS-Name versehen. Damit kann die IP des Servers wechseln, ohne das die Verbindung dauerhaft abreist.
  2. Wenn der Client Rechner entsprechende Firewall-Einstellungen, bzw. ein Netwerk-Router beim Kunde vorliegt, muß der entsprechende Port (bei mir zur Zeit 1800 für Cinema 4D R8.503 und 1090 für Cinema 4D R9) freigeschalten werden, damit auch wirklich ein aktiver Renderlauf gestartet werden kann, und nicht nur die Connect-Verbindung als OK gemeldet wird.
  3. Da in der Regel die IP-Zuweisung eines Internet-Zugang vom Provider nur dynamisch vergeben wird (feste IP ist schweineteuer), ist es ratsam, bei www.dyndns.org sich einen freien Account einzurichten, so wie ich es für meine Server-Seite getan habe. Diese Kundenadresse (www.)kundenname.dyndns.org dann als Clientadresse in die Client.INI mit einzutragen.
  4. Falls ein größeres Firmen-Netzwerk vorliegt, in dem der Client betrieben werden soll, gibt es Probleme, wenn ein intolleranter Proxy mit im Pfad liegt. Firmen müssen aus Sicherheitsgründen hier eine strenge Filterung vornehmen, was auch sehr verständlich und sinnvoll ist. In einem solchen Fall wird mit Sicherheit keine Verbindung zu meinem Server aufgebaut werden können. Solche Firmen haben in der Regel selber genug Rechner und Finanzmittel um sich Cinema4D StudioBundle zu kaufen und eine eigene gekapselte Intranet-Renderfarm aufzubauen, und sind nicht auf meinen Service angewiesen.
  5. Jeder Client braucht seine eigene IP, und Port um eindeutig vom Server zurückadressiert werden zu können. Wenn der Renderkunde ein eigenes Netzwerk mit mehreren Rechnern hat, das über einen Router ans Internet angeschlossen ist, so ist nur eine IP, bzw DNS-Zuweisung vorhanden. Um hier mehr als ein Client betreiben zu können, muß sich dann jeweils der Rückport der einzelnen Rechner unterscheiden (z.B.: 1800,1801,1802,... oder 1090,1091,1092,1093,...). Diese Ports sind entsprechend alle im Router freizuschalten, damit das Rendern auch auf allen Clients von meinem Server aus gestartet werden kann.

 

Probleme mit Voraussetzung von Plugins, die auch beim Rendern wirksam sind:

Aus Lizenzrechlichen Gründen können in dem Downloadpaket für die Client-Software keine zu lizensierenden Plugins mit vorhanden sein, die ev. auch zum Rendern notwendig sind. Ein Austausch von freien Plugins von und zum Kunden stellt kein Problem dar.

Wenn der Renderkunde ein solches lizensiertes Plugin mit einsetzt, muß er es dieses selbst mit in die Plugin-Ordner der Clients zur Verfügung stellen.

Handelt es sich um ein Plugin, welches nicht bei mir auf dem Server und meinen Clients mit vorliegt, so kann dieses in der Regel nicht verwendet werden, da sonst meine Clients streiken.. In diesem Fall kann der Kunde mit mir in Kontakt treten, um mich zu überzeugen, sodaß ich dieses dann auch unbedingt haben will (sofern nicht zu teuer im Verhältnis zum Nutzen).

Viele Pluginprobleme lassen sich dadurch lösen, das die betreffenden Objekte entsprechend konvertiert (Polygonobjekte) werden, bzw. bestimmte Anteile "gebacken" werden. In der Regel wird dadurch auch der Renderlauf wesentlich beschleunigt.

Bei weiter bestehenden Problemen, muß über das Projekt entsprend diskutiert werden, wie es am besten umzustellen geht um diesen Plugin-Problemen aus dem Weg zu gehen.

 

Probleme mit Resourcen der Client-Rechner:

Als Client-Rechner sollte nicht ein alter betagter Rechner verwendet werden. Hier ist die volle Performance eines Rechners gefordert.
Der Rechner sollte eine möglichst aktuelle schnelle CPU besitzen (nicht unter PIII 1GHz), sowie genügend RAM Onboard haben (min 512MB).

Bei Animationen können einige wenige Bilder entweder wesentlich längere Renderzeit, oder auch Speicherresoucen benötigen, als der gesammte Durchnitt.

Hierdurch bedingt, kann es zu Fehlerabbrüchen schwächerer Clients kommen. Sofern kein prinzipieller Fehler vorliegt kann so ein Client wiederum erneut nachgestartet werden, in der Hoffnung, das die kritischen Bilder mittlerweile einem stärkeren Client zugeschlagen wurden. Kann kein Client die kritischen Bilder berechnen (mein Speicherausbau ist zur Zeit max. 1GB und min. 512MB), so sollte das Projekt nochmals nachoptimiert werden.

 

Probleme mit langsamer Internet Anbindung:

Wenn ein Renderlauf gestartet ist, und auch die extern angekoppelten WWW-Clients eines Kunden mitrendern, kann es zu Zeitproblemen bei der Übertragung der Bilder von den externen WWW-Clients zu meinem C4D-Server kommen. Dieses Problem ist in der Regel mit der Upload Geschwindigkeit der Kunden-Ankopplung ans Internet gekoppelt. Zur Zeit kann meine Ankopplung ein Download (Übertragung zu mir) mit ~512KBit/sec ==> max. 60KByte/sec verkraften (hoffe demnächst wieder zu 2MBit/sec wechseln zu können ==> max. 240KByte/sec). Wenn jetzt z.B. ein Kunde nur einen alten TDSL Anschluss mit 768/128KBit/sec vorliegen hat, so kann die Übertragung nur mit max. 15KByte/sec durchgeführt werden.
Bilder in DV-PAL-Format haben in der Regel so ~700KByte Größe, das heißt, das hier pro Bild ~47sec für die Übertragung zum Server anzusetzen sind. Da der Client mit 100% CPU-Last läuft und auch erst nach kompletter Berechnung die Übertragung zum Client startet, sollte man hier von ~1 min pro Bild ausgehen.

 

Hier kann es schnell zu einem Übertragungsstau kommen.
Das heißt, das die Berechnung schneller läuft als die Übertragung. In diesem Fall werden die berechneten Bilder im Katalog "Results" zwischengespeichert, bis sie zum Server übertragen werden konnten.
Ist nun die eigentliche Berechnung fertig, so fallen die fertigen Clients in der Regel recht schnell vom Status BUSY in WAIT zurück. Die WWW-Clients mit Übertragungsstau hingegen verweilen so lange in Status BUSY, dis alle Bilder auch tatsachlich zum Server hin übertragen wurden.
In dieser Zeit sollte der Client nicht abgeschalten/beendet werden, da sonst die Berechnung als verworfen gilt.

 

Wird ein WWW-Client vorzeitig abgeschalten, bevor alle Bilder übertragen wurden, so werden diese nicht übertragenen Bilder (die vorher in der Clientseite als Berechnung und als Thumbnail angezeigt wurden) vom Server als verworfen angesehen, und werden nochmals als zu rendern besetzt und den noch vorhandenen Clients erneut zur Berechnung zugeschlagen. In diesem Fall wird die Berechnung doppelt durchgeführt, was eigentlich nicht im Sinne des Erfinders ist, aber so definiertes Verhalten der Server/Client-Berechnung ist.

 

Wurde ein WWW-Client zu früh (im BUSY-Zustand) abgeschalten/beendet, sodass Bilder im Katalog "Results" liegengeblieben sind, sollten diese Bilder vor einem weiteren neuen Renderlauf gelöscht werden, da diese sonst den neuen Renderlauf sehr negativ beeinflussen.