تقنية Nvidia Optimus
إن تقنية Nvidia Optimus هي تقنية تبديل وحدة معالجة الرسومات (GPU) للحاسوب تم إنشاؤها بواسطة Nvidia ، والتي تقوم، اعتمادًا على حمل الموارد الناتج عن تطبيقات برامج العميل، بالتبديل بسلاسة بين محولين للرسومات داخل نظام الكمبيوتر من أجل توفير أقصى أداء أو الحد الأدنى من استهلاك الطاقة من أجهزة عرض الرسومات الخاصة بالنظام.
تتضمن المنصة النموذجية معالج رسومات مدمجًا منخفض الأداء ، عادةً من إنتل أو AMD ، ومعالج رسومات عالي الأداء، عادةً من إنفيديا أو AMD. تعمل تقنية Optimus على توفير طاقة البطارية عن طريق إيقاف تشغيل وحدة معالجة الرسومات المنفصلة (GPU) تلقائيًا عند عدم الحاجة إليها، وإعادة تشغيلها عند الحاجة. تستهدف هذه التقنية بشكل أساسي أجهزة الكمبيوتر المحمولة . [ 1 ] [ أ ] عند تشغيل تطبيق يُحدد أنه يستفيد من أداء وحدة معالجة الرسومات المنفصلة، يتم تشغيلها، ويتم عرض التطبيق من خلال سياق عرض عبرها. وإلا ، يتم عرض التطبيق من خلال سياق عرض يستخدم وحدة معالجة الرسومات المدمجة. صُمم التبديل بين معالجات الرسومات ليكون سلسًا تمامًا ويحدث "في الخلفية".
أنظمة التشغيل المدعومة رسميًا من قبل شركة Nvidia هي Microsoft Windows و Linux . يُعد مشروع Bumblebee [ 4 ] تطبيقًا بديلًا مفتوح المصدر لدعم تقنية Optimus لنظام Linux. [ 5 ]
عملية
عندما يُشغّل المستخدم تطبيقًا، يحاول برنامج تشغيل الرسومات تحديد ما إذا كان التطبيق سيستفيد من وحدة معالجة الرسومات المنفصلة. إذا كان الأمر كذلك، يتم تشغيل وحدة معالجة الرسومات من وضع الخمول وتُسند إليها جميع عمليات العرض. مع ذلك، حتى في هذه الحالة، تُستخدم وحدة معالجة الرسومات المدمجة (IGP) لإخراج الصورة النهائية. عند استخدام تطبيقات أقل استهلاكًا للموارد، تتولى وحدة معالجة الرسومات المدمجة زمام الأمور بالكامل، مما يُطيل عمر البطارية ويُقلل ضوضاء المروحة. في نظام ويندوز، يُتيح برنامج تشغيل Nvidia أيضًا خيار تحديد وحدة معالجة الرسومات يدويًا من قائمة النقر بزر الماوس الأيمن عند تشغيل ملف تنفيذي.
ضمن طبقة واجهة الأجهزة في برنامج تشغيل وحدة معالجة الرسومات من إنفيديا، توفر طبقة توجيه أوبتيموس إدارة ذكية للرسومات. كما تتضمن هذه الطبقة مكتبة على مستوى النواة للتعرف على فئات وكائنات محددة مرتبطة بأجهزة الرسومات المختلفة وإدارتها. يُنفذ هذا الابتكار من إنفيديا إدارة الحالة والسياق، ويُخصص موارد البنية حسب الحاجة لكل عميل لبرنامج التشغيل (أي تطبيق). في نظام إدارة السياق هذا، لا يكون أي تطبيق على دراية بالتطبيقات الأخرى التي تستخدم وحدة معالجة الرسومات في الوقت نفسه.
من خلال التعرف على الفئات المحددة، يمكن لطبقة توجيه Optimus المساعدة في تحديد متى يمكن استخدام وحدة معالجة الرسومات (GPU) لتحسين أداء العرض. وبالتحديد، ترسل إشارة لتشغيل وحدة معالجة الرسومات عند العثور على أي من أنواع الاستدعاءات الثلاثة التالية:
- استدعاءات DirectX: أي محرك ألعاب ثلاثي الأبعاد أو تطبيق DirectX سيؤدي إلى تشغيل هذه الاستدعاءات
- استدعاءات DXVA : سيؤدي تشغيل الفيديو إلى تشغيل هذه الاستدعاءات (DXVA = تسريع فيديو DirectX)
- استدعاءات CUDA : ستُفعّل تطبيقات CUDA هذه الاستدعاءات
تساعد الملفات الشخصية المُعدة مسبقًا أيضًا في تحديد ما إذا كانت هناك حاجة إلى طاقة رسومات إضافية. ويمكن إدارة هذه الملفات باستخدام لوحة تحكم Nvidia.
تتجنب تقنية Optimus استخدام مُضاعِف الإشارات المادية ، وتمنع الأعطال المصاحبة لتغيير مُشغِّل العرض من معالج الرسوميات المدمج (IGP) إلى معالج الرسوميات (GPU)، وذلك بنقل سطح العرض من مُخزن إطارات معالج الرسوميات عبر ناقل PCI Express إلى مُخزن الإطارات الرئيسي المُستخدم من قِبل معالج الرسوميات المدمج. يُعد مُحرك نسخ Optimus بديلاً جديداً لعمليات نقل DMA التقليدية بين ذاكرة مُخزن إطارات معالج الرسوميات والذاكرة الرئيسية المُستخدمة من قِبل معالج الرسوميات المدمج.
قد يُصبح استخدام معالج الرسوميات المدمج (IGP) لإخراج البيانات من معالج الرسوميات المنفصل (GPU) عائقًا عند معدلات الإطارات العالية. في أجهزة الكمبيوتر المحمولة المخصصة للألعاب أو التي تُستخدم كبديل لأجهزة سطح المكتب (حيث تُعطى الأولوية للأداء على حساب كفاءة استهلاك الطاقة)، تعرضت تقنية Optimus لانتقادات شديدة. وقد وفر بعض الموردين حلولًا لتقنية مُضاعِف الإشارات المادية لإيقاف تشغيل بنية Optimus تمامًا. قد تتم هذه العملية من خلال نظام الإدخال والإخراج الأساسي (BIOS)، وغالبًا ما تتطلب إعادة تشغيل الجهاز.
دعم لينكس

على الرغم من أنها كانت إشكالية تاريخياً، إلا أن برنامج تشغيل Nvidia الثنائي منذ الإصدار التجريبي 435.17 يدعم رسمياً تقنية Optimus لتفريغ عرض تطبيقات OpenGL وVulkan تحت اسم "PRIME". [ 6 ]
أضاف برنامج تشغيل Nvidia الثنائي دعمًا جزئيًا لتقنية Optimus في 3 مايو 2013 في الإصدار 319.17. [ 7 ] اعتبارًا من مايو 2013، لم يعد يدعم إدارة الطاقة للبطاقة المنفصلة، مما يعني أنه لا يمكنه توفير طاقة البطارية عن طريق إيقاف تشغيل بطاقة رسومات Nvidia بالكامل. [ 8 ]
يحاول مشروع Bumblebee مفتوح المصدر توفير دعم لتبديل شريحة الرسومات. وكما هو الحال في نظام ويندوز، تعمل جميع التطبيقات افتراضيًا من خلال معالج الرسومات المدمج. اعتبارًا من عام 2013لا يمكن تشغيل برنامج بأداء رسومي مُحسّن على وحدة معالجة الرسومات المنفصلة إلا باستدعائه صراحةً، على سبيل المثال، باستخدام سطر الأوامر أو من خلال أيقونة اختصار مُخصصة. ولا تتوفر حاليًا خاصية الكشف التلقائي والتبديل بين معالجات الرسومات.
العمل الجاري على واجهة رسومية - bumblebee-ui - يهدف إلى السماح ببدء تشغيل البرامج بشكل أكثر ملاءمة لتحسين الأداء الرسومي عند الضرورة.
يمكن إعداد Steam لنظام التشغيل Linux لتشغيل الألعاب باستخدام وحدة معالجة الرسومات المنفصلة ( مجتمع Steam: Optimus وSteam لنظام التشغيل Linux ).
يستمر مشروع Bumblebee في التطور مع إجراء المزيد من التغييرات البرمجية الضرورية على بنية الرسومات في نظام Linux. وللاستفادة القصوى منه، يُنصح باستخدام توزيعة Linux حديثة. اعتبارًا من عام 2013تتوفر مستودعات برامج Bumblebee لأنظمة Arch Linux و Debian و Fedora و Gentoo و Mandriva و OpenSuSE و Ubuntu . ويمكن استخدام حزمة المصدر لتوزيعات أخرى.
قوبلت محاولة شركة Nvidia لدعم تقنية Optimus من خلال DMA-BUF ، وهي آلية في نواة نظام Linux لمشاركة المخازن المؤقتة عبر الأجهزة (وربما وحدات معالجة الرسومات)، بالرفض من قبل مطوري النواة في يناير 2012 بسبب عدم توافق الترخيص بين كود النواة المرخص بموجب رخصة GPL وكود Nvidia المرخص بموجب رخصة احتكارية . [ 9 ]
عندما لا توجد آلية برمجية للتبديل بين محولات الرسومات، لا يمكن للنظام استخدام وحدة معالجة الرسومات Nvidia على الإطلاق، حتى لو كان برنامج تشغيل الرسومات المثبت يدعمها. [ 10 ]
دعم أوبتيموس الحديث
تدعم العديد من توزيعات لينكس الآن خاصية تفريغ معالجة الرسومات من إنفيديا، حيث تتولى بطاقة إنفيديا جميع عمليات العرض. على سبيل المثال، في جهاز كمبيوتر محمول مزود ببطاقة رسومات إنتل مدمجة، متصلة فعليًا بشاشة الكمبيوتر، تقوم بطاقة إنفيديا بالعرض على ذاكرة العرض الخاصة بالبطاقة المدمجة. لتجنب تشوه الصورة، يمتلك خادم Xorg آلية تُسمى Prime Synchronization لتوقيت تحديثات المخزن المؤقت، على غرار Vsync؛ ويجب تحميل برنامج تشغيل إنفيديا كوحدة نمطية في نواة النظام لكي تعمل هذه الخاصية. لا يتم تفعيل هذه الخاصية عادةً بشكل افتراضي.
على عكس Bumblebee، يتيح هذا الحل لتفريغ العمليات عرض الرسومات على شاشات متعددة. أما عيبه فهو أن تفعيل بطاقة Nvidia يتطلب تسجيل الخروج.
يُعدّ برنامج "prime-select" الخاص بنظام أوبونتو التطبيق الرائد لهذا النهج، إذ يحتوي على أداة سطر أوامر وأداة رسومية لإيقاف تشغيل بطاقة Nvidia. على عكس نظام ويندوز، لا يتم ذلك تلقائيًا، بل يجب على المستخدم إعادة تشغيل جلسة تسجيل الدخول لتطبيق التغيير.
يتوفر برنامج prime-select الخاص بنظام أوبونتو في توزيعات أوبونتو المشتقة، والتي تضيف في بعض الحالات أدواتها الرسومية الخاصة. وقد تم نقل أو إعادة تطبيق أسلوب prime-offload في توزيعتي Arch و Fedora.
في عام 2016، أعلنت شركة إنفيديا عن ميزة "التوزيع المحايد لبرمجيات OpenGL"، مما يعني إمكانية تثبيت برامج تشغيل كل من إنتل وإنفيديا في آن واحد. وقد سهّل هذا الأمر عملية التبديل بين الأوضاع بشكل كبير، على الرغم من أن توزيعات لينكس لم تبدأ بالاستفادة من هذه الميزة إلا في عام 2018.
تحتوي بعض أجهزة الكمبيوتر المحمولة القديمة والمتطورة على إعدادات BIOS تتيح اختيار حالة مُضاعِف الإشارات يدويًا للتبديل بين جهازي الفيديو. في هذه الحالة، يمكن لمستخدم نظام لينكس ضبط الكمبيوتر المحمول على تكوينات عتادية تحتوي على جهاز رسومات واحد فقط. هذا يُجنّب المستخدم تعقيدات تشغيل برنامجَي تشغيل رسومات، ولكنه لا يُوفّر أي طاقة.
منذ إصدار برنامج التشغيل 435، يدعم برنامج التشغيل الخاص تفريغ عرض نافذة واحدة. يقوم بإنشاء شاشة عرض افتراضية حيث يقوم معالج الرسوميات المنفصل بالعرض عليها، والتي ستظهر في نافذة على الشاشة الرئيسية للتطبيق المُفرَّغ. [ 11 ] اعتبارًا من أكتوبر 2019، يتطلب هذا استخدام فرع تطوير xorg، نظرًا لعدم إصدار التعديلات اللازمة بعد.
انظر أيضاً
ملحوظات
مراجع
- ↑ "تقنية أوبتيموس" . إنفيديا . 22 أكتوبر 2012. تم الاطلاع عليه بتاريخ 10 أبريل 2016 .
- ↑ لي، تيرينس (23 أبريل 2011). "إنفيديا ستطلق تقنية Optimus / Synergy لأجهزة سطح المكتب في معرض COMPUTEX" . تم الاطلاع عليه بتاريخ 10 أبريل 2016 .
- ↑ بوب، سيباستيان (26 أبريل 2011). "إنفيديا أوبتيموس تصل إلى أجهزة الكمبيوتر المكتبية" . تم الاطلاع عليه بتاريخ 10 أبريل 2016 .
- ↑ "Bumblebee Daemon" . GitHub . 22 أبريل 2013. تم الاطلاع عليه في 10 أبريل 2016 .
- ↑ "إصدار Bumblebee 3.0 "Tumbleweed"" . 20 يناير 2012. تم الاطلاع عليه بتاريخ 10 أبريل 2016 .
- ↑ لارابيل، مايكل (13 أغسطس 2019). "برنامج تشغيل NVIDIA 435.17 التجريبي لنظام Linux يُضيف ميزة Vulkan + OpenGL PRIME Render Offload" . فورونيكس . تم الاطلاع عليه في 3 مارس 2024 .
- ↑ بلاتنر، آرون (2 مايو 2013). "برنامج تشغيل لينكس، سولاريس، وفري بي إس دي 319.17 (إصدار فرعي طويل الأمد)" . إنفيديا . تم الاطلاع عليه في 10 أبريل 2016 .
- ↑ "السائق المملوك لـ NVIDIA 319.17 с поддеробой и RandR 1.4" (بالروسية). 2 مايو 2013 . تم الاسترجاع 10 أبريل 2016 .
- ↑ "إنفيديا تتحدث عن إمكانيات أوبتيموس لنظام لينكس" . فورونيكس. 25 يناير 2012.
- ↑ «في أجهزة الكمبيوتر المحمولة التي لا تحتوي على وحدة مُضاعِف الإشارات هذه، لا يمكنك حاليًا استخدام وحدة معالجة الرسومات NVIDIA للعرض.» ، 23 يوليو 2010، تاريخ الوصول 27 نوفمبر 2010. مؤرشف في 18 يوليو 2011، في أرشيف الإنترنت (Wayback Machine) .
- ↑ "الفصل 35. تفريغ عرض PRIME" . download.nvidia.com . تم الاطلاع عليه بتاريخ 9 أكتوبر 2019 .
- إنفيديا
- أجهزة الرسومات
