Wersja silnika komputerowego Arcan 0.6.2

Po roku prac wypuszczono silnik stacjonarny Arcan 0.6.2, który łączy w sobie serwer wyświetlania, framework multimedialny i silnik gry do przetwarzania grafiki 3D. Arcan może być używany do tworzenia różnorodnych systemów graficznych, od interfejsów użytkownika dla aplikacji wbudowanych po samodzielne środowiska graficzne. W szczególności w oparciu o Arcan opracowywany jest trójwymiarowy pulpit Safespaces dla systemów wirtualnej rzeczywistości i środowisko graficzne Durden. Kod projektu napisany jest w języku C i jest rozpowszechniany na licencji BSD (niektóre komponenty są objęte GPLv2+ i LGPL).

Nowa wersja stanowi kontynuację rozwoju narzędzi do zdalnej pracy z komputerem stacjonarnym przez sieć. Dostęp do sieci zapewnia serwer graficzny „arcan-net”, który implementuje protokół A12, który łączy w sobie możliwości takich technologii jak mDNS (definicja usług lokalnych), SSH (interaktywna powłoka tekstowa), X11/VNC/RDP (interaktywna powłoka graficzna), RTSP (strumieniowanie multimediów) i HTTP (ładowanie zasobów i synchronizacja stanu).

Arcan nie jest powiązany z oddzielnym podsystemem graficznym i może pracować na różnych środowiskach systemowych (BSD, Linux, macOS, Windows) przy użyciu zaplecza wtyczek. Na przykład możliwe jest uruchomienie na Xorg, egl-dri, libsdl i AGP (GL/GLES). Serwer wyświetlania Arcan może uruchamiać aplikacje klienckie oparte na X, Wayland i SDL2. Kluczowymi kryteriami stosowanymi przy projektowaniu Arcan API są bezpieczeństwo, wydajność i możliwość debugowania. Aby uprościć tworzenie interfejsów, proponuje się użycie języka Lua.

Funkcje Arcany:

  • Połączenie ról serwera złożonego, serwera wyświetlania i menedżera okien.
  • Możliwość pracy w osobnym trybie, w którym aplikacja pełni rolę samowystarczalnego łącza.
  • Wbudowane środowisko multimedialne zapewniające narzędzia do pracy z grafiką, animacjami, przetwarzania strumieniowego wideo i audio, ładowania obrazów i pracy z urządzeniami do przechwytywania wideo.
  • Wieloprocesowy model łączenia procesorów dynamicznych źródeł danych - od strumieni wideo po wyjście poszczególnych programów.
  • Sztywny model podziału uprawnień. Komponenty silnika są podzielone na małe, nieuprzywilejowane procesy, które komunikują się poprzez interfejs pamięci współdzielonej shmif;
  • Wbudowane narzędzia do monitorowania i analizy awarii, w tym silnik, który może serializować stan wewnętrzny skryptów Lua w celu uproszczenia debugowania;
  • Funkcja fallbacków, która w przypadku awarii spowodowanej błędem programu może uruchomić aplikację awaryjną, zachowując te same zewnętrzne źródła danych i połączenia;
  • Zaawansowane narzędzia do udostępniania, których można używać do nagrywania lub transmisji wybranych podzbiorów źródeł audio i wideo podczas wdrażania udostępniania pulpitu.

Źródło: opennet.ru

Dodaj komentarz