RESOLVED WONTFIX 93431
[Chromium] Add texture upload stats to CCRenderingStats.
https://bugs.webkit.org/show_bug.cgi?id=93431
Summary [Chromium] Add texture upload stats to CCRenderingStats.
David Reveman
Reported 2012-08-07 21:35:54 PDT
Add texture upload stats provided by ThrottledTextureUploader to CCRenderingStats.
Attachments
Patch (13.55 KB, patch)
2012-08-07 21:41 PDT, David Reveman
no flags
David Reveman
Comment 1 2012-08-07 21:41:19 PDT
WebKit Review Bot
Comment 2 2012-08-07 21:43:39 PDT
Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.
Nat Duca
Comment 3 2012-08-07 23:02:31 PDT
Comment on attachment 157105 [details] Patch Lets also track the number of texels uploaded I am very uneasy about the fact that this doesn't work without the streaming texture updater or any other updater. You can track all of these things on the GPU process. Just track it on a per-stub basis (ccameron can help you with ideas on how to do this) and figure out from the render_view which stub corresponds to the compositor context. That will give you the exact same values BUT not be specific to how the compositor does its uploads.
David Reveman
Comment 4 2012-08-08 09:29:58 PDT
(In reply to comment #3) > (From update of attachment 157105 [details]) > Lets also track the number of texels uploaded > > I am very uneasy about the fact that this doesn't work without the streaming texture updater or any other updater. Streaming texture updates is not a requirement. The throttled texture uploader is required and that uploader is currently only used by the threaded compositor. We could potentially use this uploader in single thread mode as well. > > You can track all of these things on the GPU process. Just track it on a per-stub basis (ccameron can help you with ideas on how to do this) and figure out from the render_view which stub corresponds to the compositor context. That will give you the exact same values BUT not be specific to how the compositor does its uploads. I'm interested in doing this as well. I'm not sure this deprecates the current patch though. I think the current patch is useful to determine how accurate the timing reported by GL_occlusion_query is. Maybe I should add "estimated" to the total time field in the current patch?
Nat Duca
Comment 5 2012-08-08 09:54:01 PDT
> I'm interested in doing this as well. I'm not sure this deprecates the current patch though. I think the current patch is useful to determine how accurate the timing reported by GL_occlusion_query is. Maybe I should add "estimated" to the total time field in the current patch? OK fine, but I would politely request you do the other approach right away rather as well. Ideally, after you have the other in place, this gets removed.
Adrienne Walker
Comment 6 2012-08-08 12:33:13 PDT
Comment on attachment 157105 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=157105&action=review > Source/WebCore/platform/graphics/chromium/ThrottledTextureUploader.cpp:81 > + m_context->getQueryObjectuivEXT(m_queryId, Extensions3DChromium::QUERY_RESULT_EXT, &result); Is this synchronous? What does this time represent?
David Reveman
Comment 7 2012-08-08 12:57:06 PDT
(In reply to comment #6) > (From update of attachment 157105 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=157105&action=review > > > Source/WebCore/platform/graphics/chromium/ThrottledTextureUploader.cpp:81 > > + m_context->getQueryObjectuivEXT(m_queryId, Extensions3DChromium::QUERY_RESULT_EXT, &result); > > Is this synchronous? What does this time represent? No, it's not synchronous. This would block until the result is available if we didn't first check using QUERY_RESULT_AVAILABLE_EXT. This is the GPU process time (in microseconds) spent between glBeginQuery and glEndQuery.
Adrienne Walker
Comment 8 2012-08-08 14:40:40 PDT
Comment on attachment 157105 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=157105&action=review >>> Source/WebCore/platform/graphics/chromium/ThrottledTextureUploader.cpp:81 >>> + m_context->getQueryObjectuivEXT(m_queryId, Extensions3DChromium::QUERY_RESULT_EXT, &result); >> >> Is this synchronous? What does this time represent? > > No, it's not synchronous. This would block until the result is available if we didn't first check using QUERY_RESULT_AVAILABLE_EXT. > > This is the GPU process time (in microseconds) spent between glBeginQuery and glEndQuery. Ah, thanks. Why would this time differ from recording it on the GPU process (just the overhead of glBeginQuery/glEndQuery)? I think I agree with nduca that I'd prefer that this worked for all texture uploads and not just the ThrottledTextureUploader.
David Reveman
Comment 9 2012-08-08 16:50:28 PDT
(In reply to comment #8) > (From update of attachment 157105 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=157105&action=review > > >>> Source/WebCore/platform/graphics/chromium/ThrottledTextureUploader.cpp:81 > >>> + m_context->getQueryObjectuivEXT(m_queryId, Extensions3DChromium::QUERY_RESULT_EXT, &result); > >> > >> Is this synchronous? What does this time represent? > > > > No, it's not synchronous. This would block until the result is available if we didn't first check using QUERY_RESULT_AVAILABLE_EXT. > > > > This is the GPU process time (in microseconds) spent between glBeginQuery and glEndQuery. > > Ah, thanks. Why would this time differ from recording it on the GPU process (just the overhead of glBeginQuery/glEndQuery)? I think I agree with nduca that I'd prefer that this worked for all texture uploads and not just the ThrottledTextureUploader. The GPU process might process commands from other channels in-between processing the glBeginQuery and the glEndQuery.
Nat Duca
Comment 10 2012-08-08 17:32:49 PDT
I think we should begin work on the GPU process version of this. You can do it in a way that is exactly equivalent to this. I'm quite sure.
Eric Seidel (no email)
Comment 11 2012-10-08 16:13:06 PDT
Comment on attachment 157105 [details] Patch Cleared review? from attachment 157105 [details] so that this bug does not appear in http://webkit.org/pending-review. If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).
Note You need to log in before you can comment on or make changes to this bug.