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

تتوفّر ميزة "تجاهل علامات التبويب" كتجربة في الإصدار 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 بالنقر على "إلغاء علامة التبويب الآن". سيؤدي ذلك إلى تجاهل علامة التبويب الأخيرة في القائمة. يمكنك أيضًا تجاهل علامة تبويب معيّنة من القائمة من خلال النقر على الزر "تجاهل" المقابل لها. ستظهر علامة التبويب التي تم تجاهلها مع بادئة [Discarded] (تجاهل).

تؤدي ميزة "تجاهل علامات التبويب" إلى تجاهل علامات التبويب بالترتيب التالي:
- الصفحات الداخلية، مثل صفحة علامة التبويب الجديدة والإشارات المرجعية وما إلى ذلك
- علامات التبويب التي تم اختيارها منذ فترة طويلة
- علامات التبويب التي تم اختيارها مؤخرًا
- التطبيقات التي تعمل في نافذة
- علامات التبويب المثبَّتة
- علامة التبويب المحدّدة
لقد فعّلنا تجربة تجاهل علامات التبويب في Chrome Canary لنظامَي التشغيل Windows وMac OS، وسيتم قريبًا طرحها على نظام التشغيل Linux.

Inspiration: hey there, great suspender
إذا كانت ميزة "تجاهل علامات التبويب" مألوفة لك، هذا لأنّك ربما صادفت إضافات مفيدة في Chrome تقدّم لك نسخة أبسط قليلاً من هذه الفكرة، مثل The Great Suspender. يهدف The Great Suspender إلى تقليل مساحة Chrome في الذاكرة ووحدة معالجة الرسومات من خلال تعليق علامات التبويب بعد فترة مخصّصة من عدم النشاط.

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

تم تعليق علامات التبويب التي لا أستخدمها في الخلفية، ما يؤدي إلى توفير الذاكرة. لا تزال علامات التبويب التي أستخدمها بشكل نشط (GitHub وYouTube) تعمل كالمعتاد.
لقد أجرينا محادثة رائعة مع مؤلف إضافة Great Suspender أثناء تطوير ميزة "تجاهل علامات التبويب"، وسرّه أن نعالج هذه المشكلة بشكلٍ أصلي وبطرق أكثر فعالية مما يمكن أن توفّره الإضافة، مثل فقدان حالة عدم تفاعل المستخدم.
التحسينات المستقبلية: أداة تسلسل علامات التبويب
إنّ أداة تسلسل علامات التبويب هي جزء من عمل مستقبلي نعتقد أنّه قد يؤدي إلى تحسينات مهمة على نهجنا الحالي لحذف علامات التبويب. يأخذ المحتوى من علامة تبويب Chrome ويسلسل حالته *الحالية* في ملف نصي ثنائي. يمكن لاحقًا تحويل هذا الرمز المبرمَج المكوّن من سلاسل ثنائية إلى علامة تبويب.
سيُنشئ معرِّف البيانات التسلسلي تسلسلًا لكل ما يحتاجه Chrome وBlink وV8 تقريبًا للحفاظ على علامة التبويب بشكلٍ سليم (وهو ما لم تتمكّن إضافات Chrome التي تعالج هذه المشكلة من تحقيقه بسهولة في السابق). سيتضمّن التسلسل العناصر المعتادة: عنصر DOM (مع تضمين الكثير من WebGL وCanvas) وCSS و حالة وحدة V8 لتشغيل JavaScript.

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