Closed
Bug 983540
Opened 12 years ago
Closed 8 years ago
B2G compositor high CPU usage when open camera or webRTC app
Categories
(Firefox OS Graveyard :: Hardware, defect)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: pchang, Unassigned)
Details
Attachments
(1 file)
|
5.61 MB,
text/plain
|
Details |
For buri/leo device, I found the compositor high CPU usage during camera or WebRTC(need to apply bug 976397).
From gecko profiler, I saw the following two CPU bottleneck.
CompositorParent::Composite
->LayerManagerComposite::Render
->LayerManagerComposite::EndFrame
->CompositorOGL::EndFrame
->__ioctl
CompositorParent::Composite
->LayerManagerComposite::Render
->CompositorOGL::DrawQuad
->memcpy
| Reporter | ||
Comment 1•12 years ago
|
||
Attached profiler from my leo device
Comment 2•12 years ago
|
||
(In reply to peter chang[:pchang][:peter] from comment #0)
> For buri/leo device, I found the compositor high CPU usage during camera or
> WebRTC(need to apply bug 976397).
>
> From gecko profiler, I saw the following two CPU bottleneck.
>
> CompositorParent::Composite
> ->LayerManagerComposite::Render
> ->LayerManagerComposite::EndFrame
> ->CompositorOGL::EndFrame
> ->__ioctl
>
This is most likely the eglSwapBuffers() call, so spending time there is normal.
> CompositorParent::Composite
> ->LayerManagerComposite::Render
> ->CompositorOGL::DrawQuad
> ->memcpy
This is probably texture upload, but I don't know how video works on b2g. I'd hope we would use a gralloc buffer there so there wouldn't be any upload necessary on the compositor side...
| Reporter | ||
Comment 3•12 years ago
|
||
(In reply to James Willcox (:snorp) (jwillcox@mozilla.com) from comment #2)
> (In reply to peter chang[:pchang][:peter] from comment #0)
> > For buri/leo device, I found the compositor high CPU usage during camera or
> > WebRTC(need to apply bug 976397).
> >
> > From gecko profiler, I saw the following two CPU bottleneck.
> >
> > CompositorParent::Composite
> > ->LayerManagerComposite::Render
> > ->LayerManagerComposite::EndFrame
> > ->CompositorOGL::EndFrame
> > ->__ioctl
> >
>
> This is most likely the eglSwapBuffers() call, so spending time there is
> normal.
That's right.
>
> > CompositorParent::Composite
> > ->LayerManagerComposite::Render
> > ->CompositorOGL::DrawQuad
> > ->memcpy
>
> This is probably texture upload, but I don't know how video works on b2g.
> I'd hope we would use a gralloc buffer there so there wouldn't be any upload
> necessary on the compositor side...
During my testing on leo, I think camera or webrtc uses gralloc buffer already. Therefore, I assume there won't have too much high CPU usage on compositor thread.
And I didn't find the high CPU issue on Nexus 4.
Later I will try to check CPU loading is still high if I skip the ImageLayer's DrawQuad on leo device.
| Reporter | ||
Comment 4•12 years ago
|
||
(In reply to peter chang[:pchang][:peter] from comment #3)
> During my testing on leo, I think camera or webrtc uses gralloc buffer
> already. Therefore, I assume there won't have too much high CPU usage on
> compositor thread.
>
> And I didn't find the high CPU issue on Nexus 4.
>
> Later I will try to check CPU loading is still high if I skip the
> ImageLayer's DrawQuad on leo device.
I still could see high cpu loading after skip ImageLayer's DrawQuad. Therefore, the effort of DrawQuad is not related to content format.
Comment 5•8 years ago
|
||
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•