Chrome'da Sekme Silme İşlemi - Bellek Tasarrufu Denemesi

Addy Osmani
Addy Osmani

Chrome'un bellek ayak izini azaltmak, ekibin bu yıl en önemli önceliklerinden biri. V8'in çöp toplama sürecinde yapılan iyileştirmeler sayesinde Gmail'in bellek kullanımında% 45'e varan bir düşüş yaşandı ancak bu henüz yolun başındayız. Bellek kullanımıyla ilgili bir sonraki denemelerimizden biri, sekme istifçilere yönelik. Bu işleme Sekme Silme adı verilir.

Açık sekmelerin hepsi sekme kullanılmaz. Bellek miktarı düşükse Chrome, ilgi çekici olmayan arka plan sekmelerini silebilir.

Sekme silme özelliği, Chrome 46 ve sonraki sürümlerde deneme olarak kullanılabilir.

Arka plan

Çoğu kişi aynı anda yalnızca tek bir sekme kullansa da, açtığınız her sekme için sekme başına yaklaşık 50 MB alan oluştururuz. 10 sekme açıksa yalnızca arka plan sekmenizin durumunu korumak için en az 450 MB bellek harcanır. Bu durum zaman içinde biraz zorlanabilir.

Sekme başına gereken bellek

Hedeflerimizden biri, gerçekte kullanmadığınız sekmelerde kullanılan belleği azaltmaktır. Chrome Görev Yöneticisi'nde hangi sekmelerin sistem belleğimi tükettiğine baktığımda, arka plandaki diğer sekmeler kullanılmadığı halde aşağıdaki sitelerden yalnızca birini veya ikisini "kullandığımı" görüyorum.

Gerekli bellek görev yöneticisi

Sekmeleri silmek, bellek kullanımımızı azaltmaya yardımcı olabilir.

Kullanılmayan sekmeleri silme

Sekme silme, sistem belleğinin oldukça azaldığı algılandığında Chrome'un sizin için çok önemli olmayan sekmeleri otomatik olarak silmesine olanak tanır. Silme derken neyi kastediyoruz? Silinen bir sekme hiçbir yere gidemez. Kapatırız, ancak Chrome sekme şeridinde görünmeye devam eder. Silinmiş bir sekmeye geri dönerseniz bu sekme, tıklandığında yeniden yüklenir. Form içeriği, kaydırma konumu vb. kaydedilir ve geri/ileri sekme gezinmesi sırasında olduğu gibi geri yüklenir.

Tüm sekme kaynaklarının yerel olarak önbelleğe alınmasına olanak tanıyan başka bir özelliğimiz de var. Bu özellik çevrimdışı olduğunuzda sekme silmeyle sorunsuz bir şekilde çalışır. Sekme yeniden etkinleştirildiğinde, daha önce ağ üzerinden yüklenen, önbelleğe alınmış sürümü yeniden yükleme seçeneği sunarız. Sayfanın önbellekten yeniden yüklenmesini etkinleştirmek için chrome://flags/#show-saved-copy altında başka bir deneme deneyebilirsiniz.

chrome://flags/#enable-tab-discarding üzerinden etkinleştirip Chrome'u yeniden başlatarak sekmeyi hemen silmeyi deneyebilirsiniz. Etkin veya devre dışı olup olmadığını aynı Chrome chrome://flags sayfasından kontrol edebilirsiniz.

Sekme ekran görüntüsünü silmeyi etkinleştir.
Yeniden başlat düğmesinin ekran görüntüsü.

chrome://discards adlı yeni bir sayfa, şu anda açık olan sekmeleri listelemenize olanak tanır. Ayrıca, bu sekmelerin sizin için ne kadar ilgi çekici olduğuna (en çoktan en aza) ilişkin bazı bilgileri sizinle paylaşmaya çalışırız.

Silinen sekmeler sayfasının ekran görüntüsü.

Özelliği test etmek için, sisteminiz düşük bellek moduna geçene kadar normal tarama davranışınızı gerçekleştirebilir veya "Sekmeyi şimdi sil"i tıklayarak about:discards öğesinden bir sekme silme işlemi tetikleyebilirsiniz. Bu işlem, listedeki son sekmeyi siler. İlgili "Sil" düğmesini tıklayarak da listeden belirli bir sekmeyi silebilirsiniz. Silinmiş sekme, [Silindi] önekiyle gösterilir.

Silinen sekme örneğinin ekran görüntüsü.

Sekmenin silinmesi sekmeleri şu sırayla siler:

  • Yeni sekme sayfası, yer işaretleri vb. gibi dahili sayfalar
  • Uzun zaman önce seçilen sekmeler
  • Son seçilen sekmeler
  • Bir pencerede çalışan uygulamalar
  • Sabit sekmeler
  • Seçilen sekme

Windows ve Mac OS için Chrome Canary'de denemeyi silme sekmesini etkinleştirdik. Yakında bir Linux uygulaması da kullanıma sunulacaktır.

Sabitlenen sekmeler, bir sekmenin silinip silinmeyeceğine bakarken de dikkate alınır

İlham: Merhaba, harika bir askıya alma

Sekme silme işlemi size tanıdık geliyorsa bunun nedeni, bu fikrin biraz daha basit bir sürümünü sunan Muhteşem Askıya Alma Aracı gibi yararlı Chrome uzantılarıyla karşılaşmış olmanızdır. Büyük Askıya Alma Aracı, belirli bir süre işlem yapılmadığında sekmeleri askıya alarak Chrome'un bellek ve GPU ayak izini azaltmayı amaçlar.

Askıya alma ekran görüntüsü.

Sekme silme işlemine benzer şekilde, sekmelerle tekrar etkileşimde bulunmanız gerektiğinde sekmelerin askıya alınma durumu kaldırılabilir. Büyük Askıya Alma Aracı, her sekmenin başlığını ve site simgesini saklar, askıya alınmış sekmeleri soluk renkte göstererek istediğiniz zaman buraya geri dönmenizi sağlar.

Askıya alınan sekmeler site simgesinin ekran görüntüsü.

Arka plandaki aktif olarak kullanmadığım sekmeler askıya alındı. Bu nedenle bellekten tasarruf ediliyor. Ancak hâlâ aktif olarak kullandığım sekmeler (GitHub ve YouTube) normal şekilde çalışmaya devam ediyor.

Sekme silme işlemini geliştirirken Büyük Askıya Alma uzantısının yazarıyla gerçekten çok iyi bir sohbet ettik. Kendisi, bu sorunu bir uzantının yapabileceğinden daha etkili bir biçimde yerel olarak ele almamızı görmekten memnun. Örneğin, kullanıcı eylemlerinin durumunu kaybetmek gibi.

Gelecekte yapılacak iyileştirmeler: sekme serileştirici

Sekme serileştiricisi, sekme silme konusundaki mevcut yaklaşımımızda önemli gelişmelere yol açabileceğini düşündüğümüz ileri tarihli bir çalışmadır. Bir Chrome sekmesinin içeriğini alıp *geçerli* durumunu ikili blob olarak serileştirir. Bu ikili blob, daha sonra seri durumdan çıkarılarak bir sekmede kullanılabilir.

Serileştirici; Chrome, Blink ve V8'in bir sekmeyi düzgün bir şekilde korumak için ihtiyaç duyduğu hemen hemen her şeyi (bu sorunu ele alan Chrome uzantılarının geçmişte kolayca başaramadığı bir şey) serileştirir. Serileştirmenin olası nedenleri şunlardır: DOM (birçok WebGL ve Tuval dahil), CSS ve V8 JavaScript sanal makinesinin durumu.

Serileştirici konsept ekran görüntüsü

Android veya ChromeOS kullanıyorsanız bellek kullanımını düşük tutmak için arka plan sekmelerini agresif bir şekilde kapattığımızı (bu yayında bahsedilen sekmeyi silme deneyinde olduğu gibi) biliyor olabilirsiniz. Bununla başa çıkma yöntemimizdeki sorun, sekmenizin *tamamını* kaybetmesiydi.

Tekrar bu sekmeye ilgi gösterdiğinizde, sekmeyi yeniden yüklememiz gerekir ve bu durumda sekmeyle olan tüm etkileşimleriniz kaybolur. Sekme serileştiricisi, bu soruna, ağa geri dönmeden sizi neredeyse tam olarak olduğu duruma geri döndürecek şekilde yaklaşır. Gelecekte bu çalışma hakkında daha fazla bilgi paylaşmayı umuyoruz.

Sekmeleri silmeyi deneyin ve düşüncelerinizi bizimle paylaşın

Bu özelliğin sizin için faydalı olup olmadığını ve nasıl geliştirilebileceğini öğrenmek isteriz. Özel olarak sekme istifacıysanız deneyin ve düşüncelerinizi bizimle paylaşın. :) crbug.com adresinde karşılaştığınız hatalar için destek kaydı açmanızı da rica ediyoruz.