Closed Bug 1521004 Opened 7 years ago Closed 5 years ago

Scrolling significantly slower when maximized

Categories

(Core :: Panning and Zooming, defect, P3)

64 Branch
Unspecified
Linux
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: ratan.r.sur, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: perf)

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0

Steps to reproduce:

  1. Start firefox by any means
  2. Navigate to any site that is longer than the window height
  3. Scroll
  4. Resize window to half of screen and scroll again

Environment:
i3 Window Manager
Arch Linux (Linux 4.20.3-arch1-1-ARCH #1 SMP PREEMPT Wed Jan 16 22:38:58 UTC 2019 GNU/Linux)

Actual results:

Scrolling is very choppy when maximized, smooth when half screen size

Expected results:

My machine has very high end hardware so there should be no reason that it can't handle smooth scrolling while full screen

Architecture: x86_64
Address sizes: 39 bits physical, 48 bits virtual
CPU(s): 12
Thread(s) per core: 2
Core(s) per socket: 6
CPU family: 6
Model: 158
Model name: Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Stepping: 10
CPU max MHz: 4300.0000

01:00.0 VGA compatible controller: NVIDIA Corporation GP107GLM [Quadro P1000 Mobile] (rev a1) (prog-if 00 [VGA controller])
Kernel driver in use: nvidia

Most sites, including very static ones like wikipedia scroll choppily.
Strangely, bugzilla scrolls fine.

OS: Unspecified → Linux

I tried to reproduce this bug on several sites on Arch Linux VM(KDE Plasma)but couldn't duplicate this issue. Scrolling worked fine for me when maximize or half screen.

My machine config is nowhere closer to your high end system config.

I am placing this bug under Core: XUL, so someone can look into this. Thanks for the bug report!

Component: Untriaged → XUL
Product: Firefox → Core
Component: XUL → Panning and Zooming

Does bugzilla enforce that certain options be a certain value? Maybe one of my add ons is causing the issue.

If you go to about:support and look at the Graphics section, what does it say for "Compositing"? If it says "Basic" try going to about:config, search for "layers.acceleration.force-enabled", and double-click on it to set it to true. Then restart the browser and see if you still have the same problem.

Flags: needinfo?(ratan.r.sur)

That fixed it! Is there anywhere this is documented that I missed?

Flags: needinfo?(ratan.r.sur)

Not explicitly. We don't have hardware acceleration enabled by default on Linux because it causes instability for some users. The steps in comment 4 turn it on. This tends to improve scrolling performance. Bug 594876 is tracking turning it on by default.

Status: UNCONFIRMED → NEW
Depends on: ogl-linux-beta
Ever confirmed: true
Priority: -- → P3

So that means that mine was slow because it was using CPU only? Is smooth scrolling always so intensive that it's choppy for even cpu's as fast as mine?

(In reply to ratan.r.sur from comment #7)

So that means that mine was slow because it was using CPU only?

More or less, yeah

Is smooth scrolling always so intensive that it's choppy for even cpu's as fast as mine?

It's not just the CPU - memory bandwidth etc all play a role. If you have a large display it can be a lot of work to get all the pixels to the screen.

I see, I do have a 4k display so that makes sense.

I think I'm seeing the instability you're talking about. My whole browser occasionally becomes black and I don't know how to recover it. I have to close the window and start a new window. Is there an existing bug for that that I can track?

I don't know of one offhand. You can look at the bugs blocking 594876 and file one if none matches.

(ratan.r.sur from comment #0)

i3 Window Manager
Arch Linux
NVIDIA Corporation GP107GLM [Quadro P1000 Mobile] (rev a1) (prog-if 00 [VGA controller])

Adjusting dependency.
Previous "OpenGL" compositing (bug 594876) was never enabled by default and is now being replaced by "WebRender".
On Nightly, WebRender is already enabled by default for modern Intel and AMD with Mesa 18.2 or newer with screens smaller than 4K.
Nightly 69 introduces a GPU process for Linux to prevent crashing the whole browser in case of problems.
If you want to try it out, open about:config, set gfx.webrender.all to true to force-enable WebRender and restart Nightly.

More information: https://mozillagfx.wordpress.com

Depends on: wr-linux
No longer depends on: ogl-linux-beta
Keywords: perf
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.