এর চেহারা থেকে এখন প্রতিটি glSet এর ভিতরে glBind (কিছু) অন্তর্ভুক্ত করতে হবে
বেপারটা এমন না. এটি অন্যান্য উপায়ে যেমন নীচে কয়েকটি অনুচ্ছেদ বর্ণনা করা হয়েছে।
এটি সত্য হলেও, মনে রাখবেন যে ক্লায়েন্ট অ্যাপ্লিকেশন থেকে জিএল সার্ভারে (ওরফে ড্রাইভার) জিএল কমান্ডগুলির নিয়মিত ফাংশন কলের তুলনায় প্রচুর ওভারহেড থাকে। এমনকি যদি আমরা ধরে নিই যে ডিএসএ ফাংশনগুলি কেবল বিদ্যমান ফাংশনগুলির আশেপাশে রয়েছে তবে তারা জিপি সার্ভারের অভ্যন্তরে থাকে এমন র্যাপারগুলি এবং এর ফলে (কিছুটা) কম ওভারহেড থাকতে পারে।
যদি ওপেনজিএল এখনও স্টেট-মেশিন হয়ে থাকে তবে কোনও একটিতে প্রয়োগ করা স্ট্রিমড পরিবর্তনগুলির সুবিধা নিতে পারে না।
জিপিইউ রাষ্ট্রীয় মেশিন নয়। জিএল স্টেট মেশিন ইন্টারফেসটি এমন একটি অনুকরণ যা ডিএসএ-এর মতো চালকের অভ্যন্তরীণ অংশকে আবৃত করে, অন্যভাবে নয়।
মোড়কের একটি স্তর মুছে ফেলা - একটি স্তর যার জন্য জিএল সার্ভারে অতিরিক্ত সংখ্যক কল প্রয়োজন - এটি একটি ছোট ছোট হলেও স্পষ্টতই জয়।
একাধিক থ্রেডের সাথে লেনদেন করার সময় রাষ্ট্র মেশিনের পদ্ধতির কোনও টনও আসে না; জিএল এই ব্যবহারের ক্ষেত্রে এখনও ভয়ঙ্কর তবে ড্রাইভাররা প্রায়শই পর্দার আড়ালে থ্রেড ব্যবহার করে এবং কোনও স্টেট মেশিনকে জিনিসগুলি নির্ভরযোগ্যভাবে কাজ করার জন্য প্রচুর থ্রেড সিঙ্ক্রোনাইজেশন বা সত্যই অভিনব সমান্তরাল অ্যালগরিদম / কনস্ট্রাক্টের প্রয়োজন হয়।
ডিএসএ এক্সটেনশানটি রাষ্ট্রের পরিবর্তনের ক্ষেত্রে এটির ক্রিয়াকলাপটি বাক্যবংশ অবিরত করে চলেছে কারণ এটি বিদ্যমান রাষ্ট্র-ভিত্তিক নথিতে একটি এক্সটেনশন এবং সম্পূর্ণ নতুন এপিআই নয়, সুতরাং এটি বিদ্যমান জিএল স্পেসিফিকেশনে প্লাগ ইন করতে প্রস্তুত থাকতে হয়েছিল নথির ভাষা এবং পরিভাষা। এমনকি যদি বিদ্যমান ভাষাটি আধুনিক গ্রাফিক্স হার্ডওয়্যার এপিআই হিসাবে তার কাজের পক্ষে বেশ মারাত্মকভাবে উপযুক্ত হয়।
নতুন ডিএসএর পিছনে যুক্তি এবং সুবিধার জন্য দয়া করে ব্যাখ্যা করুন।
সবচেয়ে বড় যুক্তিটি হ'ল পুরানো উপায়টি ছিল একটি ব্যথা। এটি এক সাথে লাইব্রেরি রচনা করা খুব কঠিন করে তোলে যা প্রতিটি জিএল স্থিতি সংশোধন করতে বা নির্ভর করতে পারে। জিএল এআইপিআইকে গভীরভাবে প্রক্রিয়াজাতীয় রাষ্ট্র পরিচালনার শিকড়গুলির কারণে কোনও বস্তু-ভিত্তিক বা কার্যকরী শৈলীতে দক্ষতার সাথে মোড়ানো কঠিন হয়ে পড়েছিল, যা বিভিন্ন নন-সি ভাষায় এপিআই মোড়ানোকে জটিল করে তোলে এবং দক্ষ গ্রাফিক্স ডিভাইস র্যাপারগুলি সরবরাহ করাও কঠিন করে তুলেছিল which ডাইরেক্ট 3 ডি থেকে বিমূর্ত ওপেনজিএল।
দ্বিতীয়টি ছিল পূর্বের হিসাবে বর্ণিত স্টেট-মেশিন এপিআই ওভারহেড।
তৃতীয়ত, ডিএসএ ফাংশনগুলি শব্দার্থক পরিবর্তন করেছে যেখানে পুরানো এপিআই থেকে উপযুক্ত যা উন্নত দক্ষতার জন্য অনুমতি দিয়েছে। পূর্বে পরিবর্তনযোগ্য জিনিসগুলিকে অপরিবর্তনীয় করে দেওয়া হয়েছিল, উদাহরণস্বরূপ, এটি জিএল সার্ভার থেকে প্রচুর বই-রাখার কোড সরিয়ে দেয়। যখন জিএল সার্ভারকে পারস্পরিক পরিবর্তনযোগ্য বস্তুগুলির সাথে ডিল করতে না হয়, তখন অ্যাপ্লিকেশনটির কলগুলি হার্ডওয়ারের কাছে প্রেরণ বা শিগগিরই (বা আরও সমান্তরাল ফ্যাশনে) যাচাই করা যেতে পারে।
-
এক্সট্রাডেট_স্টেট_অ্যাক্সেস এক্সটেনশন স্পেসিফিকেশনে অতিরিক্ত ন্যায়সঙ্গততা এবং ব্যাখ্যা দেওয়া আছে ।
-
হার্ডওয়্যার পরিবর্তনগুলি যা এপিআই ডিজাইনের সাথে প্রাসঙ্গিক তার চেয়ে অনেক বেশি।
মনে রাখবেন যে ওপেনজিএল ১৯৯১-এর পূর্ববর্তী। টার্গেট হার্ডওয়্যারটি গ্রাহক-গ্রেড গ্রাফিক্স কার্ডগুলি ছিল না (সেগুলি বিদ্যমান ছিল না) তবে বড় সিএডি ওয়ার্কস্টেশন এবং এর মতো ছিল। সেই যুগের হার্ডওয়্যারটিতে আজকের তুলনায় খুব আলাদা পারফরম্যান্সের খাম ছিল; মাল্টি-থ্রেডিং বিরল, মেমোরি বাস এবং সিপিইউগুলির গতির ফাঁক কম ছিল, এবং জিপিইউ স্থির-কার্যকারিতা ত্রিভুজ রেন্ডারিংয়ের চেয়ে কিছুটা বেশি করেছিল।
আরও এবং আরও স্থির-ফাংশন বৈশিষ্ট্য যুক্ত করা হয়েছিল। বিভিন্ন আলোর মডেল, টেক্সচার মোড, ইত্যাদি সমস্ত যুক্ত করা হয়েছিল, প্রত্যেকের নিজস্ব রাজ্যের টুকরো প্রয়োজন। আপনার হাতে যখন কয়েকটি মুখ্য রাজ্য ছিল তখন সাধারণ রাষ্ট্র-ভিত্তিক পদ্ধতির কাজ হয়েছিল। আরও বেশি সংখ্যক রাজ্য যুক্ত হওয়ার সাথে সাথে এপিআই সিমগুলিতে ফেটে যেতে শুরু করে। এপিআই আরও বিশ্রী হয়ে ওঠে তবে হার্ডওয়্যার মোড থেকে খুব বেশি দূরে সরে যায় নি, কারণ তারা প্রকৃতপক্ষে অনেকগুলি রাষ্ট্রের স্যুইচের উপর ভিত্তি করে।
তারপরে, বরাবর প্রোগ্রামেবল হার্ডওয়্যার আসে। হার্ডওয়্যারটি আরও বেশি প্রোগ্রামযোগ্য হয়ে উঠেছে, যেখানে এখন হার্ডওয়্যারটি সামান্য স্টেট, কিছু ব্যবহারকারীর সরবরাহিত প্রোগ্রাম এবং প্রচুর পরিমাণে বাফার সমর্থন করে। পূর্ববর্তী যুগের সমস্ত রাজ্যকে যেমন অনুকরণ করা হয়েছিল ঠিক তেমনি চালকের দ্বারা সেই যুগের সমস্ত স্থির-বৈশিষ্ট্য বৈশিষ্ট্যগুলি অনুকরণ করা হয়েছিল।
হার্ডওয়্যারও আরও বেশি সমান্তরাল হয়ে উঠেছে। এটি অন্যান্য হার্ডওয়্যার পুনরায় ডিজাইনের প্রয়োজন যা গ্রাফিক্সের রাজ্যের পরিবর্তনগুলি খুব ব্যয়বহুল করে তুলেছিল। হার্ডওয়্যার অপরিবর্তনীয় অবস্থার বড় ব্লকগুলিতে কাজ করে। এই পরিবর্তনগুলির কারণে, ড্রাইভার তত্ক্ষণাত ব্যবহারকারীর সেট করা রাষ্ট্রের সামান্য বিটটি প্রয়োগ করতে পারেনি, তবে পরিবর্তনগুলি স্বয়ংক্রিয়ভাবে ব্যাচ করতে হয়েছিল এবং স্পষ্টভাবে প্রয়োজনের সময় সেগুলি প্রয়োগ করতে হয়েছিল।
আধুনিক হার্ডওয়্যার ক্লাসিক ওপেনজিএল মডেল থেকে আরও বেশি কাজ করে। ডিএসএ হ'ল একটি সামান্য পরিবর্তন যা প্রায় 10+ বছর আগে প্রয়োজন হয়েছিল (এটি মূলত ওপেনজিএল 3.0 এর অংশ হিসাবে প্রতিশ্রুতি দেওয়া হয়েছিল), ডি 3 ডি 10 এর মতোই। ওপেনজিএলকে প্রাসঙ্গিক রাখতে উপরের হার্ডওয়্যার পরিবর্তিত অনেকগুলি ডিএসএর চেয়ে অনেক বেশি প্রয়োজন, যার কারণেই ওপেনজিএল মডেলকে তীব্রভাবে পরিবর্তিত করা আরও আরও বড় এক্সটেনশন পাওয়া যায় । তারপরে সম্পূর্ণ নতুন GLnext এপিআই প্লাস ডি 3 ডি 12, ম্যান্টল, মেটাল ইত্যাদি রয়েছে যার মধ্যে একটিও আউটমোডড স্টেট মেশিনকে বিমূর্ত রাখে।