मैं जावा में एक बड़ा गेम प्रोग्रामिंग कर रहा हूं और मैं कोड को अनुकूलित करने की कोशिश कर रहा हूं लेकिन कोड को साफ और व्यवस्थित रखने के लिए भी प्रयास कर रहा हूं। अब मुझे यकीन नहीं है कि मुझे एकल वर्गों के सार्वजनिक स्थैतिक क्षेत्र का उपयोग करना चाहिए जिसमें कई चर हैं जिनका उपयोग कई उदाहरणों से किया जाता है।सार्वजनिक स्थैतिक क्षेत्र का उपयोग, अच्छा प्रोग्रामिंग अभ्यास/तेज़?
उदाहरण के लिए कक्षा कैमरे में एक एक्स और वाई स्थिति है जो परिभाषित करता है कि उपयोगकर्ता किस मानचित्र को देख रहा है और स्क्रीन पर क्या खींचा जाना चाहिए। वर्तमान में मैं 50 000 इकाइयों के साथ बेंचमार्किंग कर रहा हूं और मेरे पास उन्हें आकर्षित करने के लिए निम्नलिखित विकल्प हैं।
1: प्रत्येक इकाई में कैमरे के उदाहरण के लिए एक संदर्भ स्टोर और getX() और Gety() फोन जब यह तैयार किया जाना चाहिए:
public void paint()
{
paint(x - camera.getX(), y - camera.getY());
}
2: तर्क के रूप में कैमरे के निर्देशांक की आपूर्ति
public void paint(int cameraX, int cameraY)
{
paint(x - cameraX, y - cameraY);
}
3: कैमरा वर्ग के x और y चर स्थिर करें:
public void paint()
{
paint(x - Camera.x, y - Camera.y);
}
प्रत्येक इकाई जब यह तैयार किया जाना चाहिए करने के लिए
मुझे दिलचस्पी है कि आमतौर पर सबसे अच्छा समाधान के रूप में देखा जाता है और यदि यह प्रदर्शन को प्रभावित करता है। शायद ऐसा करने के और तरीके हैं मैंने अभी तक नहीं सोचा है?
धन्यवाद!
जब मैं सार्वजनिक स्थिर क्षेत्रों का उपयोग करने के लिए अपने कोड को फिर से लिखता हूं तो मैंने लगभग 60 एफपीएस के फ्रेम में एक बूंद देखी। पीछे रोलिंग मैंने पुराने स्तर पर प्रदर्शन बढ़ाया लेकिन पता नहीं चला कि ड्रॉप के कारण क्या हुआ। तो मुझे लगता है कि मैं सभी संदर्भों को स्थापित करने और स्थिर क्षेत्र की चीज़ों को भूलने के लिए थोड़ा और अतिरिक्त समय लेगा। उत्तर के लिए धन्यवाद! – ArmoredSandwich