My implementation is relatively artifact free. There are issues, no doubt, but only a couple of what you're talking about.
I did get haloing, but that's solved by having a maximum distance at which samples can cause occlusion. In my example, the room is 256 units wide, and the max occlusion distance is 48. Oh, and yes, the occlusion will cut out at the edges of the screen. This is unavoidable. You can hide it by outputting your SSAO to a texture, generating mipmaps, and then downsampling. It will blur the SSAO, and hide the screen edge problems. Also, it hides graininess.
because literally all of that happens with my implementation lol
looks awesome, thanks for the info
do you get any halos/outlines around objects? or do you see "ghosting" where your samples form little silhouettes of sample areas surrounding complex objects? also does your framerate decrease if you get really close to an occluded area? and lastly do you get weird artifacts when you get close to occluded areas, sort of like the occlusion starts to cut out around your screen edges and you start seeing bands/strips of occlusion?
psst if you get your SSAO implementation working/looking good please lemme know because mine is absolutely terrible lmao