This happens in 3.1.4 :
I have rich:tabPanel containing few tabs with switchType="ajax".
I have few components of type a4j:outputPanel with layout="none" present on the rich:tab(s)
When moving between tabs I expect only the tabPanel to be reRendered, which is usually the case, but in the scenario described above all outputPanels are present in the Ajax-Update-Ids List... Thus causing excessive replacement of DOM components.
The situation is even worse if I have nested outputPanels... causing the same DOM element to be replaced as many times as the number of outputPanels parents it has.
This does not happen if layout="block"
using outputPanels with layout="none" is useful as a place holder so I use it a lot but with the behaviour I describe above it has a huge performance penalty.