Long paints occurring in the PaintThread causing slow tab switches / tab switch spinners
Categories
(Core :: Graphics, defect, P3)
Tracking
()
| Performance Impact | ? |
People
(Reporter: mconley, Unassigned)
Details
Asa noticed this and sent me a profile:
Some pretty outrageous paint times. Measurable in seconds. Seems like the PaintThreads are all backed up, stuck on this stack:
NtGdiDdDDIDestroyAllocation2
CallAndLogImpl<long (*)(_D3DKMT_DESTROYALLOCATION2 const *),_D3DKMT_DESTROYALLOCATION2 *>(long (*)(_D3DKMT_DESTROYALLOCATION2 const *),char const *,_D3DKMT_DESTROYALLOCATION2 *)
NDXGI::CDevice::Deallocate2CB(void *,_D3DDDICB_DEALLOCATE2 const *)
0x7ffa66f0eb7b
0x7ffa66fd053d
0x7ffa66ef6843
0x7ffa66fdfd2f
0x7ffa66efade2
0x7ffa67163d8d
0x7ffa667d1d3c
0x7ffa666c0387
NDXGI::CDevice::Flush(unsigned int,D3DWDDM2_0DDI_CONTEXTTYPE_FLAG)
NDXGI::CDevice::DXGIAcquireSync(IDXGIResourceInternal *,NDXGI::CKMResource *,unsigned __int64,unsigned long)
NDXGI::CResource::AcquireSync(unsigned __int64,unsigned long)
bool mozilla::layers::SyncObjectD3D11Client::Synchronize(bool)
mozilla::layers::CompositorBridgeChild::NotifyFinishedAsyncEndLayerTransaction()
void mozilla::layers::PaintThread::AsyncPaintTask(class mozilla::layers::CompositorBridgeChild *, class mozilla::layers::PaintTask *)
PaintThread::AsyncPaintTask
nsresult mozilla::detail::RunnableFunction<`lambda at z:/task_1559263917/build/src/gfx/layers/PaintThread.cpp:177:30'>::Run()
nsThread::ProcessNextEvent(bool,bool *)
NS_ProcessNextEvent(nsIThread *,bool)
mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate *)
MessageLoop::RunHandler()
MessageLoop::Run()
nsThread::ThreadFunc(void *)
static void _PR_NativeRunThread(void *)
unsigned int pr_root(void *)
thread_start<unsigned int (__cdecl*)(void * __ptr64)>
BaseThreadInitThunk
static void patched_BaseThreadInitThunk(int, void *, void *)
RtlUserThreadStart
(root)
| Reporter | ||
Comment 1•7 years ago
|
||
Another profile: http://bit.ly/317PbRo
Comment 2•7 years ago
|
||
In case it's useful, I'm running on a Microsoft Surface Book 2 with NVIDIA GeForce GTX 1050 graphics.
Comment 3•7 years ago
|
||
Hey :asa, could you take a profile after turning on Web Render? It seems like the Paint Thread is spending a lot of time inside the graphics driver.
Also could you answer if is this isolated to when you are viewing specific URLs? Or do any old pages trigger this?
Comment 4•7 years ago
|
||
Also: I note A11y events - do you have Ally turned on?
Any other programs running using the GPU perhaps? Perhaps look at Process Explorer from sysinternals and see if there's lots of GPU activity?
Updated•7 years ago
|
Updated•7 years ago
|
Comment 5•7 years ago
|
||
I'm no longer able to reproduce this. I've tried with and without webrender. I suppose we can close it invalid or wfm.
Updated•7 years ago
|
Updated•4 years ago
|
Description
•