What is the real truth about Minecraft mob spawning?

Solution 1:

Technically, placing torches will decrease your overall mob spawns; the game does pick a single random point within the eligible chunks to spawn a monster, and if that point is not suitable, the monster doesn't spawn. Therefore filling other caves with torches will reduce the number of spawn-friendly points, reducing your overall monster count. This does technically help your mob grinder because you don't have mobs lurking in neighboring caves counting against the mob cap (and ultimately taking it all up, preventing anything from spawning in your grinder).

The best solution would probably be to use a vast water network to drag all the mobs from all nearby caves into your grinder, so you maximize spawn area, but bring any mobs from all the viable spawn points into a single area.

Solution 2:

I don't see anything contradictory between the two. First you eliminate the possibility of any of the chunks in the nearby zone spawning monsters because it is a solid block or too bright. When the scanning occurs even though there is only a 1/32768 chance of selecting a particular block in your mob spawner, you have to remember that it is doing it extremely fast, a few million iterations of the chunk block selection can easily be performed within the span of 1 second.

@Matt - Updated answer Because once the total number of mob spawns is reached, no more monsters will be spawned. Your mob spawner will stop spawning at one point if all the monsters are spawning somewhere else, such as a hidden underground cave.

Solution 3:

There's no contradiction, here. Based on your recaps, the first is in layman's terms, and the second is a technical explanation of the exact same thing.

What's not clear is what you're trying to accomplish with your "block x". If x is in your spawner, you want to eliminate valid, unlit spawnable blocks outside of your spawner. If x is outside of your spawner, you want to light it up or fill it in so it will not be a valid spawning point.

If you want "block x" to be eliminated from the spawning scans, in order to save time... It's not possible, and the scan iterations go by so quickly that it's not a level of optimization that's necessary.