Hola aitopes, no solo coincido contigo, si no que reafirmo lo que dices ya que hacerlo por columnas si estas superan las 10, es imposible conseguir un buen brillo de los LED.
Por lo tanto desde ya les voy comentando a todos los interesador en el tema, la unica forma de refrescar más de 10 columnas de manera eficiente es hacerlo refrescando por filas, y para eso se usan los 4094 que son reguistros de desplazamientos o convertidores serie paralelo.
De esta manera se solocan los datos en los 4094 (estos se conectan en serie), se activa la fila correspondiente, se le da una demora, se desactiva la fila, y se cargan los datos correspondientes a la fila siguiente. Así con todas las filas y volver a comenzar.
Es la unica manera, no hay otra forma con solo un PIC.
Espero les sea de ayuda.
UN saludo.
Atte. CARLOS.