Quiero cargar 10 000 elementos en un DataGrid en WPF. Al usar un control Window
, los datos se cargan más rápido que cuando se usa un control Page
. ¿Alguien puede explicar por qué?¿Hay alguna diferencia de velocidad de carga entre la página y la ventana en WPF?
Respuesta
Las páginas están pensadas para su uso en aplicaciones de navegación (generalmente con botones Atrás y Adelante, por ejemplo, Internet Explorer). Las páginas deben ser alojados en un NavigationWindow o un marco
aplicación de Windows son simplemente normal de Windows WPF [lnk]
Esto es esencialmente un problema de XBAP vs ClickOnce. Cualquier cosa en una página está compilada y restringida por lo que WPF puede hacer en una ventana del navegador. Esto excluye muchas operaciones informáticas de bajo nivel que Windows WPF puede realizar porque están compiladas para ejecutarse desde el escritorio. Las aplicaciones de ventana tienen acceso completo a los recursos del sistema.
Tenga en cuenta que cuando utiliza un control de página, incluso durante la depuración, el código generado se crea con la implementación de un navegador en mente. Todos los XBAP se ejecutan en un entorno limitado de seguridad restrictivo bajo confianza parcial. En otras palabras, se les permite usar ciertas bibliotecas .NET pero les impide acceder a otras. [ref] Algunas de estas bibliotecas .NET serán responsables de las optimizaciones que, por lo tanto, no se pueden lograr en la implementación de un navegador.
Como tal, tiene sentido que las aplicaciones compiladas en Windows puedan realizar la mayoría de las operaciones más rápido que las aplicaciones integradas en Pages.
- 1. ¿Hay alguna diferencia entre System.Windows.Clipboard y System.Windows.Forms.Clipboard?
- 2. ¿Hay alguna diferencia entre! == y! = En PHP?
- 3. Página contra ventana en WPF?
- 4. ¿Hay una diferencia de velocidad entre WSGI y FCGI?
- 5. $ (ventana) .scroll() disparando en la carga de la página
- 6. ¿Hay alguna diferencia entre DataTable.Clear y DataTable.Rows.Clear?
- 7. ¿Hay alguna diferencia entre SSLv3 y TLS1.0?
- 8. ¿Hay alguna diferencia entre CPython y Python
- 9. ¿Hay alguna diferencia entre MsgBox y MessageBox.Show?
- 10. ¿Hay alguna diferencia entre gluLookAt() y glFrustum()?
- 11. ¿Hay alguna diferencia entre log4net.Config.BasicConfigurator.Configure() y log4net.Config.XmlConfigurator.Configure()?
- 12. ¿Hay alguna diferencia entre .NET y ASP.NET
- 13. TCP - diferencia entre la ventana Congestión y la ventana Recibir
- 14. ¿Hay alguna diferencia entre UITableViewCellAccessoryDetailDisclosureButton y UITableViewCellAccessoryDisclosureIndicator
- 15. ¿Hay alguna diferencia entre (local), '.' y localhost?
- 16. ¿Hay alguna diferencia entre: window.localStorage y localStorage?
- 17. ¿Hay alguna diferencia entre `ListView.invalidateViews()` y 'Adapter.notifyDataSetChanged()'?
- 18. ¿Hay alguna diferencia entre is_int() y ctype_digit()?
- 19. ¿Hay alguna diferencia entre readonly y {get; }
- 20. ¿Cuál es la diferencia entre uno mismo y la ventana?
- 21. WPF ShowDialog omitiendo excepciones durante la carga de la ventana
- 22. ¿Hay alguna forma de evitar que TinyMCE se enfoque automáticamente en la carga de la página?
- 23. ¿Hay alguna diferencia entre "margin: 0 auto;" y "margin: auto;"
- 24. Diferencia entre la vista de lista y DataGrid en WPF?
- 25. Diferencia entre la plantilla de control y DataTemplate en WPF
- 26. ¿Hay alguna diferencia (de rendimiento) entre Depurar y Liberar?
- 27. ¿Hay alguna diferencia entre la integridad de los datos y la consistencia de los datos?
- 28. .NET: ¿Hay alguna diferencia entre InvariantCulture y en-US?
- 29. Diferencia entre la actualización de la página y la devolución de la página
- 30. ¿Hay alguna diferencia de rendimiento entre myCollection.Where (...). FirstOrDefault() y myCollection.FirstOrDefault (...)
¿por qué no creas una prueba simple? –
Reconozco que podría usar una herramienta de creación de perfiles (dotTrace o ANTS) para ver qué está sucediendo y qué está causando la diferencia. – pguzewicz
¿Es necesario editar o agregar? Si no, obtendrás un mejor rendimiento con un ListView GridView. Revisaría el código y vería si no hay algo diferente. – Paparazzi