में बढ़ने में सहायता, मैं प्रतिक्रिया/रेडक्स/जावास्क्रिप्ट में गेम ऑफ लाइफ के एक संस्करण पर काम कर रहा हूं, जबकि मेरे पास यह प्रदर्शन काम कर रहा है, यह भयानक है।लाइफ इन रिएक्ट/रेडक्स में गेम
Here is a link to the running game Here's the source on githhub
फिलहाल, मैं हर टिक (उपयोगकर्ता द्वारा अस्थिर 250,500,750ms) प्रत्येक कोशिका के राज्य को अद्यतन करने पर कर रहा हूँ। इसके लिए मैं उन वस्तुओं की एक सरणी के माध्यम से लूपिंग कर रहा हूं जो प्रत्येक सेल का प्रतिनिधित्व करते हैं। प्रत्येक ऑब्जेक्ट के भीतर एक पैरामीटर होता है जिसे स्टेटस कहा जाता है जो जीवित के लिए 1 या मृत के लिए 0 पर एक पूर्णांक हो सकता है।
मैं फिर सेल के चारों ओर उपरोक्त मध्य और निचली पंक्तियों के लिए तीन कोशिकाओं की तीन पंक्तियों में खींच रहा हूं, फिर मैं उन मानों को जोड़ता हूं (सेल को स्वयं केंद्र में छोड़कर)।
तब मैं उस सेल की नई स्थिति का निर्णय लेने के लिए उस नंबर को एक/फिर प्रवाह के माध्यम से चलाता हूं।
यह प्रक्रिया तब एप्लिकेशन में प्रत्येक सेल के लिए दोहराती है। एक बार ऐसा करने के बाद प्रत्येक सेल की नई स्थिति रेडक्स का उपयोग करके भेजी जाती है और आवश्यकतानुसार घटकों को अपडेट किया जाता है।
वास्तविक दृश्य में, प्रत्येक सेल एक प्रतिक्रिया घटक होता है जो ग्रिड कंटेनर से प्रोप के रूप में प्राप्त करता है। मैंने shoulComponentRender() को केवल जीवन को स्थिति में बदलने के बाद सेल को फिर से प्रस्तुत करने के लिए सेटअप किया है।
मुझे लगता है कि ऐप प्रोफाइलिंग (जो मैं बहुत स्पष्ट/अच्छा नहीं हूं) से सोचता हूं कि यह उन सभी मूल्यों की गणना करने की प्रक्रिया है जो चीजों को धीमा कर रही हैं, लेकिन मैं गलत हो सकता हूं और यह प्रतिक्रिया घटक हो सकता है जो मुद्दा पैदा कर रहे हैं।
किसी भी मदद/सहायता की सराहना की!
अब मैंने गिथब को अपडेट किया गया कोड अपलोड किया है, ऐसा लगता है कि यह जीयूआई का प्रतिपादन है जो इस मुद्दे का कारण बन रहा है, लेकिन मैं इसे सुधारने के लिए कसरत नहीं कर सकता? –