Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[kicker]: submenu opening sometimes "flickers" when jumping from one category to another with different submenu-sizes #111

Open
star-buck opened this issue May 3, 2015 · 12 comments
Assignees
Labels

Comments

@star-buck
Copy link
Contributor

No description provided.

@star-buck
Copy link
Contributor Author

@notmart: any fix for that?

@notmart
Copy link

notmart commented May 6, 2015

I looked at it the other day together with Eike, what seem to happen is sometime when the window goes from larger to smaller, the content of the window gets painted tiles, two times to fill the whole window, for a single frame, next frame all is correct again.
one thing i can try is to reproduce the problem with a simple QML file to see if as it seem is an upstream Qt issue.

@star-buck
Copy link
Contributor Author

That would be appreciated.
For becoming real professional, we should start to tackle all these and similar issues (like in "good is not good enough").

@eikehein
Copy link

eikehein commented May 6, 2015

Martin's guess was problems in the driver's buffer handling, but we've got the issue on two distinct driver stacks (nVidia and Mesa+Intel) so it's probably not that. It probably inside Qt Quick somewhere and tricky in terms of synchronizing the window and the content resize ...

@star-buck
Copy link
Contributor Author

so lets find out and see how to fix it.

@notmart
Copy link

notmart commented May 8, 2015

here i have a small test that seems to produce slightly different results on different drivers:
The first file is just a Window, the second a Dialog.
getting the resize button in the center focused with tab and then repeatedly pressing spacebar, it will quickly resize the window keeping it bottom aligned, so imitating what happen with kicker.
can somebody reproduce the flicker with those simple test cases? here seems completely smooth on nvidia, looks not totally clean on amd. the interesting thing to figure out would be if it happens the single frame with two textures painted in it

import QtQuick 2.0

import QtQuick.Controls 1.1 as Controls
import QtQuick.Window 2.2
import QtQuick.Layouts 1.1

import org.kde.plasma.core 2.0 as PlasmaCore

Window {
id: subDialog
visible: false
height: rect.fixedHeight
width: 500

Rectangle {
    id: rect
    color: "red"
    Layout.minimumWidth: 300
    Layout.minimumHeight: 300
    Layout.maximumHeight: 500
    property int fixedHeight: 500
    width: 500
    height: fixedHeight
    border {
        width: 3
        color: "yellow"
    }

    Controls.Button {
        text: "Resize"
        anchors.centerIn: parent
        onClicked: {
            rect.fixedHeight = rect.Layout.minimumHeight = rect.Layout.maximumHeight = (rect.fixedHeight == 500 ? rect.fixedHeight = 100 : rect.fixedHeight = 500)
            subDialog.y=2000
        }
    }
}

}


import QtQuick 2.0

import QtQuick.Controls 1.1 as Controls
import QtQuick.Window 2.2
import QtQuick.Layouts 1.1

import org.kde.plasma.core 2.0 as PlasmaCore

PlasmaCore.Dialog {
id: subDialog
visible: false
height: rect.fixedHeight
width: 500
location: PlasmaCore.Types.Floating

mainItem: Rectangle {
    id: rect
    color: "red"
    Layout.minimumWidth: 300
    Layout.minimumHeight: 300
    Layout.maximumHeight: 500
    property int fixedHeight: 500
    width: 500
    height: fixedHeight
    border {
        width: 3
        color: "yellow"
    }

    Controls.Button {
        text: "Resize"
        anchors.centerIn: parent
        onClicked: {
            rect.fixedHeight = rect.Layout.minimumHeight = rect.Layout.maximumHeight = (rect.fixedHeight == 500 ? rect.fixedHeight = 100 : rect.fixedHeight = 500)
            subDialog.y=2000
        }
    }
}

}

@star-buck
Copy link
Contributor Author

flicker can be seen very visibly here: https://www.youtube.com/watch?v=mMStUESX_Pg&feature=player_detailpage#t=86

@star-buck star-buck assigned eikehein and unassigned notmart Jun 27, 2015
@star-buck
Copy link
Contributor Author

@eikehein : while marco works heavily on the phone, please have another look to fix this, thanks.

@star-buck star-buck added mid and removed paperkut labels Jun 27, 2015
@eikehein
Copy link

Aye!

@star-buck
Copy link
Contributor Author

@eikehein : any update on this?

@eikehein
Copy link

Nothing so far, sorry. Both Marco and me have done some investigation on the Qt code, but we haven't really found a solution yet.

@star-buck star-buck assigned davidedmundson and unassigned eikehein Jan 24, 2016
@star-buck
Copy link
Contributor Author

seems still valid, especially with some nvidia gfx card.

@star-buck star-buck removed the mid label Jan 17, 2017
@star-buck star-buck added the high label Jan 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants