रिमोट कनेक्शन के माध्यम से कुशलता से 3 डी का उपयोग कैसे करें?


12

मेरे पास एक कमजोर पीसी (क्लाइंट) है, लेकिन स्वीकार्य 3 डी प्रदर्शन के साथ, और एक मजबूत पीसी (सर्वर) जो दो बार ओपनगेल का उपयोग करके एक एप्लिकेशन चलाने में सक्षम होना चाहिए, अर्थात स्थानीय स्तर पर और एक बार क्लाइंट के लिए दूरस्थ रूप से। वर्तमान में, मैं ssh -Xइसमें शामिल हूं , लेकिन क्लाइंट के कंसोल आउटपुट में सॉफ्टवेयर रेंडरिंग का उपयोग किया गया है और मुझे केवल 3 फ्रेम प्रति सेकंड (एफपीएस) मिलता है। वास्तव में, ssh का एन्क्रिप्शन आवश्यक नहीं है क्योंकि यह एक LAN पर है, लेकिन यह वही है जो मैं पहले से ही दूरस्थ अनुप्रयोगों के लिए जानता हूं ...

तो, क्लाइंट के प्रदर्शन को कैसे बढ़ाया जा सकता है? मेरे विचार हैं

  • हार्डवेयर त्वरण का उपयोग करें, लेकिन सर्वर या ग्राहक का एक और कैसे?
  • ssh से अलग कुछ का उपयोग करें

मुझे पता है, पूर्ण संकल्प और परिष्कृत संपीड़न के बिना एक 100 Mbit / s LAN अधिक एफपीएस नहीं बनाएगा, लेकिन यह सीए का एक विंडो अनुप्रयोग है। 800x450, इसलिए सैद्धांतिक रूप से 12 एफपीएस (24 बिट्स / पिक्सेल पर) असम्पीडित ग्राफिकल डेटा का उपयोग करके संभव होना चाहिए। और शायद ग्राहक के स्वयं के GPU या कुछ स्मार्ट संपीड़न का उपयोग करके कुछ बेहतर संभव है।

-

संपादित करें कि जो मैं चाहता हूं वह मूल रूप से onlive और gaiai प्रदान करता है का एक स्थानीय संस्करण है । क्या लिनक्स (और संभवतः मुक्त) के लिए ऐसा कुछ है?

-

edit2 VirtualGL सबसे अच्छे समाधान की तरह दिखता है (हालांकि वर्तमान में मेरे लिए काम नहीं कर रहा है), लेकिन मुझे आश्चर्य है कि क्या क्लाइंट पर हार्डवेयर रेंडर करना संभव है, भी



अनुवर्ती चूंकि पीसी वैसे भी एक-दूसरे के बगल में हैं और मुझे आश्चर्य है कि दो उपयोगकर्ताओं के लिए एक पीसी का उपयोग क्यों नहीं किया जा सकता है
टोबियास किंजलर

जवाबों:


7

आप VirtualGL को देख सकते हैं कि TurboVNC के साथ मिलकर आपको 100 Mbit पर 20fps @ 1280x1024 ( विकिपीडिया देखें ) प्रदान करना चाहिए ।

ध्यान दें कि यह सभी अनुप्रयोगों के साथ काम नहीं कर सकता है, यह इस बात पर निर्भर करता है कि वे OpenGL का उपयोग कैसे करते हैं।


+1 यह ध्वनि ठीक उसी तरह है जैसे मैं देख रहा हूँ, धन्यवाद! (मैं (उम्मीद है कि सफल परीक्षण) के बाद जवाब स्वीकार करूंगा)
टोबियास किंजलर


मेरे पास अब एक नया पीसी है जो pbuffer का समर्थन करता है, लेकिन दुर्भाग्य से अब वल्गरन सीगफॉल्ट्स हो गए हैं। क्या ऐसा हो सकता है क्योंकि सर्वर 64 बिट पर चलता है जबकि क्लाइंट 32 बिट पर?
टोबियास किंजलर

(उत्तर सही होने के बाद से स्वीकार कर लिया गया और
सेगफॉल्ट

2

यह एक पुराना प्रश्न है लेकिन यह अभी भी प्रासंगिक है। स्थानीय हार्डवेयर पर दूरस्थ अनुप्रयोग के X11 3 डी प्रतिपादन को कॉन्फ़िगर करने और उसके निवारण के तरीके के बारे में चरण-दर-चरण चरण है: दूरस्थ x11 ssh कनेक्शन के माध्यम से OpenGL हार्डवेयर त्वरण

क्रोमियम बीएसयू गेम का उपयोग लेख में एक उदाहरण के रूप में किया जाता है। यह SSH कनेक्शन के माध्यम से डिफ़ॉल्ट सॉफ्टवेयर रेंडरिंग के साथ 5-8 एफपीएस के साथ चलता है, अप्रत्यक्ष हार्डवेयर प्रतिपादन के साथ 30 एफपीएस और अनएन्क्रिप्टेड टीसीपी एक्स 11 कनेक्शन के साथ 30 एफपीएस। ध्यान दें कि यह केवल कुछ अनुप्रयोगों के लिए काम करता है।

लेख का संक्षिप्त सारांश

अप्रत्यक्ष प्रतिपादन और टीसीपी कनेक्शन डिफ़ॉल्ट एक्स 11 सर्वर कॉन्फ़िगरेशन में अक्षम हैं। +iglx and -listen tcpपैरामीटर उन्हें सक्षम करते हैं। LIBGL_ALWAYS_INDIRECT=1चर भी है जो X11 क्लाइंट पर अप्रत्यक्ष प्रतिपादन को मजबूर करता है।


आपके उत्तर के लिए धन्यवाद। यह लिंक ब्लॉग पोस्ट्स के सार को नोट करने के लिए बहुत सराहना की जाती है, जब लिंक कभी भी मृत हो जाता है (भले ही आप उदाहरण के लिए "राज्य" जैसे "का उपयोग lightdmकर iglx")। मुझे वर्तमान में इसकी कोई आवश्यकता नहीं है, लेकिन मैं इसे अगली बार आज़माऊंगा;) हो सकता है कि कोई अन्य व्यक्ति भी आपके निष्कर्षों को उपयोगी समझता हो।
टोबियास किंजलर

अच्छी बात। मैंने लेख का मुख्य विवरण जोड़ा।
ईवेपो

0

यह सच हो सकता है यदि आपके पास दो डेस्कटॉप पीसी हैं। लेकिन अगर आपके पास घर में कहीं भी पुराना वाईफाई लैपटॉप प्रयोग करने योग्य है (जैसे कि अपने ग्राहक के रूप में उबंटू 10.04 के साथ Ti5600, और एक GTX बोर्ड के साथ डेस्कटॉप पीसी के साथ-साथ एक अतिरिक्त वाई-फाई राउटर के साथ, एक दूरस्थ OpenGL क्लाइंट होना एक अच्छा विचार है।

समस्या को दूरस्थ (सर्वर साइड) OpenGL संदर्भ मिल रहा है। आप अपने क्लाइंट पर ssh -X चला सकते हैं। लेकिन अगर आप रिमोट सिस्टम पर glxinfo चलाते हैं, तो आपको अपना स्थानीय क्लाइंट मिलता है, जो आपको वह स्थान देता है जहां आपने शुरुआत की थी। आप उस दूरस्थ होस्ट पर अपना प्रदर्शन पर्यावरण चर सेट कर सकते हैं, और आप उस स्क्रीन को दूसरे मॉनिटर के रूप में उपयोग कर सकते हैं, जो अभी भी मदद नहीं करता है।

एक अन्य समाधान आपके डेस्कटॉप अनुप्रयोगों को लिखना है ताकि वे एक दूरस्थ GLX संदर्भ का उपयोग कर सकें:

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


धन्यवाद। तो क्या 3 डी संचारित करने के लिए एक्स प्रोटोकॉल का कोई विकल्प है? क्षमा करें, मुझे सर्वर और क्लाइंट को उद्धरण में रखना चाहिए, मेरा मतलब केवल मजबूत और कमजोर पीसी के लिए छोटे शब्द हैं - दोनों पीसी को फ्रंट-एंड के रूप में उसी समय उपयोग किया जाना चाहिए जैसे कि वे डेस्कटॉप पीसी थे लेकिन सभी सीपीयू काम के साथ और बेहतर पीसी द्वारा रैम की पहुंच। कमजोर पीसी में आवेदन चलाने के लिए पर्याप्त सीपीयू शक्ति और रैम नहीं है
टोबियास किंजलर

ऐसा नहीं कि मुझे पता नहीं। जिस तरह के 3 डी के बारे में आप सोच रहे हैं, उसमें बैंडविड्थ की बहुत आवश्यकता है।
कीथ

यह सच है :( OTOH, onlive , Gaikai और अन्य का दावा है कि यह इंटरनेट पर गेम के लिए भी संभव है ...
Tobias Kienzler

ठीक है, मैंने देख लिया। मुझे नहीं लगता कि वे इस तरह से फ्रेम प्रेषित कर रहे हैं। वे डाउनलोड कर रहे हैं और स्थानीय चला रहे हैं, और केवल ऑनलाइन गेम की तरह नियंत्रण और अद्यतन जानकारी को ट्रांससीव कर रहे हैं। यदि वे करते हैं, तो उच्च संपीड़न के लिए कम रिज़ॉल्यूशन होना चाहिए।
कीथ

जिस तरह से मैं इसे समझता हूं, वे गेम को दूरस्थ रूप से चलाते हैं और कीबोर्ड और माउस इवेंट प्राप्त करते हुए वीडियो की एचडी स्ट्रीम को प्रसारित करते हैं। लेकिन निश्चित रूप से एक में 30 एफपीएस संचारित नहीं कर सकता HD HD इंटरनेट पर किसी भी संपीड़न के बिना ...
Tobias Kienzler
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.