Status
()
People
(Reporter: Joe Drew (not getting mail), Assigned: Joe Drew (not getting mail))
Tracking
Firefox Tracking Flags
(Not tracked)
Details
Checking in bug 575521 caused an 8% regression on Talos DHTML. We should look into this to see if there's anything obviously wrong here, or any good ways to fix it.
(Assignee) | ||
Comment 1•8 years ago
|
||
Running the worst-hit tdhtml test, slidingballs.html, 10 times gives me the following: Without client storage (the most important part of bug 575521), memcpy is called 595684 times for a total of 81505249 bytes. With client storage, memcpy is called 529385 times for a total of 620857396 bytes. (An order of magnitude larger!) The most common stack for this memcpy is: libSystem.B.dylib`memcpy GeForceGLDriver`gldFinish+0x2c676 GeForceGLDriver`gldIsTextureResident+0x189 GeForceGLDriver`gldCreateTexture+0x4de GeForceGLDriver`gldFinish+0x2916f GeForceGLDriver`gldUpdateDispatch+0x31a GLEngine`gleDoDrawDispatchCore+0x10a GLEngine`gleDrawArraysOrElements_Entries_Body+0x9e GLEngine`glDrawArrays_Exec+0x36a libGL.dylib`glDrawArrays+0x2d XUL`mozilla::layers::ThebesLayerBufferOGL::RenderTo(nsIntPoint const&, mozilla::layers::LayerManagerOGL*)+0x23d XUL`mozilla::layers::ThebesLayerOGL::RenderLayer(int, nsIntPoint const&)+0x12c XUL`mozilla::layers::ContainerLayerOGL::RenderLayer(int, nsIntPoint const&)+0x279 XUL`mozilla::layers::ContainerLayerOGL::RenderLayer(int, nsIntPoint const&)+0x279 XUL`mozilla::layers::LayerManagerOGL::Render()+0x259 XUL`mozilla::layers::LayerManagerOGL::EndTransaction(void (*)(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*), void*)+0x8c XUL`nsDisplayList::PaintForFrame(nsDisplayListBuilder*, nsIRenderingContext*, nsIFrame*, unsigned int) const+0x4f7 XUL`nsDisplayList::PaintRoot(nsDisplayListBuilder*, nsIRenderingContext*, unsigned int) const+0x2d XUL`nsLayoutUtils::PaintFrame(nsIRenderingContext*, nsIFrame*, nsRegion const&, unsigned int, unsigned int)+0x4e4 XUL`PresShell::Paint(nsIView*, nsIView*, nsIWidget*, nsRegion const&, nsIntRegion const&, int, int)+0x1a4 I think the only way to reduce the cost of this is probably to use glTextureRangeAPPLE.
(Assignee) | ||
Comment 3•7 years ago
|
||
Hooray!!
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•