"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > सी++: खेल उद्योग में गति का जुनून

सी++: खेल उद्योग में गति का जुनून

2024-08-01 को प्रकाशित
ब्राउज़ करें:211

C   : speed obsession in the game industry

हमें वास्तव में गति की आवश्यकता कब होती है?

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

उत्तरदायित्व वितरण

हम सी जैसी संकलित भाषा में प्रदर्शन-मांग वाले कार्यों को कार्यान्वित कर सकते हैं, और उन्हें पायथन जैसी गतिशील भाषा में लिखे गए प्रोग्राम से कॉल कर सकते हैं।
लेकिन, आज हमारे पास पहले से ही Python (pygame, pyopengl, pyassimp, pybullet, numpy) के लिए अच्छी तरह से प्रलेखित और उपयोग में आसान लाइब्रेरी हैं, जो मुख्य रूप से C/C पर कार्यान्वित की जाती हैं और भारी गणनाओं के लिए कार्य प्रदान करती हैं। या विशेष रूप से भौतिकी/ग्राफिक्स। हमें कभी भी ऐसे पुस्तकालयों को स्वयं लागू करने की आवश्यकता का सामना नहीं करना पड़ेगा।

क्या C ही एकमात्र विकल्प है?

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

प्रदर्शन पर वास्तव में क्या प्रभाव पड़ता है?

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

खेल की परवाह करें, भाषा की नहीं

यह वास्तव में महत्वपूर्ण नहीं है कि आप किस भाषा का उपयोग करते हैं, जब आपने कोई गेम नहीं बनाया है, है ना?
C पर गेम बनाना Python या Ruby पर ऐसा करने की तुलना में कहीं अधिक मांग वाला और थका देने वाला है। जब आप C के साथ 1 गेम बनाएंगे, तो आप Python के साथ 10 गेम बनाएंगे। जब आप Python के साथ 5 गेम बनाएंगे, तो C के साथ यह 0 गेम होंगे।
आइए हम खेल और मनोरंजन की परवाह करें, अन्यथा क्या मतलब?

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/taqmuraz/speed-obsession-in-the-game-industry-1p4i?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3