Assuming you have axis-oriented bounding boxes, you can sort the list of points by their x coordinate, find places at the list points inside or outside the bounding rectangles with a binary search, and possibly drop a large number of points at once. Repeat for y coordinate. Then continue, as before, from the remaining points. You can triangulate the polygon to speed up the test in the bounding box.
, , (.. , ).