Mover, copiar ou trocar elementos DOM?

Para jMatrixBrowse, queríamos ter os dados disponíveis para o usuário assim que ele atingir uma determinada célula. Implementamos um módulo de armazenamento em cache em segundo plano para isso, que carregava todas as células da matriz em um contêiner de segundo plano separado para que todos os dados estivessem disponíveis no DOM quando necessário.
A única coisa que precisávamos cuidar era como trocar o conteúdo do plano de fundo para o conteúdo da matriz. Aqui estão alguns resultados experimentais de três estratégias que testamos.

Estratégia 1: Carregar os dados de fundo em um contêiner separado e quando mais células forem necessárias na matriz, clonamos e movemos as células do contêiner de fundo para o contêiner de matriz principal na posição correspondente.
Estratégia 2: carregue os dados de fundo no mesmo contêiner que o conteúdo da matriz, mas torne-os inicialmente ocultos. Altere a parte superior / esquerda das células do plano de fundo e mostre-as quando novos dados forem necessários na matriz.
Estratégia 3: Carregar os dados de fundo em um contêiner separado e quando novos dados forem necessários na matriz, troque o html dos novos dados no lugar das células já existentes.

Veja os resultados completos aqui:
http://pulkitgoyal.in/2012/09/03/645/