Chromium Blog
News and developments from the open source browser project
Smarter garbage collection for smoother browsing and less memory usage
Tuesday, December 8, 2015
Posted by Seth Thompson,
V8 Track Commentator
In order to ensure a smooth, snappy experience when browsing in Chrome, it’s essential to free unused memory. The
garbage collector
in the V8 JavaScript engine has been
optimized
to reclaim memory as quickly as possible to shorten pauses to the main thread of execution. But even small pauses can cause
jank
when they happen at inopportune moments and block important events like clicks, scrolls, or animation frames. To make garbage collection less noticeable, we’ve integrated
Blink’s task scheduler
into V8 (starting in M41), so that pauses can be not just short, but intelligently scheduled during moments when the browser is idle. New knowledge of completely inactive pages (such as background tabs), also allows V8 to free larger chunks of memory all at once. The result is reduced jank when browsing and lower memory usage overall.
Scheduling garbage collection tasks (red) in otherwise idle periods (blue).
Smarter garbage collection makes 3D animations and games play smoothly with reduced lag and stuttering. The new task scheduler integration into V8 provides higher frame-rates more consistently for gameplay and rendering. Between Chrome 41 and Chrome 46, our score for the 3D benchmark
OORT Online
, which measures smooth rendering of WebGL graphics, increased by up to 33%, just shy of the maximum 10,000 points on a modern desktop.
Memory reduction from the new system is particularly pronounced when the browser is idle for a few minutes or more. Leaving a Gmail tab unused for 2.5 minutes, for example, reduces memory consumption by
up to 45%
between Chrome 45 and previous versions!
In addition to providing a smoother, faster browsing experience for the user, these changes empower developers to push the limits of Chrome with more powerful applications and better graphics
. Stay tuned for more V8 optimizations and
check out our deep dive into garbage collection timing
on the new
V8 blog
for more details.
Labels
$200K
1
10th birthday
4
abusive ads
1
accessibility
1
ad blockers
1
ad blocking
2
advanced capabilities
1
android
1
anti abuse
1
anti-deception
1
background periodic sync
1
badging
1
benchmarks
1
beta
20
billing
1
birthday
4
blink
2
browser
2
browser interoperability
1
bundles
1
capabilities
6
capable web
1
cds
1
cds18
2
cds2018
1
chrome
24
chrome ads
1
chrome apps
3
chrome dev summit
1
chrome dev summit 2018
1
chrome dev summit 2019
1
chrome developer
1
Chrome Developer Center
1
chrome developer summit
1
chrome devtools
1
Chrome extension
1
Chrome Frame
1
Chrome lite
1
Chrome on Android
1
chrome privacy
2
chrome security
3
chrome web store
29
chromedevtools
1
chromeframe
3
chromeos
3
chromium
4
cloud print
1
coalition
1
coalition for better ads
1
contact picker
1
content indexing
1
cookies
1
csrf
1
css
1
dart
8
dashboard
1
Data Saver
3
Data saver desktop extension
1
day 2
1
deceptive installation
1
declarative net request api
1
design
1
Developer Program Policy
1
devtools
13
discoverability
1
DNS-over-HTTPS
2
DoH
2
emscriptem
1
enterprise
1
extensions
27
faster web
1
features
1
feedback
2
field data
1
frameworks
1
fugu
2
fund
1
funding
1
gdd
1
google earth
1
google io 2019
1
google web developer
1
googlechrome
12
harmful ads
1
html5
11
iframes
1
images
1
incognito
1
intent to explain
1
ios
1
javascript
5
lab data
1
lazy-loading
1
lighthouse
2
linux
2
Lite Mode
2
Lite pages
1
loading interventions
1
loading optimizations
1
mac
1
manifest v3
1
mobile
2
na
1
native client
8
native file system
1
New Features
5
octane
1
open web
3
origin trials
2
pagespeed insights
1
pagespeedinsights
1
payments
1
performance
3
performance tools
1
play store
1
portals
3
privacy
1
progressive web apps
2
Project Strobe
1
protection
1
pwa
1
releases
3
removals
1
rlz
1
safe browsing
1
security
33
site isolation
1
slow loading
1
sms receiver
1
spdy
2
spectre
1
speed
1
ssl
2
store listing
1
strobe
1
subscription pages
1
suspicious site reporter extension
1
tools
1
transparency
1
trusted web activities
1
twa
2
user data policy
1
v8
6
wasm
1
web
1
web apps
1
web assembly
1
web intents
1
web packaging
1
web request api
1
web.dev
1
webapi
1
webassembly
1
webaudio
3
webgl
7
webkit
5
webmaster
1
webp
5
webrtc
5
websockets
5
webtiming
1
writable-files
1
yerba beuna center for the arts
1
Archive
2019
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2018
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2017
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2016
Dec
Nov
Oct
Sep
Aug
Jun
May
Apr
Mar
Feb
Jan
2015
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2014
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2013
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2012
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2011
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2010
Dec
Nov
Oct
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2009
Dec
Nov
Sep
Aug
Jul
Jun
May
Apr
Mar
Feb
Jan
2008
Dec
Nov
Oct
Sep
Feed
Follow @ChromiumDev
Give us feedback in our
Product Forums
.