Closed
Bug 611564
Opened 14 years ago
Closed 14 years ago
8% DHTML talos regression from bug 575521
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: joe, Assigned: joe)
References
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•14 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•14 years ago
|
||
Hooray!!
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•