Also, I don't think anyone really has the time to go and watch an hour long video hoping to find wth your are talking about. Maybe you have like amazing eyes or something because I really have never seen these "artifacts" you are talking about when properly double buffering.
Most of the relevant information about the problem is is in the first 10 minutes or so. The rest about profiling in chrome.
hmmm...if you are referring to the very jerky motion when you move an object slow in java2D that is because it does everything in ints.
No Java2D uses doubles and you can turn on different interpolation modes to get sub-pixel image interpolation, however this doesn't really help unless you are updating at much higher rate than the refresh rate of the monitor. If you update at 300fps moving objects by very small amounts each time your positions will only be out by ~3ms which is probably not noticeable. The downside of this 4/5 of the frames you generate are never shown so it's a pretty massive waste of CPU. Also this doesn't work with up-scaled pixel art type graphics (the type I am doing at the moment) as you are typically moving objects ~ at 1/2 pixels per frame and can't use sub-pixels.
Then try out either LWJGL or JogAmp.
I would prefer not to do this because it does impose a number of barriers to people trying my game, but it may be the only option. One downside is that setVSyncEnabled is not guaranteed to work either so it may not be much help.
An option I was considering was using javascript to call requestAnimationFrame() and drive each new frame from the browser itself but I'm not sure how reliable this would be or how much overhead it would create