If the game doesn't support triple buffering, and you don't force it with something like D3DOverrider or RadeonPro, then vsync will cause your frame rate to drop from 60 to 30 when your frame time is larger than 16.67ms (for a 60Hz refresh rate).
When you use only double buffering (the default), there are two render buffers, one of which is designated as the frame buffer (the piece of memory that holds the information drawn on the monitor). The frame buffer is read-only throughout the refresh interval (16.67ms for a 60Hz display). So the GPU can render only to the one free buffer.
The vertical blanking interval, the small bit of time between when one screen refresh ends and the next begins, is the only time when the buffers can be swapped. If the free buffer is not yet a complete frame (the frame rendering time exceeded 16.67ms), there's no swap, and the previous frame is drawn again. Now in the second refresh interval since the frame began rendering, the GPU might finish quite early. Say it takes just 17ms to render the frame. Now it has to sit there doing nothing, because the framebuffer is still locked, and the render buffer is complete. There's nowhere else to begin rendering the next frame to. So after the second blanking interval, 33.33ms after the frame rendering began, you see the latest frame. And the GPU starts from scratch on the next one. Since it can't finish it inside 16.67ms, you again wait until 33.33ms later to see the new frame. That's why it goes from 60fps (1000ms/16.67ms per frame) to 30fps (1000ms/33.33ms per frame).
With triple buffering, there's an additional render buffer. Now in the case above, you'll still wait 33.33ms for the first frame, but after the GPU finishes that frame, and it's waiting for the VBI to swap the framebuffer with the completed render buffer, it has that other buffer available to render to. So instead of sitting idle for 16.33ms, it's working on the next frame, which will be complete less than a millisecond into the next refresh interval, ready to display. At which point it's working on the next frame, which will also be complete in the next refresh interval, and so on.
So a 17ms frame time (real frame times are never so constant, of course) would results in 30fps with double buffering, and 58.8fps with triple buffering. What that translates to is basically one refresh interval each second (out of 60) showing the same frame instead of a new frame.
Increase the render time, and the result is more frequent duplicate frames, with any number between 60 and 30 frames rendered and displayed in each second.
So force triple buffering, or turn off vsync and live with the hideous screen tearing that results. At least if your frame rate is below the refresh rate, there will only be one seam on the screen at any one instant.