Page MenuHome

Outliner scrollbar does not appear with resolutions greater than FHD
Confirmed, NormalPublic

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 1070 with Max-Q Design/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.66

Blender Version
Broken: version: 2.83 (sub 10), branch: master, commit date: 2020-03-21 20:58, hash: rB9e8afa8817ed
Broken: version: 2.82a is also broken
Broken: version: 2.81a is also broken
Worked: probably never?

Short description of error
The problem seems to exist with monitors with higher than FHD resolution, and doesnt seem to be affected by DPI or OS scaling.

When enough objects are added to the scene the outliner should reach a point where a scrollbar most definitely should appear. However, one never does. It will only appear if you resize the outliner window region (either smaller or larger). It seems that all it needs is some sort of refresh.

Exact steps for others to reproduce the error
I cannot provide a .blend since if you load it up, the outliner will function correctly. This appears to only happen when adding objects in real time.

  • Start with default .blend
  • Duplicate the default cube enough times to fill up the outliner and get to a point where the scrollbar should appear
  • Notice how it doesn't
  • Resize the window region containing the outliner
  • Notice the scrollbar now appears

The bug looks like this:

Related Objects

Event Timeline

  1. @Campbell Barton (campbellbarton): No I dont think these glitches were introduced by this patch. These already exist.
    • Default startup file.
    • Duplicate all objects until outliner has vertical scroll-bar.
    • Hovering over the right scroll-bar
      • doesn't do anything if you are in the upper part of the outliner and move the mouse towards the right side
      • works from a specific point on below y wise
  2. The nonworking area in the upper part increases the more vertical space the outliner has in the beginning.
    • Default startup file.
    • Resize outliner vertically
    • Duplicate all objects until outliner has vertical scroll-bar.
    • ...
  3. If you make the outliner area wider *BEFORE* duplicating objects then it does no longer work at all until the area has been resized again. So if you resize the area the glitch is gone.
    • Default startup file.
    • Resize outliner horizontally
    • Duplicate all objects until outliner has vertical scroll-bar.
    • ...

This is the current behaviour without this patch applied. I Also tested with 2.80 aswell as the current alpha!
Animated Gif. Wide outliner glitch and Tall outliner glitch

Yes I can confirm that. We talked about that in January in https://developer.blender.org/D6505. But as I've written, it's limited to the upper part of the outliner. The scrollrect somehow has the wrong size. And the wrong measures are dependent of the outliners aspect ratio before the duplication of the cube.

Richard Antalik (ISS) changed the task status from Needs Triage to Needs Information from User.Mon, Mar 23, 3:14 PM

Hmm, can not reproduce this...

Can you try with File > Defaults > Load Factory Settings ?

This afflicts pretty much any 2.8x Blender and is immediately reproduce-able following the given steps. e.g. this is blender-2.83-0c571db4add3-windows64 which I downloaded moments ago:


Perhaps this is HW related somehow? @Chris Kohl (ckohl_art) what's your GPU?

Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: Radeon RX550/550 Series ATI Technologies Inc. 4.5.13586 Core Profile Context 19.12.2 26.20.15002.61

When I try to recreate this issue quickly, like Richard, it seems to work instead. But if I follow the instructions but slow down....

I add items until my Outliner is filled with more items than can fit. At that point I move my mouse right into the area. If along the 6th row, as illustrated on the top of this capture, it will bring up the scrollbar when my mouse is at the right side. But I can move my mouse anywhere on the 5th row (shown at bottom and no scrollbars appear.

Quoted Text

! In T75003#896884, @Richard Antalik (ISS) wrote:

Perhaps this is HW related somehow? @Chris Kohl (ckohl_art) what's your GPU?

Maybe. Drivers are a bit older but that doesn't cause issues anywhere else in the program.

Operating system: Windows-10-10.0.17134-SP0 64 Bits
Graphics card: Radeon TM RX 480 Graphics ATI Technologies Inc. 4.5.13571 Core Profile Context 19.9.2 26.20.13003.1007

Hmmm.... just tried again and the behavior was different so still not able to recreate this exactly every time. Right now I get the scrollbars if my mouse is lower than the top-half of the second line. So no scrollbar would show up on the first line (usually "Scene Collection"). But then I moved the entire blender windows (so no resizing of areas) and now it works properly on that line too....

The video capture from my first comment in this thread was on a monitor that is 2560x1440 resolution.

Here is a capture from the same computer, same OS, same GPU, same drivers, but a different monitor with a resolution of 1920x1200:

This seems to be the same type of behavior that Harley is experiencing. If the cursor is lower than the top-half of the "Camera.001" line (4th line?) then the scrollbar appears just fine but if it is above that location then the scrollbar will not appear.


New test:
On a laptop running Linux Mint with an Nvidia GeForce GTX 870M with a screen resolution of 1920x1080 the behavior is essentially exactly the same as what Harley reports (no scrollbar for the first line at all, and the scroll bar appears if the cursor is about halfway down the second line [seems more like one third rather than one half to me]).

On the same laptop with the same GPU but running Windows 10 (I'm dual booting from two SSDs) the behavior is identical, which is to say the scrollbar only begins to work on the second line and does not work if the cursor is on the first line.


I decided to see what happens if the Blender window itself is various sizes back on my main monitor again. Take a look at this screenshot. When the Blender window is this short (about 976 pixels tall if you include the purple window rim and header) then the scrollbar will not work if the cursor is inside that space that is roughly the size of the red bar on line 1. Below that red bar then the scrollbar appears correctly. (Note: You must start a new scene after resizing the window or physically moving the window in order to follow the steps, otherwise the scrollbar appears to display normally which is what Harley was experiencing.)

And when the window is this size (1376 if you include the purple window border) the scrollbar will not work if the scrollbar is above the 3/4 point on line 7:

So in summary:
1906x976: Scrollbar begins to work about 1/4 down line 1.
1920x1080: Scrollbar begins to work about 1/2 down line 2.
1920x1200: Scrollbar begins to work about 1/2 down line 4.
2056x1376: Scrollbar begins to work about 3/4 down line 7.
2056x1440: Scrollbar begins to work about 1/4 down line 8.
And in all cases, if you move or resize the Blender window itself or the Outliner after you've already populated the Outliner with enough objects to require a scrollbar, then the scrollbar will work normally.

Ladies and gentlemen, we officially have a pattern of behavior. The taller the Blender window is, the larger the 'dead zone' at the top of the Outliner is, where the scrollbar will not appear. I don't think this is related to GPU or drivers at all.


But wait, there's more!

2560x1440: Scrollbar doesn't work at all. (or so I thought in my first comment)

It turns out that the invisible 'hit box' that determines when to display the scrollbar is not affected only by vertical window size but also by horizontal window size. I tried the same experiment with changing the Blender window width and found that the dead zone will also grow from the right side of the Outliner when the Blender window is wide (e.g. 2560 wide):

The scrollbar is very faint and it takes me a few seconds to "dial-in" the exact corner on line 8 (Camera.005) where the dead zone begins but I've captured it here:

I'm running hidpi here too. 4k 3840x2160 resolution, Windows UI scale 2.0x, Blender UI scale 1.0.

For whatever reason the Outliner window region does not have the correct dimensions at start. Something is wrong during startup/initialization/first layout. Resizing its area will refresh things and allow things to work properly, including the calculations dependent on dpi. This does appear to be what Debuk describes above in some form.

Richard Antalik (ISS) renamed this task from Outliner scrollbar does not appear unless the window region is resized to Outliner scrollbar does not appear with resolutions greater than FHD.Tue, Mar 24, 3:45 PM
Richard Antalik (ISS) changed the task status from Needs Information from User to Confirmed.
Richard Antalik (ISS) updated the task description. (Show Details)

For anyone else curious, the invisible hit area around scrollbars is an "AZone" of type AZONE_REGION_SCROLL.

These are (obviously) sized based on the size of the scroller itself. What is especially curious about this particular issue is that these zones are sized in an incorrect way in that they are larger than the scrollbar by the same amount (AZONEFADEIN, which is 100 pixels at 1X scale) in all directions. So when working correctly a vertical scrollbar will have a hitzone that extends above and below, not just to left and right. This can cause overlaps between vertical scrollers in two different areas. You can see that sometimes when you can show the Outliner scrollbar while in Properties.

Why this makes it more curious is that the hitzone near the top of Outliner should be extending above the top of the scrollbar by this amount, and should never be below it. Now wondering if this problem is actually caused by Outliner being at the top of the Blender window since there is less than 100 pixels before hitting the window boundary. But I am pretty-sure I have corrected that sizing issue (so that the hit area for vertical scrollbars is only the height of scroller, not more) and still had this issue, although did fix the overlapping between editors.

@Richard Antalik (ISS) I tested it on multiple PCs with 1920 x 1200 WUXGA single and multimontor systems. Happening everywhere.
As I've written the amount of deadspace can be increased or decreased depending on the outliners "aspect ratio". So if you increase the horizontal width before duplication the error increases until no scrollbar is displayed at all ( before resizing after duplication)