Optical vs Contact encoders

I'm working on a project and have been experimenting with those cheep contact encoders. I am wondering if the optical encoders have the same or lesser bouncing issue compared to contact encoders. Anyone have experience with booth?

I have a manually operated optical encoder with 16 state changes per revolution and there is no bounce. An optical encoder should have no bounce, and the cheap contact ones do bounce.