HTML5 गेम भौतिकी सिमुलेशन के लिए वेब कार्यकर्ता?


12

इस सवाल से थोड़ा संबंधित ।

जितना संभव हो उतना ही भौतिकी के व्यवहार की गारंटी देने का विचार है। क्या वेब वर्कर पर निश्चित समय कदम भौतिकी चलाना संभव होगा? UI स्वयं को अलग / परिवर्तनीय ताज़ा दर के साथ अपडेट करेगा।

क्या किसी ने अभी तक ऐसी कोशिश की है?


एक वेब कर्मचारी का उपयोग करके आप क्या हासिल करना चाहते हैं? अब तक मेरा जवाब होगा, कि काम करेंगे, लेकिन परेशान क्यों?
आआआआआआआ आआआआआ आआआआआआ

जवाबों:


3

मुझे यह प्रयोग मिला । यह एक वेब कार्यकर्ता पर Box2d भौतिकी चलाता है। मैंने अभी तक विस्‍तार से जांच नहीं की है कि विंसेंट साहेब की टिप्पणियों में वर्णित मुद्दों के आसपास यह कैसे हो जाता है।


अच्छा प्रयोग है। मैं इस प्रकार की परियोजनाओं का अनुसरण कर रहा हूं। दुर्भाग्य से, अधिकांश अभी भी जावा / सी से बंधे हैं। मेरा मानना ​​है कि ओपी इसे ब्राउजर (मूल रूप से प्लगइन्स) में मूल रूप से खींचने का एक तरीका ढूंढ रहा है।
केविन पेनो

2
एक Google लड़के द्वारा उसी के बारे में लेख: t.co/AuhPptB
sorenbs

2

यह काम कर सकता है, हालाँकि पर्यवेक्षक पैटर्नWebWorker का पालन करता है , (HTML पेज जो कार्यकर्ता का मालिक है) केवल एक कार्यकर्ता से / के लिए संदेश सुन और पोस्ट कर सकता है। उस से, वहाँ कुछ विकल्प है, मुझे लगता है। सभी मामलों में मुझे लगता है कि आपको जानकारी का अनुकूलन करने के लिए उपयोगकर्ता एजेंट के इष्टतम एफपीएस को निर्धारित करने के लिए किसी और को खोजने की आवश्यकता होगी। तो आप या तो कर सकते हैं:document

  • कार्यकर्ताओं को उन समय अंतराल पर संदेश पोस्ट करने के लिए कहें
    • डाउनसाइड (ओं?): आपको यह मानकर चलना documentहोगा कि ऐसा होने पर प्रतिक्रिया के लिए वसीयत तैयार हो जाएगी।
  • बताएं कि documentसमय अंतराल पर भौतिकी का अनुरोध करने वाले कार्यकर्ता को एक संदेश भेजने के लिए x, फिर कार्यकर्ता उसके तुरंत बाद एक प्रतिक्रिया (उम्मीद) पोस्ट करेगा।
    • डाउनसाइड (एस?): चूंकि सभी पोस्ट और प्रतिक्रियाएं असिंक्रोनस हैं, इसलिए कार्यकर्ता से अनुरोध और प्रतिक्रिया के बीच देरी हो सकती है। इस मामले में आपको onmessageअपनी घटना को documentसुनने से रोकने के लिए घटना को शून्य करना होगा जब वह होने की उम्मीद नहीं करता है।

मुझे यकीन है कि अन्य चीजें हैं जो मुझे याद थीं या संचार को संभालने के तरीके। मैं स्वयं इस विषय पर अन्य उत्तरों की प्रतीक्षा कर रहा हूँ!


1
क) प्रदर्शन के संबंध में सावधानी! RequestAnimationFrame पर विचार करें और अपने कार्यकर्ता से 'जिंदा' रहने का संकेत दें, ताकि आप सीपीयू को न जलाएं अगर टैब को बैकग्राउंड में रखा जाए (शायद बहुत लंबे समय के लिए)
विन्सेन्ट शाएब

बी) IIRC कार्यकर्ता के सभी संदेश मुख्य धागे पर प्राप्त किए जाएंगे, वे कतारबद्ध होंगे। इस बारे में सोचें कि आपके मुख्य धागे पर क्या प्रभाव पड़ेगा, यदि आपको 5 अपडेट मिले हैं, लेकिन केवल नवीनतम की आवश्यकता है। आप यह भी नहीं बता सकते हैं कि आपके पास अधिक आ रहा है।
विंसेंट स्कीब

ग) सभी संदेश डेटा की प्रतियां बना रहे हैं। जितना अधिक डेटा आपको थ्रेड के बीच भेजना होगा उतना अधिक डेटा कॉपी करना और कचरा संग्रहण कार्य करना होगा। इसलिए, यहां एक जीत केवल तभी मौजूद होगी जब एक उच्च संगणना / संदेश डेटा अनुपात होगा।
विंसेंट स्कीब

@Vincent, B के बारे में) यही कारण है कि मैंने कहा कि आपको या तो documentहमेशा एक उचित एफपीएस की तलाश करके तैयार रहना होगा या विकल्प 2 के साथ जाना होगा जहां कार्यकर्ता तब तक कुछ भी नहीं करता है जब तक documentकि इसके लिए पूछता है।
केविन पेनो

2

Physijs एक वेब कार्यकर्ता का उपयोग करता है। यह तीनों ऑब्जेक्ट्स के साथ भौतिकी के बारूद को एक साथ जोड़ देता है और आवश्यकतानुसार उन्हें अपडेट करता है। मेरा मानना ​​है कि यह निश्चित और तरल दोनों समय के कदम है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.