Collisions are checked against shape() and not boundingRect(). Whatever you do with the granularity, it will not change anything until you reimplement shape() for your item.