Closed
Bug 596746
Opened 15 years ago
Closed 2 years ago
Investigate painting performance for Sand Trap chrome experiment
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
WONTFIX
Performance Impact | ? |
People
(Reporter: humph, Unassigned)
References
()
Details
(Keywords: perf, Whiteboard: [painting-perf][chromeexperiments])
Attachments
(1 file)
125.51 KB,
image/png
|
Details |
Spin-off bug from bug 596707...the Sand Trap chrome experiment is really CPU heavy for me, more so for us than Chrome. Both of us are spending most of our time doing colour stuff, but it's interesting to see the differences:
Minefield:
----------------------------------------------------------
27.8% 27.8% CoreGraphics argb32_sample_ARGB32
0.0% 27.8% CoreGraphics argb32_image_mark
0.0% 27.8% CoreGraphics argb32_image
0.0% 27.8% libRIP.A.dylib ripl_Mark
0.0% 27.8% libRIP.A.dylib ripl_BltImage
0.0% 27.8% libRIP.A.dylib ripc_RenderImage
0.0% 27.8% libRIP.A.dylib ripc_DrawImage
0.0% 27.8% CoreGraphics CGContextDrawImage
0.0% 27.8% XUL _cairo_quartz_draw_image
0.0% 27.8% XUL _cairo_quartz_surface_fill
0.0% 27.8% XUL _cairo_surface_fill
0.0% 27.8% XUL _cairo_gstate_fill
0.0% 27.8% XUL _moz_cairo_fill_preserve
0.0% 27.8% XUL nsCanvasRenderingContext2D::DrawImage(..)
21.2% 21.2% CoreGraphics argb32_sample_argb32
0.0% 21.2% CoreGraphics argb32_image_mark
0.0% 0.0% CoreGraphics argb32_image
0.0% 0.0% libRIP.A.dylib ripl_Mark
0.0% 0.0% libRIP.A.dylib ripl_BltImage
0.0% 0.0% libRIP.A.dylib ripc_RenderImage
0.0% 0.0% libRIP.A.dylib ripc_DrawImage
0.0% 0.0% CoreGraphics dle_ExecuteDisplayList
0.0% 0.0% CoreGraphics dle_Execute
0.0% 0.0% CoreGraphics CGDisplayListDelegateExecute
0.0% 0.0% libRIP.A.dylib ripc_TilePattern
0.0% 0.0% libRIP.A.dylib ripc_GetColor
0.0% 0.0% libRIP.A.dylib ripc_Render
0.0% 0.0% libRIP.A.dylib ripc_DrawPath
0.0% 0.0% CoreGraphics CGContextDrawPath
0.0% 0.0% CoreGraphics CGContextFillPath
0.0% 0.0% XUL _cairo_quartz_surface_fill
0.0% 0.0% XUL _cairo_surface_fill
0.0% 0.0% XUL _cairo_gstate_fill
0.0% 0.0% XUL _moz_cairo_fill_preserve
0.0% 0.0% XUL nsCanvasRenderingContext2D::DrawPath(..)
Chrome:
----------------------------------------------------------
34.0% 34.0% CoreGraphics sseCGSBlendXXXX8888
0.0% 34.0% CoreGraphics argb32_image
0.0% 17.2% libRIP.A.dylib ripd_Mark
0.0% 17.2% libRIP.A.dylib ripl_BltImage
0.0% 17.2% libRIP.A.dylib ripc_RenderImage
0.0% 17.2% libRIP.A.dylib ripc_DrawLayer
0.0% 17.2% CoreGraphics CGContextDrawLayerAtPoint
0.0% 16.8% libRIP.A.dylib ripl_Mark
0.0% 16.8% libRIP.A.dylib ripl_BltImage
0.0% 16.8% libRIP.A.dylib ripc_RenderImage
0.0% 16.8% libRIP.A.dylib ripc_DrawImage
0.0% 16.8% CoreGraphics CGContextDrawImage
![]() |
||
Comment 1•15 years ago
|
||
Hmm. They're ending up in the fast optimized codepath inside argb32_image whereas we end up with the slow resize-or-something codepath. Why?
Comment 2•15 years ago
|
||
I think the Chrome profile only shows blitting the completed content layer to the window. The actual canvas rendering takes place in a different process whose profile looks very similar to ours.
Comment 3•15 years ago
|
||
This shows Firefox, Safari and Chrome profiles in Bottom-Up mode with call-stack mining on canvascontext.fillRect.
Updated•15 years ago
|
Updated•3 years ago
|
Severity: normal → S3
Updated•2 years ago
|
Performance Impact: --- → ?
Comment 4•2 years ago
|
||
This is not really relevant anymore.
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•