W ramach projektu, nad którym pracuję, chcę umieścić aplikację Unity3D na serwerze, przeznaczoną do pracy 24/7. Ta aplikacja po prostu przyjmuje przychodzące żądania za pośrednictwem gniazd, renderuje obrazy (szybkie renderowanie ma najwyższy priorytet) i zwraca renderowane obrazy za pośrednictwem gniazd.
Jakiego systemu operacyjnego należy użyć do tego? Linux nie jest jeszcze w pełni obsługiwany przez Unity3D, więc wybór sprowadza się do Windows Server pulpitu Windows.
Nie mam dużego doświadczenia z tego typu rzeczami, ale z własnych badań wywnioskowałem, że istnieją dwa sposoby, aby to osiągnąć:
A) Zainstaluj Windows Server i majstruj z nim, aby przyspieszyć działanie 3D.
B) Zainstaluj pulpit systemu Windows i dobierz go, aby był szybszy / stabilniejszy.
Które zaleciłbyś? Czy istnieją jakiekolwiek kompromisy dotyczące stabilności i / lub wydajności w odniesieniu do jednego z tych wyborów?
Odpowiedzi:
Moim poleceniem byłby komputer stacjonarny.
W poprzednim miejscu, w którym pracowałem, mieliśmy w czasie rzeczywistym wykres 3D commits / breaks na serwerze kontroli wersji (To jest w 2009 roku) i szybko stwierdziliśmy, że istnieje duża różnica w stabilności grafiki 3D na system komputerowy w przeciwieństwie do systemu serwera.
Systemy komputerowe są przeznaczone dla użytkowników końcowych, a od użytkowników oczekuje się, że będą robić takie rzeczy, jak gry i fantazyjne elementy graficzne, więc podsystemy graficzne w wersji na komputery stacjonarne mają więcej zabezpieczeń zapobiegających występowaniu problemów.
Wiele systemów biurkowych nie jest zaprojektowanych tak, aby były bezgłowe, więc wielu sterowników graficznych aktywnie monitoruje ich sprzęt pod kątem awarii i przegrzania, a także ponownie ładuje / odzyskuje sterownik, aby użytkownik systemu mógł zobaczyć, co robi, aby podjąć działania naprawcze.
Z drugiej strony, wersje serwerowe są zaprojektowane tak, aby działały przez długi czas, często bez podłączonego wyświetlacza, więc oprogramowanie do odzyskiwania błędnego sterownika ekranu może nie być tak ważne, zwłaszcza, że większość serwerów Windows ma swoją warstwę wyjściową grafiki dostrojoną w celu uzyskania dostępu od stacja robocza korzystająca ze zdalnego pulpitu.
W końcu, kompilacje desktopów mają usunięty podsystem graficzny z kodu jądra, a chociaż jest to w dużej mierze prawdziwe w przypadku wersji serwerowych, istnieje większe ryzyko awarii sterownika graficznego na serwerze, co powoduje więcej problemów, które wymagają ponownego uruchomienia komputera niż jest na kompilacji pulpitu.
Jedynym problemem, jaki można napotkać przy budowaniu na komputerze stacjonarnym, jest nagromadzenie crudu. Tworzenie tymczasowych plików, uruchamianie indeksów w indeksie wyszukiwania itp. Tak, śmiem twierdzić, że kompilacje na komputery stacjonarne wymagają przynajmniej krótkiego restartu.
To powiedziawszy, mój komputer biurowy (64-bitowy komputer z systemem Windows 7) pozostaje włączony przez 24 godziny na dobę i jest w ciągłym intensywnym użytkowaniu, ale zwykle robię to ręcznie, wykonując kontrolowany restart około raz w miesiącu.
Jeśli nie ma innej aktywności w systemie i tylko uruchomiona aplikacja 3D, i tak długo, jak wyłączasz nieistotne usługi, takie jak wyszukiwanie okien, powinieneś być w porządku.
Zaimplementuj ręczną politykę, aby raz w miesiącu uruchamiać coś w celu zainstalowania aktualizacji i podobnych, a wszystko powinno być w porządku.
Jeśli chodzi o wydajność sieci, to znowu na moim komputerze biurowym Mam wiele witryn IIS7, których używam do monitorowania innych moich komputerów, wiele z nich mam zdalny dostęp z takich rzeczy jak mój laptop i wszystko działa idealnie dobrze dla wewnętrznych narzędzi, które mają maksymalnie 100 użytkowników.
źródło
CharlesH zwrócił uwagę, że nie wszystkie karty graficzne są obsługiwane przez Windows Server. Nie mogłem znaleźć sterowników Windows Server dla kart, które zamierzamy użyć. Według kolegów, karty Quardo i tym podobne (które mają sterowniki Windows Server) nie nadają się do naszych zamierzonych celów. Wygląda na to, że Windows Desktop jest naszą jedyną opcją.
źródło