[nvidia] Moving windows freezes and stutters on nvidia (especially if some other window is redrawing).
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Compiz |
Fix Released
|
High
|
Sam Spilsbury | ||
0.9.8 |
Invalid
|
High
|
Unassigned | ||
0.9.9 |
Fix Released
|
High
|
Sam Spilsbury | ||
compiz (Ubuntu) |
Fix Released
|
High
|
Sam Spilsbury |
Bug Description
Using the NVIDIA driver, moving windows freezes and stutters (especially if some other window is redrawing).
TEST CASE:
1. Open a regular window (Nautilus or Terminal)
2. Verify you can move it with ease
3. Open another window that will render graphics constantly, like glxgears.
Expected: Still able to move the first window with ease.
Observed: Display freezes and rarely updates. Have to stop glxgears to move windows.
ORIGINAL DESCRIPTION:
I'm running ubuntu 12.10 with a Geforce Gtx680 + 2600k + 8gb, and compiz performance is awful in the desktop and playing games.
Dragging a window across the desktop is a pain, because it stutters so much it's not even funny. Compiz 0.9.7.8 doesn't have this behavior, so something got broken in this release.
Now, about opengl games. It's also a terrible experience, and no matter what settings I try there's always a lag feel. Games simply don't run smooth, despite the frame rate that shows on screen. This behavior is present in both 0.9.8 and 0.9.7.8.
By running ubuntu without any effects (gnome classic panel) games run super smooth without any lag or stutter.
By the way, I'm running 304.22 driver with default settings, but all previous drivers show the same behavior.
ProblemType: Bug
DistroRelease: Ubuntu 12.10
Package: compiz 1:0.9.8+
ProcVersionSign
Uname: Linux 3.5.0-5-generic x86_64
NonfreeKernelMo
ApportVersion: 2.4-0ubuntu3
Architecture: amd64
Date: Fri Jul 20 19:52:47 2012
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
PackageArchitec
ProcEnviron:
LANGUAGE=
TERM=xterm
PATH=(custom, no user)
LANG=pt_PT.UTF-8
SHELL=/bin/bash
SourcePackage: compiz
UpgradeStatus: Upgraded to quantal on 2012-07-20 (0 days ago)
Related branches
- Daniel van Vugt: Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- MC Return: Approve
-
Diff: 716 lines (+380/-153)5 files modifiedsrc/window.cpp (+45/-57)
tests/system/xorg-gtest/include/compiz-xorg-gtest.h (+41/-0)
tests/system/xorg-gtest/src/compiz-xorg-gtest.cpp (+147/-10)
tests/system/xorg-gtest/tests/compiz_xorg_gtest_icccm.cpp (+131/-0)
tests/system/xorg-gtest/tests/compiz_xorg_gtest_test_window_stacking.cpp (+16/-86)
- Daniel van Vugt: Needs Fixing
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 2047 lines (+1631/-70)20 files modifiedinclude/core/CMakeLists.txt (+1/-0)
include/core/configurerequestbuffer.h (+73/-0)
include/core/window.h (+26/-7)
plugins/composite/src/window.cpp (+1/-5)
plugins/move/move.xml.in (+1/-1)
plugins/move/src/move.cpp (+12/-5)
plugins/move/src/move.h (+2/-0)
plugins/opengl/src/paint.cpp (+3/-0)
plugins/opengl/src/privates.h (+3/-0)
plugins/opengl/src/window.cpp (+2/-1)
src/CMakeLists.txt (+7/-0)
src/asyncserverwindow.h (+52/-0)
src/configurerequestbuffer-impl.h (+145/-0)
src/configurerequestbuffer.cpp (+354/-0)
src/event.cpp (+1/-1)
src/privatewindow.h (+45/-1)
src/syncserverwindow.h (+49/-0)
src/tests/CMakeLists.txt (+11/-0)
src/tests/test_configurerequestbuffer.cpp (+647/-0)
src/window.cpp (+196/-49)
- PS Jenkins bot (community): Needs Fixing (continuous-integration)
- Compiz Maintainers: Pending requested
- MC Return: Pending requested
-
Diff: 4386 lines (+3345/-156)49 files modifiedCMakeLists.txt (+16/-0)
cmake/CompizGSettings.cmake (+12/-1)
cmake/CompizPlugin.cmake (+34/-19)
cmake/plugin_extensions/CompizGenGSettings.cmake (+7/-1)
cmake/plugin_extensions/CompizGenGconf.cmake (+3/-1)
cmake/plugin_extensions/CompizGenInstallData.cmake (+6/-4)
cmake/plugin_extensions/CompizGenInstallImages.cmake (+7/-4)
include/core/CMakeLists.txt (+1/-0)
include/core/configurerequestbuffer.h (+73/-0)
include/core/window.h (+26/-7)
plugins/CMakeLists.txt (+1/-17)
plugins/composite/src/window.cpp (+1/-5)
plugins/move/move.xml.in (+1/-1)
plugins/move/src/move.cpp (+12/-5)
plugins/move/src/move.h (+2/-0)
plugins/opengl/src/paint.cpp (+5/-2)
plugins/opengl/src/privates.h (+3/-0)
plugins/opengl/src/window.cpp (+2/-1)
src/CMakeLists.txt (+7/-0)
src/asyncserverwindow.h (+52/-0)
src/configurerequestbuffer-impl.h (+145/-0)
src/configurerequestbuffer.cpp (+363/-0)
src/event.cpp (+1/-1)
src/plugin.cpp (+7/-0)
src/plugin/tests/CMakeLists.txt (+1/-0)
src/plugin/tests/test-plugin.cpp (+29/-0)
src/privatewindow.h (+45/-1)
src/syncserverwindow.h (+49/-0)
src/tests/CMakeLists.txt (+11/-0)
src/tests/test_configurerequestbuffer.cpp (+667/-0)
src/window.cpp (+192/-44)
tests/acceptance-tests/xorg-gtest/tests/compiz_acceptance_replace_current_wm.cpp (+5/-0)
tests/system/xorg-gtest/tests/CMakeLists.txt (+12/-1)
tests/system/xorg-gtest/tests/compiz_xorg_gtest_configure_window.cpp (+567/-0)
tests/system/xorg-gtest/tests/compiz_xorg_gtest_ewmh.cpp (+2/-1)
tests/system/xorg-gtest/tests/compiz_xorg_gtest_icccm.cpp (+15/-3)
tests/xorg-gtest/CMakeLists.txt (+13/-1)
tests/xorg-gtest/communicator/CMakeLists.txt (+17/-0)
tests/xorg-gtest/communicator/compiz_xorg_gtest_communicator.cpp (+200/-0)
tests/xorg-gtest/communicator/compiz_xorg_gtest_communicator.h (+67/-0)
tests/xorg-gtest/include/compiz-xorg-gtest.h (+62/-4)
tests/xorg-gtest/plugins/CMakeLists.txt (+10/-0)
tests/xorg-gtest/plugins/testhelper/CMakeLists.txt (+7/-0)
tests/xorg-gtest/plugins/testhelper/src/testhelper.cpp (+231/-0)
tests/xorg-gtest/plugins/testhelper/src/testhelper.h (+95/-0)
tests/xorg-gtest/plugins/testhelper/testhelper.xml.in (+6/-0)
tests/xorg-gtest/src/CMakeLists.txt (+0/-2)
tests/xorg-gtest/src/compiz-xorg-gtest-config.h.in (+3/-2)
tests/xorg-gtest/src/compiz-xorg-gtest.cpp (+252/-28)
tags: | added: compiz-0.9 |
Changed in compiz: | |
status: | Incomplete → New |
status: | New → Incomplete |
summary: |
- Compiz 0.9.8 very bad performance + [nvidia] Moving or resizing windows freezes and stutters on nvidia + (especially if some other window is redrawing). |
Changed in compiz: | |
status: | Incomplete → In Progress |
importance: | Undecided → High |
assignee: | nobody → Daniel van Vugt (vanvugt) |
milestone: | none → 0.9.9.0 |
Changed in compiz (Ubuntu): | |
status: | Expired → In Progress |
importance: | Undecided → High |
assignee: | nobody → Daniel van Vugt (vanvugt) |
description: | updated |
Changed in compiz: | |
assignee: | Daniel van Vugt (vanvugt) → Sam Spilsbury (smspillaz) |
Changed in compiz (Ubuntu): | |
assignee: | Daniel van Vugt (vanvugt) → Sam Spilsbury (smspillaz) |
Changed in compiz: | |
status: | In Progress → Fix Committed |
Changed in compiz: | |
status: | In Progress → Fix Committed |
summary: |
- [nvidia] Moving or resizing windows freezes and stutters on nvidia - (especially if some other window is redrawing). + [nvidia] Moving windows freezes and stutters on nvidia (especially if + some other window is redrawing). |
description: | updated |
description: | updated |
Changed in compiz: | |
milestone: | 0.9.9.0 → 0.9.9.2 |
Changed in compiz: | |
status: | In Progress → Fix Committed |
Changed in compiz: | |
milestone: | 0.9.9.2 → 0.9.10.0 |
Changed in compiz: | |
status: | Fix Committed → Fix Released |
The Compiz rendering pipeline is undergoing major changes that you won't see until version 0.9.8.0 arrives. These will improve smoothness for most people.
Until then, please try a workaround:
CCSM > Workarounds > Force full screen redraws (buffer swap) on repaint = ON