Bug 348691 - Increase transition timings between entries and sub-entries
Summary: Increase transition timings between entries and sub-entries
Status: RESOLVED INTENTIONAL
Alias: None
Product: plasmashell
Classification: Plasma
Component: Application Menu (Kicker) (show other bugs)
Version: 5.8.6
Platform: Fedora RPMs Linux
: NOR wishlist
Target Milestone: 1.0
Assignee: Homerun bugs.
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-06-04 09:32 UTC by Germano Massullo
Modified: 2018-05-20 14:24 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Germano Massullo 2015-06-04 09:32:51 UTC
When you pass your mouse pointer over Homerun entries, subentries menu (on the right) you will be immediately opened, even if you move the mousepointer in a very fast way. Moreover, very fast transitions can also create graphical glitches.
In my opinion, increasing "wait" timings would be better. Using as model the timings of KDE 4 classic menu ( https://userbase.kde.org/File:Kickoff_Menu_Classic.png ) would be great.

Reproducible: Always
Comment 1 Eike Hein 2015-06-04 11:54:29 UTC
This is actually not true; there's a delay both on vertical moves and an even longer delay on diagonal moves (to avoid accidental switches when moving into submenus). That said, this version of the codebase is currently not seeing any work - Homerun Kicker was rewritten from scratch and bundled with Plasma 5.
Comment 2 Germano Massullo 2015-06-04 12:02:53 UTC
(In reply to Eike Hein from comment #1)
> Homerun Kicker was rewritten from scratch and bundled
> with Plasma 5.
Then it seems that I selected the wrong component, because I meant the Plasma 5 version.

(In reply to Eike Hein from comment #1)
> This is actually not true; there's a delay both on vertical moves and an
> even longer delay on diagonal moves (to avoid accidental switches when
> moving into submenus).
Do you mean the KDE 4 version or Plasma 5 version?
Comment 3 Eike Hein 2015-06-04 12:07:17 UTC
^ It's true for both, although the delay on purely vertical moves is shorter in the Plasma 5 version since it's much faster and the long delay in the KDE 4 version was partly to compensate for performance issues.
Comment 4 Germano Massullo 2016-02-20 17:11:36 UTC
I noticed I missed a fundamental information: the problem happens when the composer is disabled, so you do not have any special desktop effect enabled
Comment 5 Eike Hein 2016-02-20 18:28:58 UTC
I still don't know what the problem actually is though.
Comment 6 Eike Hein 2016-02-20 18:30:53 UTC
Please provide more info on those "graphical glitches".
Comment 7 Germano Massullo 2016-02-21 20:22:14 UTC
(In reply to Eike Hein from comment #6)
> Please provide more info on those "graphical glitches".

I made a video showing various glitches on both "task manager" and "application menu". It happens using either Intel FOSS drivers or nVidia propertary drivers
https://youtu.be/b1yZ0LoYpAg
Comment 8 Germano Massullo 2016-10-08 10:29:29 UTC
Cleaning needinfo
Comment 9 Kevin Kofler 2016-10-08 11:34:38 UTC
Since Germano asked me for a comment: IMHO, there should be no transition animation, the submenu should just open instantly once it was decided that it should open. The delay to decide that should also be very short (though probably not zero, because otherwise a mouseover will result in a mess). Animations and long delays just waste our time.
Comment 10 Germano Massullo 2016-10-08 12:37:52 UTC
I can confirm this problem with composer enabled too (all effects disabled)
Comment 11 Eike Hein 2016-10-08 13:14:39 UTC
There are no animations, and I still don't really understand what this ticket is about.
Comment 12 Germano Massullo 2016-10-08 13:19:21 UTC
Did you even bother to see video in comment 7?
Comment 13 Eike Hein 2016-10-08 13:26:53 UTC
I did, and I see poor graphical performance that seems to be general on your system, nothing that's specific to Kicker. In lieu of replacing your graphics driver/hardware (probably the most practical solution), Wayland would probably perform better than X11 on your system - at least some of the glitches I see in your video are caused X11 being very poor at doing window mapping and resizing atomically (yes, despite the existence of the sync protocol) - between Qt Quick and X11 resizing the dialog window and the GL scene inside doesn't always happen within one frame, and most likely due to poor performance or driver bugs, it's especially bad on your system. Unfortunately that's nothing that can be affected from the level of Kicker's code though (and we've already tried pretty hard to optimize this in kwin/Qt Quick and even xcb by trying to use the sync protocol in more creative ways, texture reuse, etc. without much success). Wayland inherently fixes these kinds of problems by design though, so might be worth trying if the Wayland session is already feature-complete enough for your needs.
Comment 14 Kevin Kofler 2016-10-08 18:57:08 UTC
I asked Germano on IRC (in Italian) what he really wants, and he explained that he wants a longer delay for opening submenus on mouseover (because moving the mouse over the menu opens all the submenus, which slows everything down for him, even the highlighting of the menu items under the mouse). I'm not convinced it's a good idea, but that's what this bug is about.

I also think this is mainly a driver issue.
Comment 15 Germano Massullo 2017-03-29 09:55:36 UTC
I have found the following never sent message while cleaning opened Firefox tabs. Since is still valid, I submit it now



New video with 
https://youtu.be/xVRjozj58Gw


The system tries to render the next frame when the render of the previous one was not yet finished


01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480] (rev c7) (prog-if 00 [VGA controller])
        Subsystem: XFX Pine Group Inc. Radeon RX 480
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 32
        NUMA node: 0
        Region 0: Memory at c0000000 (64-bit, prefetchable) [size=256M]
        Region 2: Memory at dfe00000 (64-bit, prefetchable) [size=2M]
        Region 4: I/O ports at ce00 [size=256]
        Region 5: Memory at fd980000 (32-bit, non-prefetchable) [size=256K]
        [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
                        ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr- TransPend-
                LnkCap: Port #0, Speed 8GT/s, Width x16, ASPM L1, Exit Latency L0s <64ns, L1 <1us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s, Width x16, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR+, OBFF Not Supported
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
                LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance De-emphasis: -6dB
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
                         EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
                Address: 00000000fee0400c  Data: 41c2
        Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150 v2] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
                AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
        Capabilities: [200 v1] #15
        Capabilities: [270 v1] #19
        Capabilities: [2b0 v1] Address Translation Service (ATS)
                ATSCap: Invalidate Queue Depth: 00
                ATSCtl: Enable-, Smallest Translation Unit: 00
        Capabilities: [2c0 v1] Page Request Interface (PRI)
                PRICtl: Enable- Reset-
                PRISta: RF- UPRGI- Stopped+
                Page Request Capacity: 00000020, Page Request Allocation: 00000000
        Capabilities: [2d0 v1] Process Address Space ID (PASID)
                PASIDCap: Exec+ Priv+, Max PASID Width: 10
                PASIDCtl: Enable- Exec- Priv-
        Capabilities: [320 v1] Latency Tolerance Reporting
                Max snoop latency: 0ns
                Max no snoop latency: 0ns
        Capabilities: [328 v1] Alternative Routing-ID Interpretation (ARI)
                ARICap: MFVC- ACS-, Next Function: 1
                ARICtl: MFVC- ACS-, Function Group: 0
        Capabilities: [370 v1] L1 PM Substates
                L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
                          PortCommonModeRestoreTime=0us PortTPowerOnTime=170us
                L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
                           T_CommonMode=0us LTR1.2_Threshold=0ns
                L1SubCtl2: T_PwrOn=10us
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu