Closed Bug 757483 Opened 9 years ago Closed 9 years ago

Score Rush gets more choppy w/ igc

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla15

People

(Reporter: luke, Assigned: billm)

References

(Blocks 1 open bug)

Details

(Whiteboard: [js:p2][games])

Attachments

(3 files)

Attached file incremental GC profile
With bug 750834 Score Rush is pretty smooth (17ms to render a frame).  The GC pauses are 35ms which is also pretty ok.  However, if you turn on igc, things are observably worse.

The per-frame profile attached also looks a lot worse: lots of recompilation, lots of interpreter time.  It almost looks like there is a bug involving igc where we throw away/recompile too much.

(To view the profile, you'll need to use billm's viewer.)
This is w/ igc turned off.  Looks much prettier.
Attachment #626050 - Attachment mime type: text/plain → application/octet-stream
Attachment #626052 - Attachment mime type: text/plain → application/octet-stream
Blocks: 735099
No longer blocks: IncrementalGC
Whiteboard: games → [js:p2][games]
Assignee: general → wmccloskey
Attached patch patchSplinter Review
We were setting the preserve flag in BeginMarkPhase, which is called once per incremental GC, and then unsetting it in ~AutoGCSession, which is called at the end of every slice. So in later slices, code was getting thrown away.
Attachment #626537 - Flags: review?(bhackett1024)
Attachment #626537 - Flags: review?(bhackett1024) → review+
Wow, that was fast!  With this patch, I can see the biggest GC slice (the first) is only 16.6ms and the whole frame renders in 28.4ms; big improvement over non-incremental.
https://hg.mozilla.org/mozilla-central/rev/9ddbd1da2f9b
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.