use layer frame.size instead of view bounds in processing loop