En Dev10 hemos invertido en mejorar el tiempo de carga solución examinado haciendo que la carga asíncrona. Desafortunadamente, debido a limitaciones de tiempo, este trabajo no se convirtió en Dev10, por lo que decidimos al menos mejorar la experiencia del usuario al brindarle al usuario información sobre lo que estaba sucediendo durante la carga de la solución. Inicialmente, esto implicó un diálogo que presentaba comentarios precisos sobre la cantidad de proyectos que se estaban cargando junto con el nombre del proyecto que se estaba cargando actualmente. Las primeras pruebas de esta experiencia revelaron que a menudo había un retraso no trivial (es decir, el donut giratorio y el título de la ventana "no responde") después de cargar los proyectos y la existencia del diálogo hizo que esta demora fuera muy aparente una vez que se descartó el diálogo. Entonces, ¿cuál es el retraso? Hay dos cosas principales que ocurren después de que se hayan cargado los proyectos de la solución. En primer lugar, se vuelven a abrir todos los documentos/editores cargados previamente y, en el caso de algunos archivos de diseñador, esto puede tardar unos segundos. En segundo lugar y usualmente mucho peor, llamamos al NotifyOnAfterSolutionOpen
que es un punto de extensión en VS. Cualquier suscriptor de este evento puede ejecutar su código en este momento y, con bastante frecuencia, este código es muy costoso. Para Dev10 no tuvimos el tiempo para mejorar el desempeño de todos estos suscriptores, por lo que se consideró necesario un segundo diálogo para dejar en claro que la Carga de la Solución aún estaba en curso. Lo que realmente apesta del segundo diálogo es que no te dice qué parte del código está causando el retraso y peor el control de progreso es el estilo de marquesina, lo que significa que no es determinante (a diferencia del primer diálogo).
En el futuro seguimos investigando formas de hacer que la carga de la solución sea realmente asíncrona y, como tal, nunca muestre esos desagradables diálogos. En la defensa del diálogo, nuestra investigación indica que la mayoría de la gente prefiere un diálogo de estado modal sobre el donut giratorio o la IU que no responde. Por supuesto, nadie prefiere ninguna demora en absoluto, y estamos trabajando en eso para Dev11.
Sé que esto es solo un desperdicio de un comentario, pero LMFAO. –
@Erick_Robertson Buen comentario :) – Lazarus
Supongo que está haciendo aproximadamente la misma cantidad de trabajo que VS2008 hizo al abrir un proyecto, pero ahora hay una barra de progreso para que pueda ver cuándo está listo. Pero no he comparado las velocidades. –