Sometimes bound does not work

I added bounds around my screen. they are Rigidbody with Kinematic set. I have a character in the game also is rigidbody. when the character move slow, it can have Collision with bound and go back to the scene. But when move fast, it sometimes just go through bounds and fly out of scene. Is anyone know why? BTW, I use fixed joint to give the force to the character.

Example: you use transform.position.x +=10; in update, it means every frame your object is moving 10 pixels or any other measures used.

frame0: x = 0.

frame1: x= 10;

So collision only happens at x = 0 or 10 or 20…

The solution would be to bound your object with:

if(transform.position.x >= bounds)
transform.position.x=bounds;

This is just the big idea, now you need to turn around at your wish.

Also, this applies to projectile, when you shoot a bullet. Raycast is used in this case.