Removendo espaço em branco extra do HTML gerado no MVC

Tenho uma visualização de aplicativo MVC que está gerando uma tabela HTML de valores bastante grande (> 20 MB

Estou compactando a visualização no controlador usando um filtro de compressão

 internal class CompressFilter : ActionFilterAttribute
 {
     public override void OnActionExecuting(ActionExecutingContext filterContext)
     {
         HttpRequestBase request = filterContext.HttpContext.Request;
         string acceptEncoding = request.Headers["Accept-Encoding"];
         if (string.IsNullOrEmpty(acceptEncoding))
             return;
         acceptEncoding = acceptEncoding.ToUpperInvariant();
         HttpResponseBase response = filterContext.HttpContext.Response;
         if (acceptEncoding.Contains("GZIP"))
         {
             response.AppendHeader("Content-encoding", "gzip");
             response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
         }
         else if (acceptEncoding.Contains("DEFLATE"))
         {
             response.AppendHeader("Content-encoding", "deflate");
             response.Filter = new DeflateStream(response.Filter, CompressionMode.Compress);
         }
     }
 }

Existe uma maneira de também eliminar a quantidade (muito grande) de espaço em branco redundante gerado na exibição antes de executar o filtro de compactação (para reduzir a carga de trabalho e o tamanho da compactação

EDITAR Comecei a trabalhar usando a técnica WhiteSpaceFilter sugerida por Womp abaix

Para o interesse, aqui estão os resultados, conforme analisados pelo Firebug:

1) Sem compressão, sem espaço em branco - 21 MB, 2,59 minutos
2) Com compressão GZIP, sem espaço em branco - 2 MB, 17.59s
3) Com compressão GZIP, faixa de espaço em branco - 558kB, 12.77s

Então certamente vale a pena.

questionAnswers(8)

yourAnswerToTheQuestion