क्या धीमी गति से टकराव को कम्प्यूटेशनल रूप से आराम दिया जा रहा है?


11

बहुत सारे रेसिंग गेम ( बर्नआउट पैराडाइज़ , उदाहरण के लिए) जब एक टक्कर होने वाली होती है, तो खेल स्वतः ही धीमी गति में बदल जाता है और टक्कर पूरी होने तक धीमी गति से चलता रहता है।

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

अब मुझे लगता है कि यह वास्तव में दूसरा रास्ता है। जब टकराव होता है, तो बहुत सारे विवरण धीमी गति से दिखाए जाते हैं, मुझे यकीन है कि कंप्यूटिंग और रेंडरिंग पाइपलाइन पर एक ओवरहेड है।

क्या सही है?

क्या धीमी गति वाला दृश्य CPU / GPU के उपयोग को बढ़ाता है, या घटाता है?

जवाबों:


4

यदि आप एक निश्चित टाइमस्टेप (जैसा आपको चाहिए) के साथ अपना भौतिकी-सिमुलेशन चला रहे हैं, तो एक धीमी-गति-गति भौतिकी-सिमुलेशन पर कम भार डाल देगी, क्योंकि प्रति फ्रेम कम गणना करना होगा।

मान लेते हैं कि आप प्रति सेकंड 200 अपडेट के साथ अपना भौतिकी चला रहे हैं। उदाहरण के लिए। एक 0.005सिमुलेशन समय के हर सेकंड अद्यतन । 50 अपडेट प्रति सेकंड के साथ गेम को चलाने के दौरान, 4 भौतिकी अपडेट प्रति रेंडर अपडेट में परिणाम होगा। अब आप गेम को धीमी गति में चलाएंगे, इसका मतलब है कि आप सिमुलेशन समय धीमा कर रहे हैं। तो अगर खेल अभी भी 50 अपडेट प्रति सेकंड ( 0.02सिमुलेशन समय के सेकंड) में चलता है , लेकिन आप दुनिया को धीमी गति में दिखा रहे हैं (चलो आधी गति कहते हैं), तो एक फ्रेम 0.01सिमुलेशन समय के सेकंड के बराबर होगा । तो केवल 2 भौतिकी अद्यतन प्रति प्रदान फ्रेम। मतलब प्रति फ्रेम में कम भौतिकी-गणना।

इसलिए यदि आप इसे सीपीयू के उपयोग के परिप्रेक्ष्य से प्रदान किए गए फ्रेम के परिप्रेक्ष्य से देख रहे हैं, तो धीमी गति सीपीयू भारी है (जब तक आप धीमी गति के दौरान अपनी भौतिकी सिमुलेशन दर को बढ़ाने के लिए नहीं चुनते हैं)। प्रति फ्रेम GPU लोड निश्चित रूप से बहुत स्थिर है।

यदि आप एक टकराव की अवधि के लिए संचयी सीपीयू / जीपीयू लोड के बारे में पूछ रहे हैं , तो जाहिर है कि भौतिकी सिमुलेशन समान है, चाहे यह धीमी गति या सामान्य गति हो। GPU लोड अधिक होगा, क्योंकि आप अधिक फ़्रेम प्रदान करते हैं।


आपका पहला पैराग्राफ GPU लोड अधिक होने की बात करता है। मुझे उम्मीद है कि GPU पर लोड अपेक्षाकृत स्थिर होगा, या बेहतर कहा जाएगा, सीधे सीधे framerate से संबंधित है (यह मानते हुए कि दृश्य की सामग्री नहीं बदलती है)।
नॉटलेश

उन्होंने कहा कि यह प्रति टक्कर अधिक था , लेकिन यह केवल इसलिए है क्योंकि टक्कर लंबे समय तक रहती है। जैसा कि पहले पैराग्राफ के अंतिम वाक्य में कहा गया है।
MichaelHouse

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

मैं इसे एक उत्तर के रूप में नहीं जोड़ रहा हूं क्योंकि यह वही है जो मैं अभी सोच सकता हूं और मेरे पास इसे वापस करने के लिए धीमी गति प्रणालियों के साथ कोई डेटा या वास्तविक अनुभव नहीं है: P
ट्रैविस

2
@ Byte56 सवाल यह है कि "क्या स्लो मोशन सीन से CPU / GPU का उपयोग बढ़ जाता है?" यह [लगभग] निश्चित रूप से प्रति समय उपयोग का तात्पर्य है, टक्कर के अनुसार नहीं। इसलिए मुझे लगता है कि उत्तर, जहां तक ​​GPU है, यह है कि यह अपरिवर्तित रहता है। मैं इसे केवल इसलिए लाता हूं क्योंकि यह स्पष्ट नहीं है कि पहला पैराग्राफ क्या संदेश देने की कोशिश कर रहा है।
नॉटलेश

3

यह संभव है कि यह मामला हो सकता है। जब तक आप GPU पर टकराव के लिए भौतिकी नहीं कर रहे हैं, इसका मतलब है कि इसके लिए स्क्वाट। लेकिन भौतिकी के संदर्भ में ... यह संभव है।

यदि आप कई निकायों के आंदोलन का अनुकरण कर रहे हैं, तो वे बहुत ही अनुमानित तरीके से आगे बढ़ते हैं। बल और बल क्षेत्र (यानी: गुरुत्वाकर्षण) आसानी से अनुमानित हैं। जहां चीजों को स्थानांतरित किया जाता है वह जल्दी से गणना की जाती है।

जब तक एक चीज दूसरे से टकराती है तब तक सही। देखिए, भौतिक विज्ञान में, आपके पास एक टाइमलाइन कहा जाता है; यह समय की राशि है जो भौतिकी प्रणाली के निष्पादन को कवर करती है। यदि आपका समय-समय एक सेकंड के 1/30 वें (भौतिकी अद्यतन के लिए 30fps) को कवर करता है, तो प्रत्येक भौतिकी अद्यतन वस्तुओं को भविष्य में 33.3 मिलीसेकंड पर ले जाता है।

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

समस्या तब होती है जब ऑब्जेक्ट टकराते हैं। अचानक, अब आपको शुरुआत में सिर्फ एक बार के बजाय एक समय के भीतर भौतिकी बलों को संसाधित करना होगा । यदि कोई वस्तु भौतिकी के फ्रेम के भीतर दो या तीन बार टकराती है , तो यह अधिक भौतिकी गणना है जिसे आपको फिर से करना होगा।

यदि आपके पास एक बार में कई टकराव हैं, तो आप वास्तव में अपने फ्रैमरेट को मार सकते हैं। हालाँकि, एक समयरेखा के भीतर कई टकरावों की संभावना कम हो जाती है क्योंकि समयरेखा का आकार कम हो जाता है। फोर्ज़ा और ग्रैन टूरिस्मो जैसे हाई-एंड रेसिंग सिम अपने भौतिकी सिस्टम को अविश्वसनीय फ़्रैमरेट्स पर चलाते हैं। मुझे लगता है कि उनमें से एक अपने भौतिकी अद्यतन पर 300 + एफपीएस तक हो जाता है।

स्लो-मोशन उसी का प्रभावी समकक्ष है। क्षतिपूर्ति करने के लिए प्रदान किए गए फ्रैमरेट को बढ़ाए बिना भौतिकी समय को कम करने से, दुनिया धीमी दिखाई देती है। और इसलिए, आप इसे बहुत कम संभावना बनाते हैं कि आप एक समय के भीतर कई टकराव प्राप्त करें।

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


1

सबसे पहले, यह दृश्य प्रभाव के लिए किया जाता है, प्रदर्शन कारणों से नहीं।

भौतिकी के भारी गेम में प्रदर्शन से निपटने का मानक तरीका वस्तुओं की संख्या को मापना है, ऑब्जेक्ट जटिलता को स्केल करना है, और सिमुलेशन परिशुद्धता और प्रदर्शन के बीच स्केल करने के लिए इंजन सेटिंग्स के साथ बेला। यदि ऐसी समस्याएं हैं, जिन्हें आप कम से कम महत्वपूर्ण विशेषताएं मानते हैं।

याद है, हालांकि, उद्योग ने पिछले 15 वर्षों के लिए बहुत यथार्थवादी कार गेम बनाए हैं, आधुनिक कंप्यूटरों के साथ ऐसा नहीं है कि चीजों को चलाने के लिए उन्हें 3 पहियों पर वापस स्केल करना होगा।

समस्या:
यह सच है कि एक टक्कर अतिरिक्त काम का कारण बन सकती है, खेल की बारीकियों पर बहुत कुछ निर्भर करता है, एक अधिक विस्तृत भौतिकी इंजन में विभिन्न भागों के बीच बहुत सारे छोटे टकराव होंगे जो आवश्यक गणना में एक महत्वपूर्ण वृद्धि का कारण बन सकते हैं। । लेकिन यह ध्यान में रखा जाना चाहिए कि जब भौतिकी को बढ़ाया जाता है, तो अच्छी भौतिकी प्राप्त करने के लिए कोई समस्या नहीं है जो अभी भी कुछ टकरावों को संभाल सकती है।

यदि आप धीमी गति प्राप्त करने के लिए बस भौतिकी सिमुलेशन धीमी चलाते हैं तो लोड आनुपातिक रूप से कम हो जाएगा। हालांकि, किसी को यह ध्यान देना चाहिए कि धीमी गति और वास्तविक समय भौतिकी के लिए आवश्यकताएं अलग-अलग हैं, आप रेसिंग गति पर सामान होने पर कम सटीकता का जोखिम उठा सकते हैं। जब तक खिलाड़ी यह ध्यान नहीं देता कि भौतिकी इंजन गलत है, यह कोई बड़ी समस्या नहीं है, धीमी गति से स्लिप को पकड़ने में काफी आसानी होती है, इस प्रकार धीमी गति की एक उच्च परिशुद्धता की आवश्यकता होती है।

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

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

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

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