Chrome'un bellek kullanımını azaltmak, ekibin bu yılki en önemli önceliklerinden biridir. V8'in çöp toplama sürecinde yapılan iyileştirmeler sayesinde Gmail'in bellek kullanımında% 45'e varan bir düşüş elde ettik. Ancak bu, daha başlangıç. Bellek kullanımıyla ilgili bir sonraki denememizde, sekme biriktirenleri (benim gibi) hedefliyoruz. Buna Sekme Silme denir.

Sekme atma özelliği, Chrome 46 ve sonraki sürümlerde deneme olarak kullanılabilir.
Arka plan
Çoğu kullanıcı aynı anda yalnızca tek bir sekme kullansa da, açık olan her sekme için oluşturma işlemimiz genellikle sekme başına yaklaşık 50 MB'lık bir alan kullanır. 10 sekmeniz açıksa yalnızca arka plan sekmesi durumunuzu korumak için en az 450 MB bellek harcanır. Bu durum zaman içinde biraz can sıkıcı olabilir.

Amaclarımızdan biri, aslında kullanmadığınız sekmelerde kullanılan belleği azaltmaktır. Chrome Görev Yöneticisi'nde sistem belleğimi hangi sekmelerin tükettiğine baktığımda, aşağıdaki sitelerden yalnızca bir veya ikisini "kullandığımı" görüyorum. Arka plandaki diğer sekmeler ise kullanılmamış durumda.

Bu noktada sekme atma özelliği, bellek kullanımımızı azaltmaya yardımcı olabilir.
Kullanılmayan sekmeleri silme
Sekme atma özelliği, sistem belleğinin oldukça düşük olduğu algılandığında Chrome'un sizin için çok önemli olmayan sekmeleri otomatik olarak atmasına olanak tanır. "Silme" ne anlama gelir? Atılan sekmeler silinmez. Bu uzantıyı kapatıyoruz ancak Chrome sekme şeridinde görünmeye devam ediyor. Atılmış bir sekmeye geri dönerseniz sekme tıklandığında yeniden yüklenir. Form içeriği, kaydırma konumu vb. sekme ileri/geri gezinme sırasında olduğu gibi kaydedilir ve geri yüklenir.
Ayrıca, tüm sekme kaynaklarını yerel olarak önbelleğe almanıza olanak tanıyan yeni bir özelliğimiz de var. Bu özellik, çevrimdışıyken sekme atma özelliğiyle birlikte iyi ç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 sunulur. Sayfanın önbellekten yeniden yüklenmesini etkinleştirmek için chrome://flags/#show-saved-copy
altında başka bir denemeyi deneyebilirsiniz.
Sekme silmeyi chrome://flags/#enable-tab-discarding
üzerinden etkinleştirip Chrome'u yeniden başlatarak hemen deneyebilirsiniz. Aynı Chrome chrome://flags
sayfasından bu özelliğin etkin olup olmadığını kontrol edebilirsiniz.


chrome://discards
adlı yeni sayfada, şu anda açık olan sekmeleri listeleyebilirsiniz. Bu sekmelerin sizin için ne kadar ilgi çekici olduğunu (bize göre) en ilgi çekiciden en az ilgi çekiciye doğru sıralamaya çalışıyoruz.

Özelliği test etmek için sisteminiz düşük bellek moduna girene kadar normal tarama davranışınızı sürdürebilir veya "Sekmeyi hemen sil"i tıklayarak about:discards adresinden sekme silme işlemini tetikleyebilirsiniz. Bu işlem, listedeki son sekmeyi siler. Ayrıca, ilgili "Sil" düğmesini tıklayarak belirli bir sekmeyi listeden silebilirsiniz. Atılan sekmeler [Atıldı] ön ekiyle gösterilir.

Sekme silme işlemi, sekmeleri şu sırayla siler:
- Yeni sekme sayfası, yer işaretleri vb. dahili sayfalar
- Uzun zaman önce seçilen sekmeler
- Son seçilen sekmeler
- Pencerede çalışan uygulamalar
- Sabit sekmeler
- Seçilen sekme
Sekme atma deneyini Windows ve Mac OS için Chrome Canary'da etkinleştirdik. Linux sürümü de yakında kullanıma sunulacak.

İlham: Merhaba, harika bir askıya alma
Sekme atma özelliği size tanıdık geliyorsa muhtemelen The Great Suspender gibi bu fikrin biraz daha basit bir sürümünü sunan kullanışlı Chrome uzantılarıyla karşılaşmışsınızdır. The Great Suspender, özel bir süre boyunca etkin olmadıktan sonra sekmeleri askıya alarak Chrome'un bellek ve GPU kullanımını azaltmayı amaçlar.

Sekmelerin devre dışı bırakılmasına benzer şekilde, sekmelerle tekrar etkileşime geçmeniz gerektiğinde sekmelerin askıya alınması kaldırılabilir. Great Suspender, her sekmenin başlığını ve simgesini korur. Askıya alınan sekmeleri karartılmış durumda gösterir. Böylece, dilediğiniz zaman bu sekmelere geri dönebilirsiniz.

Arka planda etkin olarak kullanmadığım sekmeler askıya alınarak bellekte yer açıldı. Ancak hâlâ etkin olarak kullandığım sekmeler (GitHub ve YouTube) normal şekilde çalışmaya devam ediyor.
Sekme atma özelliğini geliştirirken Great Suspender uzantısının yazarı ile harika bir sohbet ettik. Bu sorunu, kullanıcılarınızın işlem yapmama durumunu kaybetmek gibi bir uzantının yapabileceğinden daha verimli yollarla çözdüğümüzü görmekten memnun oldu.
Gelecekteki iyileştirmeler: Sekme serileştirici
Sekme serileştirici, sekme atma konusundaki mevcut yaklaşımımızda önemli iyileştirmelere yol açabileceğini düşündüğümüz gelecekteki bir çalışmadır. Bir Chrome sekmesinin içeriğini alıp *mevcut* durumunu ikili bir blob olarak serileştirir. Bu ikili blob daha sonra bir sekmeye serileştirilebilir.
Serileştirici, Chrome, Blink ve V8'in bir sekmeyi düzgün şekilde koruması için ihtiyaç duyduğu neredeyse her şeyi serileştirir (Bu sorunu ele alan Chrome uzantıları geçmişte bunu kolayca başaramamıştır). Serileştirme, genellikle DOM (çok sayıda WebGL ve Canvas dahil), CSS ve V8 JavaScript sanal makinesinin durumunu içerir.

Android veya ChromeOS kullanıyorsanız bellek kullanımının düşük olmasını sağlamak için arka plandaki sekmeleri agresif bir şekilde kapattığımızı (bu yayında ele alınan sekme silme denemesine benzer şekilde) biliyor olabilirsiniz. Bu sorunu çözme yöntemimizin sorunu, sekmenizin durumunun *tamamını* kaybetmesiydi.
Sekmeye tekrar ilgi gösterdiğinizde sekmeyi yeniden yüklememiz gerekir ve sekmeyle olan tüm etkileşimleriniz kaybolur. Sekme serileştirici, bu soruna ağ bağlantısını tekrar kurmanıza gerek kalmadan neredeyse tam olarak önceki durumunuza dönmenizi sağlayacak şekilde yaklaşır. Bu çalışmayla ilgili daha fazla bilgiyi ilerleyen zamanlarda paylaşmayı planlıyoruz.
Sekme atma özelliğini deneyin ve ne düşündüğünüzü bize bildirin
Bu özelliğin sizin için yararlı olup olmadığını ve nasıl iyileştirilebileceğini öğrenmekten memnuniyet duyarız. Özelliği deneyin, kullanın (özellikle de sekme koleksiyonu yapan biriyseniz) ve yorumlarda düşüncelerinizi bizimle paylaşın. :) Karşılaştığınız hataları crbug.com adresinden bildirmenizi de rica ederiz.