12 पॉइंट द्वारा GN⁺ 2026-02-20 | 3 टिप्पणियां | WhatsApp पर शेयर करें
  • Minecraft Java Edition अपने graphics rendering engine को OpenGL से Vulkan पर स्विच कर रहा है
  • 1990 के दशक से इस्तेमाल हो रहे OpenGL के update रुकने और macOS support खत्म होने की वजह से यह बदलाव किया जा रहा है
  • Vulkan में Windows·Linux का native support है, और macOS पर translation layer के जरिए support मिलेगा, बिना performance loss के
  • इस बदलाव से visual quality बेहतर होने और frame rate सुधरने की उम्मीद है
  • snapshot में OpenGL और Vulkan का parallel testing करने के बाद stability सुनिश्चित होने पर OpenGL हटाया जाएगा

Bringing modern rendering to Java

  • Minecraft: Java Edition में Vibrant Visuals की तैयारी पर काम जारी है और rendering code का refactoring और modernization चल रहा है
    • पिछले updates के जरिए rendering code structure को बेहतर बनाने का काम किया गया
    • अब rendering की आधारभूत technology को ही बदलने के चरण में प्रवेश हो गया है
  • गेम की rendering technology को OpenGL से Vulkan में बदलने की योजना है
    • इसका उद्देश्य graphics और performance के लिहाज से नई संभावनाएँ खोलना है
    • इससे modding community और कुछ players पर असर पड़ने की संभावना है

What are we changing?

  • अभी Java Edition 1990 के दशक में बनी OpenGL graphics API का इस्तेमाल करता है
    • लॉन्च के शुरुआती समय से ही यह OpenGL पर आधारित रहा है
  • OpenGL को अपनाने की वजह यह थी कि इससे Linux·Windows·macOS सभी operating systems का support संभव था
    • इसे लगभग सभी PC और Mac पर चलाने के लिए डिज़ाइन किया गया था
  • OpenGL का update 9 साल पहले रुक गया था, macOS पर यह Deprecated स्थिति में है और आगे चलकर इसे चलाया नहीं जा सकेगा
  • macOS compatibility बनाए रखने के लिए पुराने OpenGL version पर टिके रहना पड़ा, जिससे codebase को modernize करना मुश्किल हो गया
  • Java Edition को macOS और Linux सहित ज़्यादातर PC पर आगे भी चलाने योग्य बनाए रखने के लिए OpenGL से हटना ज़रूरी हो गया है

Introducing: Vulkan

  • Vulkan एक graphics API है जिसका 10 साल से अधिक समय से बाजार में इस्तेमाल हो रहा है और जिसे प्रमुख hardware vendors ने अपनाया है
  • Windows और modern Linux में इसका native support है, जबकि macOS पर translation layer के जरिए support संभव है और यह बिना performance loss के काम करता है
  • लंबे समय में इससे performance improvement और feature expansion की संभावनाएँ मिलेंगी
    • यह Vibrant Visuals को लागू करने के लिए ज़रूरी आधार प्रदान करता है
  • अगर GPU 10 साल से ज़्यादा पुराना है, तो संभव है कि वह Vulkan को support न करे

What does this mean for modders?

  • OpenGL से Vulkan में बदलाव होने पर OpenGL-आधारित rendering mods पर असर पड़ेगा
  • Vulkan migration पर काम करने में सामान्य release support की तुलना में ज़्यादा मेहनत लगने की उम्मीद है
  • modding community को OpenGL पर निर्भरता कम करने की सलाह दी गई है
    • internal rendering API का जितना संभव हो उतना दोबारा इस्तेमाल करने की सिफारिश की गई है
    • ज़रूरत पड़ने पर development team के साथ सीधे technical discussion भी किया जा सकता है
  • technical discussion के लिए Vibrant Visuals Discord channel का इस्तेमाल किया जा रहा है
    • यह announcement channel नहीं, बल्कि developers के बीच गहन technical discussion की जगह है

What does this mean for players?

  • कुछ mods इस बदलाव की प्रक्रिया में प्रभावित हो सकते हैं
    • mod creators को updates देने में समय लग सकता है
  • आने वाले snapshots में OpenGL और Vulkan दोनों साथ में उपलब्ध कराए जाएंगे
    • snapshot और stable version दोनों में renderer चुनने का विकल्प दिया जाएगा
    • stability सुनिश्चित करने और bugs कम करने का काम साथ-साथ चलेगा
  • bugs की report bugs.mojang.com के जरिए करने को कहा गया है

When is this happening?

  • लक्ष्य है कि गर्मियों के दौरान Vulkan को snapshot testing में शामिल किया जाए
  • testing period के दौरान OpenGL और Vulkan के बीच switch किया जा सकेगा
  • stability और performance verification पूरा होने पर OpenGL implementation हटा दिया जाएगा
    • हटाने से पहले advance notice दी जाएगी
    • minimum system requirements भी update किए जाएंगे

Vulkan and Vibrant Visuals

  • renderer modernization, Vibrant Visuals roadmap का एक अहम चरण है
  • Vulkan migration से graphics improvements की गुंजाइश बढ़ेगी और performance capabilities भी मजबूत होंगी
  • driver-related bugs कम होने की उम्मीद है
  • सबसे अहम उद्देश्य macOS पर लगातार चलने की क्षमता बनाए रखना है
    • ताकि सभी supported operating systems के players बराबरी से शामिल हो सकें

अपडेट का मतलब

  • यह बदलाव Minecraft Java को modern graphics technology stack की ओर ले जाने वाला एक महत्वपूर्ण कदम है
  • इससे game engine की technical foundation मजबूत होगी, जिससे आगे scalability और नए features जोड़ना आसान होगा
  • OpenGL से Vulkan की ओर यह बदलाव पूरे game industry में graphics API की पीढ़ीगत बदलाव की प्रवृत्ति के साथ भी मेल खाता है

3 टिप्पणियां

 
GN⁺ 2026-02-20
Hacker News की राय
  • उम्मीद है कि समय के साथ main thread का CPU overhead कम होगा
    DX11 से 12 और OpenGL से Vulkan पर पोर्ट किए गए गेम्स को सिर्फ API बदलने से performance gain नहीं मिला, बल्कि इसलिए मिला क्योंकि वे parallel draw call processing क्षमता का फायदा उठा सके
    Minecraft में bottleneck इसलिए आता है क्योंकि CPU, GPU की rendering speed से धीमा पड़ता है, इसलिए उम्मीद है कि इस बदलाव से modding environment में भी CPU headroom मिलेगी

    • मैं Linux system benchmark के लिए Unigine Heaven इस्तेमाल करता हूँ
      मज़े के लिए मैंने Windows version को Proton पर चलाकर देखा, तो performance 30% बढ़ गई
      मेरा मानना है कि यह शायद Proton द्वारा इस्तेमाल की जाने वाली dxvk library की multithreading की वजह से है
    • Vulkan में GPU पर कुछ calculations सीधे करवाने की क्षमता है, इसलिए लगता है कि voxel rendering acceleration संभव हो सकती है
  • Minecraft Java Edition सिर्फ desktop के लिए है, इसलिए mobile के Vulkan driver issues से बच जाना मुझे एक अच्छा फ़ैसला लगता है
    लेकिन Microsoft जैसी कंपनी से उम्मीद थी कि वह platform-specific stable APIs (DX12, Metal) इस्तेमाल करने वाला cross-platform RHI बना सकती थी

    • Microsoft बड़ी है, लेकिन Mojang Studios उतनी बड़ी नहीं है
      Java renderer के तीन versions maintain करना बड़ा burden है, और खासकर modding ecosystem इतना अहम है कि सिर्फ इस बदलाव से भी काफ़ी confusion होगा
      मुझे नहीं लगता कि shader mods का maintenance और मुश्किल बनाने की ज़रूरत है
    • Bedrock Edition bgfx इस्तेमाल करता है (official source)
    • Mobile पर third-party launchers ANGLE के जरिए EGL या Metal drivers इस्तेमाल करते हैं
    • Vulkan और DX12 में चुनाव वास्तव में सिर्फ surface-level difference है
      macOS पर भी Vulkan चल सकता है, इसलिए समझ नहीं आता कि कोई नया project शुरू करते समय DX12 चुनने की क्या ज़रूरत है
  • मेरे पुराने Acer C720 Chromebook (Intel HD4400 iGPU) पर Vulkan supported नहीं है, इसलिए लगता है Minecraft टूट जाएगा
    पहले इसकी ख़ासियत यह थी कि यह लगभग किसी भी hardware पर चल जाता था, इसलिए अफ़सोस है

    • अगर OpenGL rendering और Vulkan rendering के बीच switch किया जा सके, तो शायद OpenGL पर खेलना जारी रखा जा सकता है
    • Java version पुराने versions पर भी चल सकता है, इसलिए 1.7.10 को खेलते रहना भी संभव है
    • Mesa driver में उस chipset के लिए कुछ Vulkan features का support है
    • मैं भी अभी तक C720 इस्तेमाल करता हूँ. उसे SDR equipment के लिए case में रखा है, और यह सच में मेरे पसंदीदा computers में से एक है
    • यह दिलचस्प है कि OpenGL ने अलग-अलग devices पर सबसे ऊँची compatibility हासिल की
  • समझ नहीं आता कि comments को source वाली तरफ़ क्यों नहीं ले जाया जाता (संबंधित thread)

    • यह शायद दिखाता है कि आख़िरकार timing content से ज़्यादा अहम होती है
  • यह दिलचस्प है कि Microsoft, Apple की तुलना में Khronos standards के ज़्यादा क़रीब आ गया है
    उसने SPIR-V को DirectX shader compiler के output और input format के रूप में अपनाकर Vulkan के साथ interoperability बढ़ाई है

    • Microsoft पहले ही SPIR-V अपना चुका था, और Google द्वारा पहले से किए गए कुछ काम की वजह से इसका मकसद forks कम करना भी था
      Apple को OpenCL handling को लेकर बहुत शिकायतें थीं, और Sony व Nintendo की Khronos में लगभग कोई दिलचस्पी नहीं है
      असल में Khronos APIs में extension spaghetti problem की वजह से पूरी portability कमज़ोर पड़ जाती है
  • VulkanMod performance तो बहुत बढ़ाता है, लेकिन ज़्यादातर mods के साथ compatible नहीं है
    आगे अगर पूरे modpacks में भी Vulkan इस्तेमाल हो पाए, तो वह सच में रोमांचक होगा

  • उम्मीद है कि Vibrant Visuals जल्दी Java Edition में भी आए
    shader इस्तेमाल करने के लिए हमेशा mod चाहिए, यह थोड़ा खलता है

    • दरअसल 1.17 के बाद से resource packs में GL shaders सीधे शामिल किए जा सकते हैं
      बिना किसी complex loader या security risk के .zip file को drag-and-drop करके install किया जा सकता है
      यह Aperture, Iris, Optifine जितना flexible नहीं है, लेकिन features काफ़ी मिलते-जुलते हैं
      सोच रहा हूँ कि क्या Vulkan shaders भी resource packs में शामिल किए जा सकेंगे. हालाँकि game functionality टूटने का ख़तरा ज़्यादा है, इसलिए इस पर limits लग सकती हैं
    • Java Edition को बिना mods के खेलना थोड़ा अजीब लगता है. अगर ऐसा ही करना है, तो Bedrock ज़्यादा simple नहीं होगा?
  • मुझे पता नहीं था कि Java में Vulkan bindings भी हैं. शायद यह JNI इस्तेमाल करता होगा
    यह जानकर हैरानी हुई कि अभी तक OpenGL इस्तेमाल हो रहा था. Minecraft की मौजूदा स्थिति मुझे ज़्यादा पता नहीं, और desktop के लिए non-Java version भी है, यह भी पहली बार पता चला

    • JNI अब लगभग Foreign Function & Memory API से replace हो चुका है
      memory management कहीं ज़्यादा साफ़ हो जाती है, और external functions (जैसे Vulkan) के साथ bindings बनाना भी बहुत आसान हो जाता है
      मुझे लगता है कि यह हाल की Java की सबसे underrated features में से एक है
    • उम्मीद है कि JNI की जगह FFM API इस्तेमाल किया जाएगा
  • समझ नहीं आता कि एक ही game के दो versions क्यों maintain किए जाते हैं

    • शुरुआत में इरादा Bedrock पर पूरी तरह shift करने का था, लेकिन modding API कमज़ोर था और bugs भी बहुत थे, इसलिए Java अब भी पसंद किया जाता है
      Bedrock ने features के मामले में काफ़ी catch up कर लिया है, लेकिन full replacement के तौर पर वह असफल रहा
    • Java, modding community के इर्द-गिर्द टिका है, इसलिए उसे हटाने पर YouTube·Twitch ecosystem को बड़ा झटका लग सकता है
      Bedrock performance और portability में बेहतर है, लेकिन console पर तो वैसे भी modding संभव नहीं है
    • अगर Java ecosystem खो गया, तो game ही मर सकता है
      YouTube content का 90% Java पर आधारित है, इसलिए Microsoft feature parity हासिल करने पर ध्यान दे रहा है
    • Bedrock में modding limited है और Java community की उसमें दिलचस्पी नहीं है
      Microsoft के नज़रिए से दोनों versions बनाए रखकर revenue maximize करना तर्कसंगत है
    • अगर Java बंद कर दिया गया, तो बहुत से players (मेरे सहित) game छोड़ देंगे
  • उम्मीद है कि Vulkan shader compilation stutter समस्या को अच्छे से संभाला गया होगा

    • Minecraft renderer में PSO dependency कम है, इसलिए state-based stutter शायद नहीं होगा
      क्योंकि यह कोई complex material system नहीं, बल्कि एक simple voxel renderer है
    • Vulkan shader compilation से होने वाली delay से बचने के लिए ज़रूरी सारे tools देता है
      समस्या तब होती है जब engine बहुत ज़्यादा shader combinations बना देता है, या किसी खास GPU state (जैसे blending) से shader recompilation trigger होती है
      modern Vulkan में ज़्यादातर states को dynamic state के तौर पर handle किया जा सकता है, जिससे यह समस्या कम होती है
      लेकिन blending जैसी कुछ states अब भी recompilation trigger कर सकती हैं
      यानी अगर developer ऐसे dynamic states से बचे, तो delay को आसानी से रोका जा सकता है
    • मुझे लगता है कि यह Vulkan की कमी नहीं, बल्कि developer optimization की कमी का मामला है
      आजकल कई बड़ी game companies technical optimization पर लापरवाही बरतती हैं
    • एक beginner के नज़रिए से सवाल उठता है कि क्या precompiled shaders से यह समस्या हल नहीं हो सकती
 
aer0700 2026-02-21

Minecraft मूल रूप से Java में विकसित किया गया गेम था, लेकिन MS को बिकने के बाद इसे C++ में एक बार फिर बनाया गया। किसी एक गेम को पूरी तरह अलग development language में बदलकर दोबारा implement करना आसान काम नहीं रहा होगा, तो यह कैसे हुआ होगा, यह काफ़ी दिलचस्प है।

 
karikera 2026-02-24

लगता है कि उन्होंने Bedrock Edition मुख्य रूप से मोबाइल optimization के लिए बनाई थी..
मुझे लगा था कि शायद वे Java को छोड़ देंगे, लेकिन आखिरकार ऐसा लगता है कि अब दोनों को ही update किया जा रहा है।