您的位置:首页 > 其它

chromium:LoadUrl之后会发生那些事情之 cc::drawLayers

2015-07-25 16:35 519 查看
ThreadProxy::BeginMainFrame()

--->Proxy::ImplThreadTaskRunner()->PostTask(

FROM_HERE,

base::Bind(&ThreadProxy::StartCommitOnImplThread,

impl_thread_weak_ptr_,

&completion,

queue.release()));

Call Stack:

#0 cc::ResourceProvider::PrepareSendToParent(const std::vector<unsigned int,std::allocator<unsigned int> > & resources, std::vector<cc::TransferableResource,std::allocator<cc::TransferableResource> > * list)

#1 cc::DelegatingRenderer::DrawFrame(cc::ScopedPtrVector<cc::RenderPass> * render_passes_in_draw_order, float device_scale_factor, const gfx::Rect & device_viewport_rect, const gfx::Rect & device_clip_rect, bool disable_picture_quad_image_filtering)

#2 cc::LayerTreeHostImpl::DrawLayers(cc::LayerTreeHostImpl::FrameData * frame)

#3 cc::ThreadProxy::DrawSwapInternal(bool forced_draw)

#4 cc::ThreadProxy::ScheduledActionDrawAndSwapIfPossible()

#5 cc::Scheduler::DrawAndSwapIfPossible()

#6 cc::Scheduler::ProcessScheduledActions()

#7 cc::Scheduler::OnBeginImplFrameDeadline()

本文是在content_shell下的调用栈,所以LayerTreeHostImpl中的renderer_是DelegatingRenderer,DrawLayers中的DrawFrame调用的是DelegatingRenderer::DrawFrame。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: