Windows Server-Betriebssystem im Vergleich zu Windows Desktop-Betriebssystem für eine beständige 3D-Anwendung

761
David

Als Teil eines Projekts, an dem ich arbeite, möchte ich eine Unity3D-Anwendung auf einem Server installieren, der rund um die Uhr laufen soll. Diese Anwendung akzeptiert eingehende Anforderungen einfach über Sockets, rendert Bilder (das schnelle Rendern hat die höchste Priorität) und gibt gerenderte Bilder über Sockets zurück.

Welches Betriebssystem sollte ich dafür verwenden? Linux wird von Unity3D noch nicht vollständig unterstützt, weshalb die Wahl auf Windows Server von Windows Desktop fällt.

Ich habe nicht viel Erfahrung mit so etwas, aber aus meiner eigenen Forschung habe ich festgestellt, dass es zwei Möglichkeiten gibt, dies zu tun:

A) Installieren Sie Windows Server und basteln Sie damit, damit die 3D-Beschleunigung funktioniert.

B) Installieren Sie Windows Desktop und basteln Sie es, um es schneller / stabiler zu machen.

Welches würdest du empfehlen? Gibt es Kompromisse in Bezug auf Stabilität und / oder Leistung bei einer dieser Entscheidungen?

0
Wenn es einen bestimmten Zweck erfüllt und rund um die Uhr verfügbar ist, würde ich Server empfehlen. Abhängig von der verwendeten Hardware sollte es nicht zu viel Nacharbeit geben, um die Beschleunigung von £ D zum Laufen zu bringen. Ich nehme an, dass Sie professionelle 3D-Karten wie Quadro anstelle einer Gaming-Karte verwenden. CharlesH vor 9 Jahren 0
Wir haben festgestellt, dass High-End-Karten für unsere Bedürfnisse ausreichend sind. David vor 9 Jahren 0
Es kann schwieriger sein, Treiber für die Spielkarten als Karten wie Quadro zu erhalten. Wenn Sie jedoch das jeweilige Kartenmodell kennen, können Sie prüfen, welche Treiber auf der Nvidia / ATI-Website unterstützt werden. Da Sie keinen Remote-Desktop-Zugriff benötigen, brauchen Sie sich nicht mit RemoteFX oder sonst etwas zu beschäftigen, was schwierig sein kann. Ich würde sagen, wenn Sie den Treiber Windows Server verwenden können, wenn Sie den Treiber für die betreffende Karte nicht erhalten können, muss es Windows Desktop sein ... CharlesH vor 9 Jahren 0
Es gibt nur zwei Dinge, die Sie in einem solchen Fall wirklich berücksichtigen sollten. Die erste Grafikkarte für den Consumer-Bereich erfüllt Ihre Rendering-Anforderungen. Im zweiten Schritt werden die Hardwareeinschränkungen (verbundene Clients, CPU und Arbeitsspeicher) einer Windows-Version auf Verbraucherebene Ihren Anforderungen entsprechen. Natürlich gibt es ein drittes Anliegen. Windows Server ist nicht billig. Wenn der Preis ein Problem ist, sollten Sie diese Option ausschließen. Ramhound vor 9 Jahren 0

2 Antworten auf die Frage

1
shawty

Meine Empfehlung wäre eine Desktop-Maschine.

An einem früheren Ort, an dem ich gearbeitet habe, hatten wir eine Echtzeit-3D-Grafik der Commits / Breaks auf einem Versionskontrollserver (Dies ist 2009), und wir stellten schnell fest, dass es einen großen Unterschied zur Stabilität von 3D-Grafiken auf einem Server gab Desktop-System im Gegensatz zu einem Server-System.

Desktop-Systeme sind für Endbenutzer konzipiert, und von Endbenutzern wird erwartet, dass sie Dinge wie Spiele und ausgefallene Grafiken ausführen möchten. Daher bieten die Grafik-Subsysteme in einem Desktop-Build mehr Sicherheitsvorkehrungen, um das Auftreten von Problemen zu verhindern.

Viele Desktopsysteme sind auch nicht so konzipiert, dass sie ohne Kopfhörer auskommen. Daher werden viele Grafiktreiber ihre Hardware aktiv auf Abstürze und Überhitzung überwachen und den Treiber neu laden / wiederherstellen, damit der Benutzer des Systems sehen kann, was er tut Abhilfemaßnahmen ergreifen.

Server-Builds dagegen sind so ausgelegt, dass sie lange Zeiträume ausführen, oft ohne dass eine Anzeige angeschlossen ist. Software zum Wiederherstellen eines fehlerhaften Anzeigetreibers ist daher möglicherweise nicht so wichtig, zumal die meisten Windows-Server ihre Grafikausgabeschicht für den Zugriff von aussen angepasst haben eine Workstation mit Remote Desktop.

Schließlich wurde bei Desktop-Builds das Grafik-Subsystem aus dem Kernel-Code entfernt. Auch wenn dies für Server-Builds weitgehend gilt, besteht ein höheres Risiko, dass bei einem Server-Build ein Grafiktreiber abstürzt, der mehr Probleme verursacht, die einen Neustart des Computers erfordern Es ist auf einem Desktop Build.

Das einzige Problem, das bei einem Desktop-Build auftreten kann, ist die Anhäufung von Rohstoffen. Temporäre Dateien werden aufgebaut, Windows indiziert den Suchindex usw., und ich wage es zu behaupten, dass Desktop-Builds zumindest gelegentlich neu gestartet werden müssen.

Mein Büro-PC (eine 64-Bit-Windows 7-Maschine) ist jedoch fast rund um die Uhr verfügbar, und er ist ständig im Einsatz, aber normalerweise bekomme ich etwa einmal im Monat einen manuell gesteuerten Neustart.

Wenn auf dem System keine andere Aktivität vorhanden ist und nur Ihre 3D-Anwendung ausgeführt wird und Sie nicht unbedingt benötigte Dienste wie die Windows-Suche deaktivieren, sollten Sie in Ordnung sein.

Implementieren Sie eine manuelle Richtlinie, um die Sache einmal im Monat neu zu starten, um Updates und dergleichen zu installieren.

Was die Netzwerkleistung betrifft, so habe ich auch auf meinem Büro-PC eine Reihe von IIS7-Sites, die ich für die Überwachung meiner anderen Computer verwende. Auf viele davon habe ich aus der Ferne Zugriff, zum Beispiel von meinem Laptop, und es funktioniert perfekt für interne Tools, die es haben höchstens 100 Benutzer.

Sorry, verstehe deine Frage nicht, kannst du das erklären? shawty vor 9 Jahren 0
Ja, was gerendert wird, ist dasselbe, aber wenn Sie sich die Dokumentation im Windows C / Asm Device-Treiberkit zusammen mit den Beispielen ansehen, werden Sie feststellen, dass es einen großen Unterschied gibt, wie Desktop- und Server-Builds tatsächlich mit dem Gerätetreiber umgehen. Der Gerätetreiber ist aus App-Perspektive konzipiert, sei es DX, OGL oder Unity, um eine konsistente API bereitzustellen. Genau das bietet Windows als Betriebssystem. Wenn Ihre Stabilität im Gespräch jedoch besorgt ist, insbesondere bei einer Consumer-GFX-Karte als OP, dann ist ein Desktop-Build aus Sicht der Treiberebene das Beste. shawty vor 9 Jahren 0
Es gibt viel zu viel Lärm für diese Antwort, um sehr hilfreich zu sein, und daher kann ich sie nicht bewerten. Wenn / Wenn die Antwort akzeptabel ist, werde ich sie bestätigen. Ich habe mich entschieden, meine Kommentare zu löschen, da der Benutzer sich nicht verbessern möchte. Ramhound vor 9 Jahren 0
Das ist deine Entscheidung, ich bitte dich nicht, dafür zu stimmen. Du bist ein freier Mann, tu was du willst :-) Es wird andere geben, die es interessant finden, und im Laufe der Zeit werden es andere geben, die mitkommen und entweder abstimmen oder abstimmen werden. Einige Leute nehmen Stack und das Spielsystem ist zu ernst, ich bin nur hier, um Leuten zu helfen. Wenn du dich verbessern willst, dann verbessere, poste deine eigene Antwort und reiße meine auseinander, wenn du das Gefühl hast, dass du tun musst, dass es eine freie Welt ist. shawty vor 9 Jahren 0
1
David

CharlesH wies darauf hin, dass nicht alle Grafikkarten von Windows Server unterstützt werden. Ich konnte keine Windows Server-Treiber für die Karten finden, die wir verwenden möchten. Laut Kollegen sind Quardo-Karten und dergleichen (die über Windows Server-Treiber verfügen) nicht für unsere beabsichtigten Zwecke geeignet. Es scheint also, dass Windows Desktop unsere einzige Option ist.