تجاهل علامات التبويب في Chrome - تجربة لتوفير الذاكرة

Addy Osmani
Addy Osmani

يعد تقليل البصمة الكربونية في Chrome إحدى أهم أولويات الفريق هذا العام. لقد شهدنا انخفاضًا بنسبة تصل إلى 45% في استخدام ذاكرة GMail بفضل التحسينات في عملية جمع البيانات غير المرغوب فيها في V8، لكننا ما زلنا في بداية الطريق. إن إحدى تجاربنا التالية في استخدام الذاكرة تستهدف مكنزنز علامات التبويب (مثلي). ويُطلق عليها تجاهل علامة التبويب.

لا تعد كل علامات التبويب المفتوحة علامات تبويب مستخدمة. إذا كانت الذاكرة منخفضة، يمكن أن يتجاهل Chrome علامات تبويب الخلفية غير المهمة.

تتوفّر ميزة تجاهل علامات التبويب كتجربة في الإصدار 46 من Chrome والإصدارات الأحدث.

الخلفية

لكل علامة تبويب فتحتها، تستغرق عملية العارض عادةً حوالي 50 ميغابايت لكل علامة تبويب، على الرغم من أن معظم الأشخاص يستخدمون علامة تبويب واحدة فقط في كل مرة. إذا كانت لديك 10 علامات تبويب مفتوحة، يتم استهلاك 450 ميغابايت على الأقل من الذاكرة للحفاظ على حالة علامة تبويب الخلفية. يمكن أن يصبح هذا أمرًا صعبًا بعض الشيء بمرور الوقت.

الذاكرة المطلوبة لكل علامة تبويب

يتمثل أحد أهدافنا في تقليل الذاكرة المستخدمة في علامات التبويب التي لا تستخدمها في الواقع. إذا نظرت إلى علامات التبويب التي تستهلك ذاكرة نظامي في إدارة مهام Chrome، فإنني حقًا "أستخدم" واحدًا أو اثنين من المواقع أدناه بينما لا يتم استخدام علامات التبويب الأخرى في الخلفية.

إدارة المهام المطلوبة للذاكرة

وهنا يأتي دور تجاهل علامات التبويب للمساعدة في تقليل استخدامنا للذاكرة.

تجاهل علامات التبويب غير المستخدمة

من خلال تجاهل علامات التبويب، يمكن لمتصفِّح Chrome أن يتجاهل تلقائيًا علامات التبويب التي لا تهمّك، وذلك عند رصد انخفاض كبير في ذاكرة النظام. ماذا نعني بالتجاهل؟ لن تختفي علامة التبويب التي تم تجاهلها. ونحذفها ولكنها ستظل مرئية في شريط علامات التبويب في Chrome. إذا انتقلت مرة أخرى إلى علامة تبويب تم تجاهلها، ستتم إعادة تحميلها عند النقر عليها. حيث يتم حفظ محتوى النموذج وموضع التمرير وما إلى ذلك واستعادتها بالطريقة نفسها التي كانت عليها أثناء التنقل بين علامات التبويب للأمام/للخلف.

تتوفّر أيضًا ميزة جديدة تتيح التخزين المؤقت لجميع موارد علامات التبويب على الجهاز، وتعمل هذه الميزة بشكل جيد مع ميزة تجاهل علامات التبويب عندما تكون غير متصل بالإنترنت. عند إعادة تنشيط علامة التبويب، نتيح لك خيار إعادة تحميل النسخة المخزنة مؤقتًا التي تم تحميلها مسبقًا عبر الشبكة. لتفعيل إعادة تحميل الصفحة من ذاكرة التخزين المؤقت، يمكنك تجربة تجربة أخرى ضمن chrome://flags/#show-saved-copy.

يمكنك تجربة تجاهل علامة التبويب اليوم من خلال تفعيلها عبر chrome://flags/#enable-tab-discarding وإعادة تشغيل Chrome. يمكنك التحكّم في تفعيلها أو إيقافها من خلال صفحة chrome://flags نفسها في Chrome.

تفعيل تجاهل علامة التبويب للقطة الشاشة.
لقطة شاشة لزر إعادة التشغيل

تتيح لك صفحة جديدة بعنوان "chrome://discards" إدراج علامات التبويب المفتوحة حاليًا ونحاول مشاركة بعض المعلومات المفيدة حول مدى اهتمامها بك (من وجهة نظرنا)، من الأكثر إلى الأقل أهمية بالنسبة إليك.

لقطة شاشة لصفحة علامات التبويب التي تم تجاهلها

لاختبار هذه الميزة، يمكنك إمّا تنفيذ سلوك التصفّح العادي إلى أن يكون نظامك في وضع الذاكرة المنخفضة، أو بدلاً من ذلك شغّل إهمال علامة تبويب من about:discards من خلال النقر على "تجاهل علامة التبويب الآن". سيؤدي ذلك إلى تجاهل علامة التبويب الأخيرة في القائمة. يمكنك أيضًا تجاهل علامة تبويب معينة من القائمة عن طريق النقر فوق الزر "إلغاء" المقابل لها. ستظهر علامة تبويب تم تجاهلها مع بادئة [تم تجاهلها].

لقطة شاشة تعرض مثالاً على علامة تبويب تم تجاهلها.

يؤدي تجاهل علامة التبويب إلى تجاهل علامات التبويب بهذا الترتيب:

  • الصفحات الداخلية مثل صفحة علامة تبويب جديدة، والإشارات المرجعية، وما إلى ذلك
  • علامات التبويب التي تم اختيارها منذ وقت طويل
  • علامات التبويب التي تم اختيارها مؤخرًا
  • التطبيقات التي يتم تشغيلها في نافذة
  • علامات التبويب المثبَّتة
  • علامة التبويب المحدّدة

لقد فعّلنا تجربة تجاهل علامة التبويب في Chrome Canary على نظامَي التشغيل Windows وMac، وسنطرحها قريبًا في نظام التشغيل Linux.

تؤخذ علامات التبويب المثبَّتة في الاعتبار أيضًا عند النظر في ما إذا كان يجب تجاهل إحدى علامات التبويب.

مصدر إلهام: مرحبًا بك يا حمالة الملابس الرائعة

إذا كانت علامة التبويب تتجاهل محتوى مألوفًا، يعود السبب إلى أنّك صادفت على الأرجح إضافات مفيدة على Chrome تمنحك نسخة أبسط قليلاً من هذه الفكرة، مثل The Great Commenter. يهدف تطبيق Great Pendinger إلى تقليل مساحة ذاكرة Chrome ووحدة معالجة الرسومات (GPU) من خلال تعليق علامات التبويب بعد فترة مخصَّصة من عدم النشاط.

لقطة شاشة للحامل

يمكن إلغاء تعليق علامات التبويب تمامًا كما يحدث عندما تحتاج إلى التفاعل معها مرة أخرى. ويحتفظ تطبيق Great لمنتج جديد بالعنوان

لقطة شاشة للرمز المفضّل لعلامات التبويب المعلَّقة

تم تعليق علامات التبويب في الخلفية التي لا أستخدمها بشكل نشط، وهي محفوظة في الذاكرة. ومع ذلك، لا تزال علامات التبويب التي ما زلت أستخدمها بشكل نشط (GitHub وYouTube) تعمل كالعادة.

لقد أجرينا محادثة رائعة مع مؤلف الإضافة Great علّق جدًّا أثناء العمل على تجاهل علامة التبويب، ويسرُّنا أنّنا نعالج هذه المشكلة في الأصل بطرق أكثر فعالية من الإضافات، مثل فقدان حالة عدم اتخاذ أي إجراءات للمستخدم.

التحسينات المستقبلية: أداة إنشاء تسلسل علامات التبويب

يُعد تسلسل علامات التبويب جزءًا من العمل المستقبلي الذي نعتقد أنه قد يؤدي إلى تحسينات كبيرة في نهجنا الحالي تجاه تجاهل علامات التبويب. يأخذ محتويات علامة تبويب Chrome ويُنشئ تسلسلاً لحالتها *الحالية* في كائن ثنائي كبير. ويمكن إلغاء تسلسل هذا الكائن الثنائي الكبير لاحقًا إلى علامة تبويب.

سيُنشئ المتسلسل كل شيء يحتاجه Chrome وBlink وV8 تقريبًا للاحتفاظ بعلامة تبويب بشكل صحيح (شيء لم تتمكن إضافات Chrome التي تعالج هذه المشكلة في السابق من تحقيقه بسهولة). قد يتضمن التسلسل العناصر المشبوهة المعتادة: DOM (مع العديد من WebGL وCanvas) وCSS وحالة الجهاز الافتراضي V8 JavaScript.

لقطة شاشة لمفهوم المسلسل

إذا كنت تستخدم Android أو ChromeOS، قد تعلم أنّنا (على غرار تجربة تجاهل علامة التبويب التي تتناولها هذه المشاركة) نعمل على إيقاف علامات التبويب في الخلفية بشكل مكثّف لضمان انخفاض استخدام الذاكرة. كانت المشكلة في طريقة تعاملنا مع هذا الأمر هي أن علامة التبويب ستفقد *كل* حالتها.

عندما أظهرت اهتمامك بعلامة التبويب مرة أخرى، كان علينا إعادة تحميلها وسيفقد كل تفاعلك معها. يتعامل متسلسل علامات التبويب مع هذه المشكلة فقط بطريقة تعيدك إلى ما كنت عليه بالضبط تقريبًا دون الحاجة إلى الرجوع إلى الشبكة. نتطلع إلى مشاركة المزيد من المعلومات حول هذا العمل في وقت لاحق.

جرِّب تجاهل علامة التبويب وأخبِرنا برأيك

نودّ معرفة ما إذا كانت هذه الميزة مفيدة لك وكيف يمكن تحسينها. ننصحك بتجربتها وتجربتها (خاصةً إذا كنت تجمّع علامات التبويب) وإطلاعنا على رأيك في قسم التعليقات. :) نقدّر أيضًا إرسال طلبات بشأن أي أخطاء تواجهها على crbug.com.