2010-02-12 33 views
14

Actualmente estoy investigando si construir una aplicación de Windows usando C/C++ no administrado o en .NET y me gustaría saber qué tipo de rendimiento y capacidad de respuesta es capaz con una aplicación GUI C#/.NET administrada?Ejemplos de aplicaciones rápidas .NET WPF/WinForms?

No sorprende que parezca que las aplicaciones más rápidas y más receptivas (por ejemplo, chrome, spotify, etc.) están escritas en C/C++ no administrado. Me ha costado encontrar ejemplos de aplicaciones .NET realmente buenas, por lo que me gustaría obtener ayuda.

¿Cuál es el mejor ejemplo de una aplicación de Windows .NET rápida y sensible?

+2

Las aplicaciones de Windows Forms son tan rápidas como las no administradas. Las aplicaciones WPF tardan en volver a dibujar cuando cambia el tamaño de sus ventanas, pero de lo contrario pueden ser tan rápidas como no administradas. – CannibalSmith

+3

@ Canibal: No estoy de acuerdo con sus dos declaraciones. 1. Muchas aplicaciones WPF son tan ágiles como las aplicaciones no administradas para manejar el cambio de tamaño. En general, las aplicaciones WPF manejan el redibujado mucho más rápido que las técnicas no gestionadas típicas cuando se trata de animaciones (WPF usa Direct3D, que es demasiado complejo para la mayoría de los no administrados). 2. WinForms tiene sus ralentizaciones también, por ejemplo, tiende a ser más lento que ambos no administrados y WPF para muchos usos de gráficos avanzados como 3D, transparencia, etc. 3. El código no administrado puede ser el más lento de los tres a veces porque es así mucho más trabajo para optimizarlo. –

+0

Podría ser mejor buscar puntos de referencia y técnicas, que las aplicaciones arbitrarias que probablemente no serían relevantes para el caso de uso que está planeando. –

Respuesta

4

El latest version of Bing Maps está escrito en Silverlight que cuenta como código administrado.

Live Mesh está escrito en alguna forma de .NET (aunque creo que envía su propia versión de Silverlight con ella, por lo que no tiene otras dependencias).

Hace algunos años, la mayoría de los lectores RSS se escribieron en .net. Creo que la capacidad de respuesta dependerá de lo que estés programando en lugar de lo que usas. Al final del día con multihilo, puede hacer que la aplicación responda mientras se procesa, sin importar el marco que use.

+0

Parece que los mapas de Bing han mejorado saltos y saltos, parece el mejor ejemplo aquí. – mythz

5

WorldWide Telescope es una aplicación .NET con uso intensivo de gráficos que le permite navegar por un cielo nocturno virtual, así como muchos otros elementos relacionados con la astronomía. Maneja cantidades bastante masivas de datos. A pesar de que parece estar en perpetuo beta, proporciona una experiencia de usuario muy atractiva.

Windows Live Writer es otra aplicación .NET. Puede que no sea una aplicación muy grande, pero sobresale en lo que hace, y nunca he tenido problemas con su capacidad de respuesta.

+0

Debo decir que el WorldWide Telescope se ve bastante atractivo. – mythz

1

TOAD para MySQL es una aplicación .NET. Es bastante rápido. Ver http://www.toadsoft.com/toadmysql/faq.htm

Además, la próxima versión de Visual Studion 2010 tiene mucha interfaz de usuario escrita en WPF. El rendimiento de Release Candidate se ve bien IMO.

2

Aquí es uno de mis favoritos.

http://www.vertigo.com/familyshow.aspx

Una vez instalado, abra la familia Windsor y haga clic alrededor. Asegúrese de probar:

  • Los controles deslizantes "Tiempo" y "Zoom" en las esquinas inferiores izquierda y derecha de la ventana.
  • escribir en el cuadro "Filtro" en la parte inferior derecha

Family.Show tiene varios retrasos intencionales insertados para una experiencia de usuario más atractiva, por ejemplo, se utilizan animaciones al navegar alrededor del árbol genealógico. Si editas el código fuente y cambias la duración de todas las animaciones a "0", encontrarás que todo sucede casi al instante.

7

Paint.Net es un ejemplo de código abierto de una aplicación escrita en .Net.

1

Greenshot is an OSS .NET app, que MUCHAS personas han establecido para comenzar con Windows (reemplaza la aplicación comercial SnagIt). Son formularios de Windows. Una comprobación rápida del explorador de procesos confirma que utilizan NGEN para reducir el tiempo/carga de JIT (Greenshot.ni.exe).

GitHub for Windows is WPF (IIUC principalmente codificado a mano XAML). Por supuesto, todas las operaciones de git se transfieren a la biblioteca nativa libgit2.

Se administra la mayor parte de la interfaz de usuario de Visual Studio. Yo diría que es rápido (lo suficientemente rápido para mí) y se vuelve más rápido con cada lanzamiento, a pesar de mover cada vez más la interfaz de usuario de C++/Win32/COM a C#/WPF/.NET. VS juega muchos trucos para obtener esta velocidad. El diseño de IL está optimizado para patrones de uso después de muchas ejecuciones de generación de perfiles, post-compilación y después de la instalación local, el IL está preconfigurado (NGEN), por lo que la mayoría del código que se ejecuta al inicio ya es código nativo de NGEN.

Cuestiones relacionadas