ठीक है, इस धागे में बहुत गलत जानकारी है।
मुझे पता है कि खेल व्यवसाय बहुत अच्छी तरह से है, 25 वर्षों से इसमें रहा है। मुझे यह भी पता है कि खेलों में जावा बहुत अच्छी तरह से सूर्य का जावा खेल तकनीकी प्रचारक और व्याख्यान जावा प्रदर्शन प्रोग्रामिंग विशेषज्ञ रहा है।
कम्प्यूटेशनल गति के संदर्भ में, जावा आज कई वैज्ञानिक कंप्यूटिंग बेंचमार्क में C ++ को हरा देता है। आप किसी भी भाषा में पैथोलॉजिकल कोड लिख सकते हैं जो आप चाहते हैं तो बुरी तरह से प्रदर्शन करता है, लेकिन ओवर ऑल, वे बराबर हैं और लंबे समय से हैं।
स्मृति उपयोग के संदर्भ में, जावा में कुछ अधिक-प्रमुख हैं। हैलोवर्ल्ड जावा में एक 4K प्रोग्राम है। लेकिन यह ओवरहेड आज के मल्टी जीबी सिस्टम में बहुत अर्थहीन है। अंत में, Java के पास स्टार्टअप समय अधिक है। मैं यूनिक्स कमांड लाइन कमांड जैसी छोटी रन-टाइम उपयोगिताओं के लिए जावा का उपयोग करने की अनुशंसा नहीं करूंगा। उन मामलों में स्टार्टअप आपके प्रदर्शन पर हावी रहेगा। एक खेल में, हालांकि, इसकी काफी ढीठ है।
ठीक से लिखा गया जावा गेम कोड GC पॉज़ नहीं होता है। सी / सी ++ कोड की तरह, इसे कुछ सक्रिय मेमोरी प्रबंधन की आवश्यकता होती है लेकिन सी / सी ++ के स्तर की नहीं। जब तक आप अपनी मेमोरी का उपयोग या तो लंबे समय तक जीवित वस्तुओं (पूरे स्तर या गेम के लिए बने रहते हैं) और बहुत कम समय तक जीवित वस्तुओं (वैक्टर और इस तरह, पास से गुजरते हैं और गणना के बाद जल्दी नष्ट हो जाते हैं) जीसी एक दृश्यमान मुद्दा नहीं होना चाहिए।
प्रत्यक्ष मेमोरी एक्सेस के संदर्भ में, जावा के पास एक लंबी अवधि के लिए है; जावा के बाद से मूल प्रत्यक्ष बाइट बफर के रूप में 1.4। जावा में बिट ट्विडलिंग अहस्ताक्षरित पूर्णांक प्रकारों की कमी के कारण थोड़ा कष्टप्रद हो सकता है, लेकिन काम के दौर को सभी अच्छी तरह से जानते हैं और बहुत खराब नहीं हैं।
जबकि इसके असली जावा में Direct3D बाइंडिंग कभी नहीं थी, इसलिए जावा टेक्नोलॉजी पोर्टेबिलिटी के लिए प्रयास करती है। इसमें TWO OpenGL बाइंडिंग (JOGL और LWJGL) और OpenAL बाइंडिंग (JOAL) और एक पोर्टेबल इनपुट बाइंडिंग (JInput) है, जो विंडोज पर DirectInput, OSX पर HID मैनेजर, और एक Linux बाइंडिंग (I भूल जाते हैं) को बांधता है।
यह सच है कि किसी भी पूर्ण गेम इंजन ने जावा को नहीं दिखाया है, एकता कहते हैं, सी # को चित्रित किया है और यह स्वतंत्र स्थान में एक कमजोरी है। दूसरी ओर, दो अच्छे दृश्य स्तर APIS थे जो विंडोज, OSX और लिनक्स में पूरी तरह से मंच पोर्टेबल थे। दोनों को जोश स्लैक द्वारा लिखा गया था, पहला JMonkey इंजन और दूसरा आर्दोर 3 डी कहलाता था।
शीर्ष पोस्टर सही है कि खेल के विकास में जावा को वापस रखने वाली दो सबसे बड़ी चीजें पूर्वाग्रह और पोर्टेबिलिटी थीं। बाद वाला सबसे बड़ा मुद्दा था। हालाँकि आप जावा गेम लिख सकते हैं और इसे विंडोज, ओएसएक्स और लिनक्स पर शिप कर सकते हैं, लेकिन कंसोल वीएम कभी नहीं था। यह सूर्य मध्य प्रबंधन में कुल अयोग्यता के कारण था। हम में से कुछ जावा ने गेम्स में काम करते हुए वास्तव में सोनी के साथ कोई कम से कम 3 बार एक प्लेस्टेशन पर वीएम प्राप्त करने के लिए सौदा किया था और सभी 3 बार सन मध्य प्रबंधन ने इसे मार दिया।
जबकि सन ने क्लाइंट प्रौद्योगिकियों के साथ छेड़खानी की, इस तथ्य का तथ्य यह है कि सन प्रबंधन को उपभोक्ता उत्पाद कभी नहीं मिला। यही कारण है कि सन से क्लाइंट भाषा के रूप में जावा कभी भी किसी भी रूप में सफल नहीं हुआ, और यह जावा को कहीं भी एक मंच की सफलता बनाने के लिए Google और Dalvik (Android जावा-जैसे VM) को क्यों ले गया।
और यही कारण है कि मैं आज सी # में गेम कोड करता हूं। क्योंकि मोनो प्रबंधन के लिए मना कर दिया गया था।