The rendering on X11 is unfortunately not synchronised with vblank/vsync. This can easily give a big horizontal tear when you have large continuous updates (e.g. video). It is also much worse with bug 5618 and a slow machine. At that point you'll get lots and lots of tears as the X server is still working on the previous XShmPutImage(), but we've already started updating the shared memory.
Unfortunately this is a fundamental problem in X11. Switching to OpenGL is the only way to get any kind of proper support for vsync. There might be things we can do to mitigate the problem until then though. Things to try are XSync(), Xdbe, and putting the data in a pixmap first and then doing XCopyArea().
I have had 2 servers running and found Ubuntu 14.04 is worse than Debian 8 using low end hardware playing videos.
Bug 5618 did add some synchronisation for XShmPutImage() which got rid of a lot of tearing, so the problem is a lot smaller now than what's in the description. Might be good enough until everyone has switched over to Wayland.
There is also now the "Present" extension, which is explicitly designed to handle this use case. It simply schedules a pixmap drawing operation, so it's fairly simple in nature.