To test this out, I installed plain Ubuntu, Ubuntu GNOME and Ubuntu MATE one after another. They were all 16.04.2 LTS. I updated all three of them and rebooted as necessary. My goal was to have three identical desktops with mainly the desktop environment different. I installed nothing additional.
Both plain Ubuntu and Ubuntu MATE (once enabled) use Compiz while Ubuntu GNOME uses Mutter. Doing a simple inxi -G gives me different results. For plain Ubuntu and Ubuntu MATE, the driver has names like ati and radeon written beside it. For Ubuntu GNOME, the driver has N/A written beside it. This is reflected in their performance. Plain Ubuntu and Ubuntu MATE are very smooth in their animations. It's obvious that they're using hardware acceleration properly. Moving windows doesn't increase CPU usage by much. On the other hand, Ubuntu GNOME is very laggy. All animations look like they have low FPS and moving windows spikes CPU usage to 50%. It's also obvious that hardware acceleration isn't used properly or at all.
This may be relevant here. My experience with Kubuntu, which uses Kwin, was just as smooth as plain Ubuntu and Ubuntu MATE. Animations were smooth and snappy. On the other hand, my experience with Linux Mint Cinnamon was just as laggy as Ubuntu GNOME. Cinnamon uses Muffin, a fork of Mutter.
So, from what I understand, Mutter is the problem. This is obviously not an issue of using weak hardware. But, I'm in no way an expert.
Please, help. GNOME is my favorite desktop environment, but just about anything except for GNOME and projects which are closely tied to GNOME (e.g. Cinnamon) runs with proper hardware acceleration for me. This is just unfortunate.