আমি মনে করি অনেক উত্তর একটি গুরুত্বপূর্ণ বিষয় মিস করে: আপনি এমন অ্যাপ্লিকেশন লিখতে পারেন যা সরাসরি হার্ডওয়্যার অ্যাক্সেস করে তবে আধুনিক অপারেটিং সিস্টেমগুলিতে নয় । এটি কেবল সময়ের সমস্যা নয়, তবে "আপনার পছন্দ নেই" সমস্যা।
উইন্ডোজ, লিনাক্স, ওএসএক্স ইত্যাদি সমস্ত স্বেচ্ছাসেবী অ্যাপ্লিকেশনগুলিতে সরাসরি হার্ডওয়্যার অ্যাক্সেস নিষিদ্ধ করে। সুরক্ষার কারণে এটি গুরুত্বপূর্ণ: আপনি যে কোনও এলোমেলো অ্যাপ্লিকেশন যেকোন এলোমেলো অ্যাপ্লিকেশনটি সিস্টেমের মেমোরিটি পড়তে সক্ষম হন না, একই কারণে নির্বিচারে জিপিইউ মেমরি পড়তে চান না। আপনার ব্যাংক অ্যাকাউন্টের ফ্রেমবফার বা জিপিইউ মেমরিতে কী থাকবেন না like আপনি সেই জিনিসটি বিচ্ছিন্ন এবং সুরক্ষিত এবং অ্যাক্সেস আপনার ওএস দ্বারা নিয়ন্ত্রিত করতে চান।
কেবল চালকরা বেশিরভাগ হার্ডওয়্যারেই সরাসরি কথা বলতে পারেন এবং ড্রাইভারের সাথে কথা বলার একমাত্র উপায় হ'ল ওএস'র এক্সপোজড এইচএল এবং প্রতিটি ড্রাইভারের মালিকানাধীন এবং বেমানান ইন্টারফেস। এই ড্রাইভার ইন্টারফেসটি কেবল প্রতিটি বিক্রেতার জন্য আলাদা হবে না তবে এটি নিজেই ড্রাইভারের সংস্করণগুলির মধ্যেও পৃথক হবে, যার ফলে গ্রাহক অ্যাপ্লিকেশনটিতে সরাসরি ইন্টারফেসের সাথে কথা বলা অসম্ভব হয়ে পড়ে। এই স্তরগুলি প্রায়শই অ্যাক্সেস নিয়ন্ত্রণ দ্বারা আচ্ছাদিত হয় যা কোনও অ্যাপ্লিকেশন তাদের অ্যাক্সেস করার ক্ষমতাকে আরও সীমিত করে।
সুতরাং না, আপনার গেমটি কেবল হার্ডওয়ারটি সরাসরি ব্যবহার করতে পারে না, যদি না আপনি কেবল ডস-এর মতো অনিরাপদ অপারেটিং সিস্টেমকে লক্ষ্য করে যাচ্ছেন এবং আধুনিক গ্রাহক অপারেটিং সিস্টেমগুলিতে কোনও গেমের জন্য আপনার একমাত্র সম্ভাব্য বিকল্পটি ডাইরেক্টএক্স, ওপেনগল বা একটি পাবলিক এপিআই লক্ষ্য করে Vulkan।