Uzak bağlantı yoluyla 3D nasıl verimli kullanılır?


12

Bir zayıf PC (istemci) ancak kabul edilebilir 3D performansa sahip ve bir uygulamayı OpenGL kullanarak iki kez, yani bir kez yerel ve bir kez uzaktan istemci için çalıştırabilen güçlü bir PC (sunucu) var. Şu anda, ssh -Xiçine, ama istemcinin konsol çıktı yazılım oluşturma kullanıldığını belirtir ve sadece saniyede 3 kare (fps) alıyorum. Aslında, bu LAN'da olduğu için ssh'ın şifrelemesi gerekli değildir, ancak uzak uygulamalar için zaten bildiğim şey budur ...

Peki, müşteri performansı nasıl artırılabilir? Fikirlerim

  • donanım hızlandırma kullanın, ancak sunucunun veya istemcinin ve nasıl?
  • ssh'den farklı bir şey kullan

Biliyorum, tam çözünürlükte ve sofistike sıkıştırma olmadan 100 Mbit / s LAN daha fazla fps yapmayacak, ancak ca. 800x450, bu nedenle teorik olarak sıkıştırılmamış grafik verileri kullanılarak 12 fps'ye kadar (24 bit / pikselde) mümkün olmalıdır. Ve belki müşterinin kendi GPU'sunu veya bazı akıllı sıkıştırmayı kullanarak daha iyi bir şey mümkündür.

-

düzenlemek istediğim şey temelde neyi örneğin yerel bir versiyonudur çıkıyor OnLive ve Gaikai teklifler. Linux (ve muhtemelen ücretsiz) için böyle bir şey var mı?

-

edit2 VirtualGL (şu anda benim için çalışmıyor olsa da) en iyi çözüm gibi görünüyor, ancak istemci üzerinde de donanım oluşturma yapmanın mümkün olup olmadığını merak ediyorum



Bilgisayarlar zaten birbirinin yanında olduğu için takip ve neden bir PC'yi iki kullanıcı için kullanmadığımı merak ediyorum: Bir bilgisayar iki kullanıcı tarafından aynı anda çift monitör ile kullanılabilir mi?
Tobias Kienzler

Yanıtlar:


7

Dışarı kontrol edebilir VirtualGL ile birlikte TurboVNC 100 Mbit üzerinde 1280x1024 @ Saniyede 20 kare (ile sağlamalıdır wikipedia bakınız ).

Tüm uygulamalarla çalışmayabileceğini, OpenGL'yi nasıl kullandıklarına bağlı olduğunu unutmayın.


Bu sesi tam olarak aradığım gibi + 1'leyin, teşekkürler! (Umarım başarılı bir testten sonra cevabı kabul edeceğim)
Tobias Kienzler


Şimdi pbuffer'ı destekleyen yeni bir bilgisayarım var, ama maalesef vglrun segfaults şimdi. Bunun nedeni, istemci 32 bit açıkken sunucunun 64 bit üzerinde çalışması olabilir mi?
Tobias Kienzler

(cevap doğru olduğu ve segfault ayrı bir soru olduğu için kabul edilir)
Tobias Kienzler

2

Bu eski bir soru ama yine de alakalı. Yerel donanımda uzak uygulamanın X11 3D oluşturma işleminin nasıl yapılandırılacağı ve sorun giderileceği hakkında adım adım bir kılavuz vardır: Uzak x11 ssh bağlantısıyla OpenGL donanım hızlandırma

Chromium BSU oyunu makalede örnek olarak kullanılmıştır. SSH bağlantısı üzerinden varsayılan yazılım oluşturma ile 5-8 FPS, dolaylı donanım oluşturma ile 30 FPS ve şifrelenmemiş TCP X11 bağlantısı ile> 30 FPS ile çalışır. Yalnızca bazı uygulamalar için çalıştığını unutmayın.

Makalenin kısa özeti

Dolaylı oluşturma ve TCP bağlantıları varsayılan X11 sunucu yapılandırmasında devre dışıdır. +iglx and -listen tcpparametreleri onları etkinleştirir. Ayrıca LIBGL_ALWAYS_INDIRECT=1X11 istemcisinde dolaylı oluşturmayı zorlayan değişken de vardır .


Cevabınız için teşekkürler. Bağlantının olsa da ölmesi durumunda burada bağlantılı blog yayınlarının özünü not etmek büyük beğeni topluyor (örneğin lightdm, iglx"böyle " kullanarak "belirttiğinizde bile ). Şu anda buna ihtiyacım yok, ama bir dahaki sefere deneyeceğim;) Belki başka biri de bulgularınızı yararlı bulur.
Tobias Kienzler

İyi bir nokta. Makalenin ana ayrıntılarını ekledim.
evpo

0

İki masaüstü bilgisayarınız varsa bu doğru olabilir. Ancak evde herhangi bir yerde kullanılabilen eski bir WiFi dizüstü bilgisayarınız varsa (örneğin, müşteriniz olarak Ubuntu 10.04 ile Ti5600 ve yedek bir Wi-Fi Router ile birlikte GTX kartı bulunan bir masaüstü PC, uzak bir OpenGL istemcisine sahip olmak iyi bir fikir gibi görünüyor.

Sorun uzak (sunucu tarafı) bir OpenGL bağlamı almak. İstemcinizde ssh -X komutunu çalıştırabilirsiniz. Ancak uzak sistemde glxinfo çalıştırırsanız, yerel istemcinizi alırsınız, bu da sizi başladığınız yere geri getirir. DISPLAY ortam değişkeninizi o uzak ana bilgisayara ayarlayabilir ve bu ekranı hala yardımcı olmayan ikinci bir monitör olarak kullanabilirsiniz.

Diğer bir çözüm, uzak bir GLX içeriği kullanabilmeleri için masaüstü uygulamalarınızı yazmaktır:

http://arrayfire.com/remote-off-screen-rendering-with-opengl/


Teşekkür ederim. X protokolünün 3D iletmesi için bir alternatif var mı? Üzgünüm, sunucu ve istemciyi tırnak işaretleri arasına koymalıydım, sadece güçlü ve zayıf PC için daha kısa kelimelere sahip olmak istedim - her iki PC de masaüstü PC'lerle aynı anda ön uç olarak kullanılmalı, ancak tüm CPU çalışmaları ile ve daha iyi bilgisayar tarafından yapılan RAM erişimi. Zayıf PC, uygulamanın kendisini çalıştırmak için yeterli CPU gücüne ve RAM'e sahip değil
Tobias Kienzler

Bildiğim kadarıyla ... değil. Düşündüğünüz 3D türü çok fazla bant genişliği gerektirir.
Keith

Bu doğruysa :( OTOH, OnLive , Gaikai ve diğerleri bu internet üzerinden oyunlar için bile mümkündür iddia ...
Tobias Kienzler

Tamam, bir göz attım. Çerçeveleri de bu şekilde aktardıklarını sanmıyorum. Yerel olarak indirip çalıştırıyorlar ve sadece mevcut çevrimiçi oyunlar gibi sadece kontrol ve güncelleme bilgilerini aktarıyorlar. Yapsalar bile, yüksek sıkıştırma için düşük çözünürlük olması gerekir.
Keith

Anladığım kadarıyla, oyunu uzaktan çalıştırıyorlar ve sadece klavye ve fare olaylarını alırken videonun HD akışını iletiyorlar. Ama elbette, herhangi bir sıkıştırma olmadan HD üzerinden
fps'yi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.