Opened 3 years ago

Closed 17 months ago

#220 closed enhancement (fixed)

Tabs refreshing

Reported by: Mikhail Malyshev Owned by: Thore Böckelmann
Priority: normal Milestone: 5.0-2017R2
Component: Title.mui Version: 4.0-2015R1
Severity: minor Keywords:
Cc: OS Platform: All
Blocked By: Blocking:
Release Notes:

Description

Problem

eg. in MUI prefs the group setting

if we go a bit crazy with settings it will be much more noticeable

and that is select a picture frame for folder and tab image
and add 20% hoovering highlight setting.

Now (in any of the tab modes) when you hoover the mouse over tabs
all of them get redrawn (imagine an application with many tabs going slow there!)

Enhancement recommendation

Should not we only refresh the active tab image?

In default modes with 0% hilight there is no such problem.

Change History (10)

comment:1 Changed 3 years ago by Samir Hawamdeh

Most probably this is due to the lack of double buffering, see:

http://muidev.de/ticket/10

If you have many tabs opened a flickering effect is very visible when you move the mouse pointer over them (expecially on slow machines)

comment:2 Changed 3 years ago by Mikhail Malyshev

DB will not cure it, it will hide it partially.
The point is, only the tab under mouse needs to be redrawn, others should stay still, since they have no changes in appearance and redrawing them is just a waist of resources.

comment:3 in reply to:  2 Changed 3 years ago by Thore Böckelmann

Replying to Michael:

DB will not cure it, it will hide it partially.
The point is, only the tab under mouse needs to be redrawn, others should stay still, since they have no changes in appearance and redrawing them is just a waist of resources.

Once again you prove that you have no idea about the inner workings of MUI. Of course one must redraw more than just one tab. With the hovering effect active you must redraw at least two tabs when the mouse is moved from one tab to another one: the previously active one and the new active one.

I can have a look if it is possible to minimize the amount of redrawing if time permits.

comment:4 Changed 3 years ago by Mikhail Malyshev

Ok. Usually when the mouse is moved between tabs we hit a space between them, then only one tab gets changed. (When we are in stripe mode, then yes, the neighbours change since they are connected.) But in any was, redrawing two will be better then when you have 10 tabs flickering (i.e. in browser).

comment:5 in reply to:  4 Changed 3 years ago by Thore Böckelmann

Replying to Michael:

Ok. Usually when the mouse is moved between tabs we hit a space between them, then only one tab gets changed. (When we are in stripe mode, then yes, the neighbours change since they are connected.) But in any was, redrawing two will be better then when you have 10 tabs flickering (i.e. in browser).

You can decrease the horizontal group spacing to zero, then even tabs will be layouted without space between them.

Redrawing a single tab also requires the group containing the page objects to redraw itself, including its frame. But exactly this will overdraw all tab objects. That's why all tab objects must be redrawn instead of only one or two.

I will leave this ticket open, just in case I should discover a way to restrict the frame redrawing of the parent group to the tab object's area. But until that happens everything must stay as it is.

comment:6 Changed 18 months ago by Thore Böckelmann

Component: undefinedTitle.mui
Milestone: 5.0-2017R2
OS Platform: undefinedAll
Owner: set to Thore Böckelmann
Priority: undecidednormal
Status: newassigned

comment:7 Changed 18 months ago by Thore Böckelmann

Resolution: fixed
Status: assignedclosed

In 5846:

  • Title.c: restrict the tab redraw actions to the previously and newly hovered tabs to avoid flickering as much as possible. This closes #220.

comment:8 Changed 17 months ago by Samir Hawamdeh

But now there is a big problem with the Odyssey tabs, when i switch from a tab to another the web page will not be changed (this until i resize the window or i iconify/deiconify the window) so only the current tab will be showed on screen

Also there are various glitch during refresh …

Tested also with the latest build (MUI5 SVN r5852) but it's the same …

comment:9 Changed 17 months ago by Thore Böckelmann

Resolution: fixed
Status: closedreopened

comment:10 Changed 17 months ago by Thore Böckelmann

Resolution: fixed
Status: reopenedclosed

In 5855:

  • Group.c, Title.c: don't restrict redraw actions to the current and new active tabs when setting the new active page after a tab click. This closes #220 again and refs #342.
Note: See TracTickets for help on using tickets.