window animations are far from smooth

Bug #1007857 reported by Teo
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Compiz
Confirmed
Undecided
Unassigned
compiz (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Window animations (e.g. when you maximize/minimize a window) are very, very jerky. Note they are not slow, it's just they are not smooth.
My computer has definitely enough CPU and GPU power to render those animations smoothly, and this happens even when there's no program using significant system resources.

This defeats the very purpose of those animations, which is to provide a more fluid user experience.

I know they are a mostly aesthetic feature and I am the last person who would like to see such a feature take resources from more important things, but either they can be made decently smooth without affecting system performance, or they cannot, in which case they should be removed altogether.

No window animation is _way_ better than a jerky window animation.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: unity 5.12-0ubuntu1.1
ProcVersionSignature: Ubuntu 3.2.0-25.40-generic 3.2.18
Uname: Linux 3.2.0-25-generic i686
NonfreeKernelModules: nvidia
.proc.driver.nvidia.gpus.0: Error: [Errno 21] Is a directory: '/proc/driver/nvidia/gpus/0'
.proc.driver.nvidia.registry: Binary: ""
.proc.driver.nvidia.version:
 NVRM version: NVIDIA UNIX x86 Kernel Module 295.40 Thu Apr 5 21:28:09 PDT 2012
 GCC version: gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
.tmp.unity.support.test.0:

ApportVersion: 2.0.1-0ubuntu8
Architecture: i386
CompizPlugins: [core,bailer,detection,composite,opengl,decor,vpswitch,mousepoll,compiztoolbox,snap,place,resize,session,regex,grid,wall,move,gnomecompat,imgpng,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell]
CompositorRunning: compiz
Date: Sat Jun 2 18:12:54 2012
DistUpgraded: 2012-05-17 16:45:23,028 DEBUG enabling apt cron job
DistroCodename: precise
DistroVariant: ubuntu
DpkgLog:

GraphicsCard:
 NVIDIA Corporation G84 [GeForce 9500M GS] [10de:0405] (rev a1) (prog-if 00 [VGA controller])
   Subsystem: ASUSTeK Computer Inc. Device [1043:15d2]
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
JockeyStatus:
 xorg:nvidia_current - NVIDIA accelerated graphics driver (Proprietary, Enabled, In use)
 pkg:sl-modem-daemon - Software modem (Proprietary, Disabled, Not in use)
 xorg:nvidia_current_updates - NVIDIA accelerated graphics driver (post-release updates) (Proprietary, Disabled, Not in use)
MachineType: ASUSTeK Computer Inc. M51Sn
ProcEnviron:
 TERM=xterm
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-25-generic root=UUID=173acbf5-26a0-49e3-8d2b-f1c142582cbf ro quiet splash vt.handoff=7
SourcePackage: unity
UpgradeStatus: Upgraded to precise on 2012-05-17 (16 days ago)
dmi.bios.date: 12/24/2007
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 303
dmi.board.asset.tag: ATN12345678901234567
dmi.board.name: M51Sn
dmi.board.vendor: ASUSTeK Computer Inc.
dmi.board.version: 1.0
dmi.chassis.asset.tag: ATN12345678901234567
dmi.chassis.type: 10
dmi.chassis.vendor: ASUSTeK Computer Inc.
dmi.chassis.version: 1.0
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr303:bd12/24/2007:svnASUSTeKComputerInc.:pnM51Sn:pvr1.0:rvnASUSTeKComputerInc.:rnM51Sn:rvr1.0:cvnASUSTeKComputerInc.:ct10:cvr1.0:
dmi.product.name: M51Sn
dmi.product.version: 1.0
dmi.sys.vendor: ASUSTeK Computer Inc.
version.compiz: compiz 1:0.9.7.8-0ubuntu1
version.libdrm2: libdrm2 2.4.32-1ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 8.0.2-0ubuntu3.1
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 8.0.2-0ubuntu3.1
version.nvidia-graphics-drivers: nvidia-graphics-drivers N/A
version.xserver-xorg-core: xserver-xorg-core 2:1.11.4-0ubuntu10.2
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.7.0-0ubuntu1.1
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.99~git20111219.aacbd629-0ubuntu2
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.17.0-1ubuntu4
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20111201+b5534a1-1build2

Revision history for this message
Teo (teo1978) wrote :
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

matteo,

Could you please run ccsm and try:
    OpenGL > Sync To VBlank = OFF
And if that doesn't work, turn it back ON and try setting:
    Workarounds > Force full screen redraws (buffer swap) on repaint = ON

affects: unity (Ubuntu) → compiz (Ubuntu)
Changed in compiz (Ubuntu):
status: New → Incomplete
Revision history for this message
Ivan (trurl-master) wrote :

Daniel,
It doesn't have any effect for me.

I have the same situation.

Ubuntu 12.04 i686
gpu: Nvidia 9300M G
drivers: 295.49

Steve Langasek (vorlon)
tags: removed: regression-update
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for compiz (Ubuntu) because there has been no activity for 60 days.]

Changed in compiz (Ubuntu):
status: Incomplete → Expired
Teo (teo1978)
Changed in compiz (Ubuntu):
status: Expired → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

matteo,

Please answer comment #2, then set the bug back to confirmed.

Changed in compiz (Ubuntu):
status: Confirmed → Incomplete
Changed in compiz:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Compiz because there has been no activity for 60 days.]

Changed in compiz:
status: Incomplete → Expired
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for compiz (Ubuntu) because there has been no activity for 60 days.]

Changed in compiz (Ubuntu):
status: Incomplete → Expired
Revision history for this message
Teo (teo1978) wrote :

@Daniel, Ivan alredy did the test you asked in comment #2 and said it has no effect.

Changed in compiz:
status: Expired → Confirmed
Changed in compiz (Ubuntu):
status: Expired → Confirmed
Revision history for this message
Scott Deagan (scott-deagan) wrote :

I am now running Ubuntu 12.10 and am experiencing the same problem. I have a desktop PC with an FM1 motherboard and AMD A8 3850 APU. I have two graphics cards and swap between them - an nVidia GTX 460 and an AMD Radeon 7870. I have tried several drivers for both of these graphics card (on the nVidia side, everything from 285.xx onwards, and for the AMD Radeon everything Catalyst 12.8 to 12.11 beta).

I have tried the following:

1. Unchecking "Detect Refresh Ratge" and setting the refresh rate manually (several values, including 60, 120 and 180).
2. Setting "Force full screen refraws (buffer swap) on repaintg" in workarounds.
3. Setting "CLUTTER_PAINT=disable-clipped-redraws:disable-culling" in /etc/environment.
4. Using edgers PPA and x-swat for latest/experimental packages.
5. Several other things I can't even remember now.

Some of my observations (Ubuntu 12.10, wobbly windows enabled):

1. Yesterday, when the Google logo was a JavaScript game, dragging windows around was stuttery when FIrefox was opened and on the Google homepage.
2. Things are smoothest when running in 1920 x 1080.
3. When I turn up the resolution to 2560 x 1440, dragging wiindows around in the centre area of the screen is smooth, but if I drag a window close to the top of the screen or near the Unity Launcher, the movement will be stuttery (this doesn't happen in 1080p).
4. Problem (stuttering) is exacerbated when running two monitors.
5. SuperKey + S to show virtual desktops always jerky/stuttery.
6. SuperKey + W to show all windows always jerky/stuttery.

Here's the kicker: on my laptop which has Intel HD 4000:

1. Just about everything works perfectly - the smoothest animations and window movement I've ever seen on Linux.
2. Dual monitors worked by simply plugging in an external monitor via mini DisplayPort.
3. Dragging windows still buttery smooth in dual monitor configuration (1080p and 1440p).
4. SuperKey + W to show all windows is buttery smooth at 2560 x 1440.
5. SuperKey + W to show all windows is jerky when running two monitors (one monitor at 1080p, the other at 1440p).
6. SuperKey + S to show all virtual desktops buttery smooth on single monitor running at 2560 x 1440 (1440p).
7. SuperKey + S to show all virtual desktops jerky/stuttery for dual monitors (1080p and 1440p).

It seems strange that running Ubuntu 12.10 with my nVIdia 460 or Radeon 7870 on my desktop PC results in jerky/stuttering animations and window dragging, yet using my laptop with integrated Intel HD 4000 graphics everything is buttery smooth, pixel perfect and responsive (when using a single monitor). The difference in the end-user experience is truly like night and day. I wish I could somehow run Compiz with my laptop's nVidia 650m using "optirun" (Optimus) to see if animations/dragging windows was still smooth. If it was, then the nVidia proprietary drivers could be ruled out, and the culprit could be something to do with the AMD chipset (my desktop is an AMD A8, my laptop is an Intel core i7). Next pay cheque (in a couple of weeks) I will purchase an Intel motherboard and CPU for my desktop to see if that makes a difference.

Revision history for this message
Scott Deagan (scott-deagan) wrote :

I have tried to upload a video to demonstrate the problem. Unfortunately, I don't think my phone camera shoots as a high enough framerate. Anyway, it can be viewed here:

http://www.youtube.com/watch?v=T9Q879m9J2k

The first part of the video shows my desktop PC - the stutteriness is a lot worse than it looks in the video. The second part shows my laptop - everything works perfectly and is buttery smooth.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

All,

There are many factors at play here, so please try to maintain your own bugs on the issue. Scott please log a new bug for yourself.

I have seen that the intel driver is much smoother than nvidia or fglrx too. For nvidia, I think the current biggest factor is a driver problem where it is much slower when sync to vblank is enabled (in the nvidia-settings dialog, not just compiz).

Regarding the issue of things being smooth near the middle of the screen but stuttering near the edge, that is an issue with things "damaging" the unity shell. When this happens, the unity shell has to force a fullscreen redraw which is slow. That is covered by bug 1080947.

Revision history for this message
Teo (teo1978) wrote :

This is tremendously annoying because, besides being jerky, animations take a lot more time.
This is not only an aesthetic problem, this is a huge usability problem.

Switching between windows is a real pain in the ass.

Until this is 100% fixed for all graphics cards, all animations should be reduced to a null animation, i.e. immediately going to the final position. Please this should be very easy to do and an update with this temporary fix could be made readily available in a matter of days if not hours, while the bug is fixed which will probably take ages.

Please have mercy on us the poor users and spare us this gratuitous torture, which is cruel and unusual.

Revision history for this message
Teo (teo1978) wrote :

Still not fixed on 13.04.

Why have't the animations been disabled by default in the meanwhile?
It's ridiculous to make the whole system unusable just for the sake of fancy cool animation that will perhaps work well one day.

Revision history for this message
Scott Deagan (scott-deagan) wrote :

This seems fixed in Ubuntu 14.04 (Unity 7.2.1). I'm running a full-HD and quad-HD monitor from an ASUS Z97 Pro motherboard with an Intel core i5-4430 CPU. I'm using an nVidia GeForce 660TI GPU with the proprietary 337.25 beta driver. Everything is awesomely smooth and responsive.

The only time things become jerky and stuttery again is when I open a video in Ubuntu's default video player (Totem?). If I use VLC, however, things remain ultra smooth and responsive.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.