Pypy

2012-11-29 38 views
5

के साथ पायगम का उपयोग करना मैं अजगर के लिए बहुत नया हूं लेकिन मैं इसे गेम बनाकर सीखना चाहता हूं और पायगम सबसे अच्छा विकल्प प्रतीत होता है। चूंकि पीईपीई पाइथन का सबसे तेज़ कार्यान्वयन है (मुझे लगता है) मैंने इसका उपयोग करने का फैसला किया है। लेकिन मुझे नहीं पता कि उन दोनों को एक साथ कैसे काम करना है।Pypy

मैं विंडोज़ पर हूं।

यदि कोई मुझे ऐसा करने के लिए एक कदम से कदम उठाने के लिए बहुत दयालु होगा, तो मैं वास्तव में आभारी हूं।

अब तक, मैंने स्थापित किया है (एक फ़ोल्डर में निकाला गया है), pypy.exe को .py फ़ाइलों को खोलने के लिए डिफ़ॉल्ट के रूप में सेट करें, Pygame स्थापित करें और उदाहरण में से एक को चलाने की कोशिश की .py फ़ाइलें। मुझे फ़ाइल में पहली आयात लाइन के साथ "मॉड्यूल पायगम नहीं मिला" त्रुटि मिलती है।

+3

मैं केवल नियमित दुभाषिया के साथ पाइथन और पायगैम सीखने की सिफारिश करता हूं और कुछ जानने के बाद बाद में पीपीपी की जांच करता हूं। – martineau

+0

ठीक है, मैंने पहले प्रोग्राम किया है ताकि सीखना कोई समस्या न हो। मैंने पहले भी अजगर में काम किया लेकिन इतना नहीं। फिर भी सुझाव के लिए धन्यवाद। ऐसा लगता है कि यह मेरा एकमात्र विकल्प है। –

उत्तर

7

पायगैम compatible with pypy नहीं है, इसलिए इसका उपयोग करने के लिए आपको सीपीथन के साथ रहना होगा।

+1

यह ध्यान दे सकता है कि यह जरूरी नहीं है जितना बुरा लगता है क्योंकि PyGame सी में भारी भारोत्तोलन करता है, पायथन नहीं। बेशक, आप PyGame का उपयोग करके अगली साइर्सिस नहीं लिखेंगे, लेकिन PyGame को अभी भी कुछ सुंदर मजेदार गेम लिखने के लिए उपयोग किया जा सकता है, बिना पीईपीई को पाइथन इटर्रिटर को जेआईटी में ले जाने की आवश्यकता के बिना। – jlund3

+1

मैंने इसका परीक्षण नहीं किया है लेकिन खोज करके मैंने https://bitbucket.org/stefanor/pygame-pypy देखा। क्या किसी ने कोशिश की है? –

+0

@ होफैटएबीसी, यह काम करता है! – Ray

4

पायगैम गेम वास्तव में पाइथन कोड चलाने में बहुत कम समय बिताते हैं। विशाल, विशाल बहुमत एसडीएल fill और flip संचालन करने में खर्च किया जाता है। अधिकांश fill एस अनावश्यक हैं। यह कितना महत्वपूर्ण है? खैर, मेरा कंप्यूटर ले लो। मान लें कि आप एक ऐसा गेम लिखते हैं जिसमें लूप होता है जो सिर्फ पृष्ठभूमि को रंग देता है। इसे लगभग 40 एफपीएस मिलेगा। ऐसा इसलिए है क्योंकि यह मूल रूप से प्रत्येक पिक्सेल पर व्यक्तिगत रूप से जा रहा है और इसे लिख रहा है। यह 200 x 300 = 60000 संचालन का उपयोग प्रत्येक फ्रेम को पर कुछ भी नहीं कर रहा है।

तो पूरी पृष्ठभूमि को चित्रित करने के बजाय, पिछले फ्रेम पर खींचे गए हिस्सों को बस पेंट करें।

यह आपके कोड को थोड़ा अधिक जटिल बनाता है, लेकिन यह विशाल प्रदर्शन वृद्धि करता है।

इसके अलावा, समस्याएं कहां हैं, यह देखने के लिए cProfile चलाने के लिए मत भूलना। देखो, अनुमान मत लगाओ।

+0

यह उत्तर वास्तव में PyPame के तहत PyGame को चलाने के तरीके के सवाल को संबोधित नहीं करता है ... – jlund3

+0

नहीं, लेकिन यह प्रासंगिक जानकारी है क्योंकि ओपी को पीपीपी चुना गया है क्योंकि उसने सोचा था कि उसे गति के लिए इसकी आवश्यकता होगी। – ninMonkey

+1

@ jlund3, सच है, लेकिन मुझे लगा कि यह एक [एक्सवाई समस्या] थी (http://www.perlmonks.org/index.pl?node_id=542341) –