मुझे लगता है कि बहुत सारे उत्तर एक महत्वपूर्ण बिंदु को याद करते हैं: आप ऐसे एप्लिकेशन लिख सकते हैं जो सीधे हार्डवेयर तक पहुंचते हैं, लेकिन आधुनिक ऑपरेटिंग सिस्टम पर नहीं । यह सिर्फ समय की समस्या नहीं है, लेकिन "आपके पास विकल्प नहीं है" समस्या है।
विंडोज, लिनक्स, ओएसएक्स, आदि सभी मनमाने ढंग से अनुप्रयोगों के लिए सीधे हार्डवेयर पहुंच पर प्रतिबंध लगाते हैं। यह सुरक्षा कारणों के लिए महत्वपूर्ण है: आप नहीं चाहते कि कोई भी रैंडम ऐप उसी कारण से मनमाने ढंग से GPU मेमोरी को पढ़ने में सक्षम हो, आप नहीं चाहते कि कोई भी रैंडम ऐप सिस्टम मेमोरी को पढ़ने में सक्षम हो। आपके बैंक खाते के लिए फ़्रेमबफ़र जैसी चीजें या व्हाट्सएप GPU मेमोरी में रहते हैं। आप चाहते हैं कि सामान आपके ओएस द्वारा अलग और संरक्षित और संरक्षित हो।
केवल ड्राइवर ही अधिकांश हार्डवेयर से सीधे बात कर सकते हैं, और ड्राइवर से बात करने का एकमात्र तरीका ओएस 'एक्सपोज़्ड एचएएल' और प्रत्येक ड्राइवर के स्वामित्व और असंगत इंटरफ़ेस के माध्यम से है। वह ड्राइवर इंटरफ़ेस न केवल प्रत्येक विक्रेता के लिए अलग-अलग होगा, बल्कि ड्राइवर के संस्करणों के बीच भी अलग-अलग होगा, जिससे उपभोक्ता एप्लिकेशन में सीधे इंटरफ़ेस से बात करना असंभव हो जाएगा। इन परतों को अक्सर एक्सेस कंट्रोल द्वारा कवर किया जाता है जो किसी एप्लिकेशन के लिए उन्हें एक्सेस करने की क्षमता को और सीमित कर देता है।
तो नहीं, आपका गेम सीधे हार्डवेयर का उपयोग नहीं कर सकता, जब तक कि आप केवल DOS जैसे असुरक्षित ऑपरेटिंग सिस्टम को लक्षित नहीं कर रहे हैं, और आधुनिक उपभोक्ता ऑपरेटिंग सिस्टम पर गेम के लिए आपका एकमात्र संभव विकल्प DirectX, OpenGL या जैसे सार्वजनिक API को लक्षित करना है Vulkan।