Estoy considerando escribir una nueva aplicación Windows GUI, donde uno de los requisitos es que la aplicación debe ser muy receptiva, rápida de cargar y tener una memoria ligera.Qt Application Performance vs. WinAPI/MFC/WTL/
He utilizado WTL para aplicaciones anteriores que he creado con este tipo de requisitos, pero como utilizo .NET todo el tiempo en mi trabajo cotidiano, WTL se está volviendo cada vez más doloroso al volver. No estoy interesado en usar .NET para esta aplicación, ya que todavía me falta el rendimiento de las IU de .NET más grandes, pero estoy interesado en utilizar un mejor marco C++ para la interfaz de usuario, como Qt.
Lo que quiero asegurarme antes de comenzar es que no voy a arrepentirme de esto en el frente de rendimiento.
So: ¿Qt es rápido?
Voy a intentar y calificar la pregunta con ejemplos de lo que me gustaría estar cerca de hacer coincidir: Mi actual aplicación WTL es Programmer's Notepad. La versión actual en la que estoy trabajando pesa aproximadamente 4 MB de código para una versión compilada de lanzamiento de 32 bits con una sola traducción de idioma. En un PC rápido moderna que toma 1-3 segundos la carga, lo cual es importante ya que la gente a menudo disparan hacia arriba para evitar IDE etc. La huella de la memoria suele ser de 12-20 mb en 64 bits Win7 una vez que haya estado editando para una mientras. Puede ejecutar la aplicación sin parar, dejarla minimizada, lo que sea y siempre salta a la atención de forma instantánea cuando se cambia a ella.
En aras de la argumentación, digamos que quiero transferir mi aplicación WTL a Qt para un futuro soporte multiplataforma y/o el marco de interfaz de usuario mucho más fácil. Quiero acercarme si no coincide este nivel de rendimiento con Qt.
De acuerdo, el rendimiento a menudo se especifica excesivamente y los requisitos se declaran mal. Sin embargo, ¿cómo te sentirías si el Bloc de notas tardara 10 segundos en cargarse en lugar de menos de 1, y cada vez que lo restauraras desde minimizado tardara 10 segundos en regresar a la memoria? Algunas aplicaciones requieren una atención de rendimiento particular. –
Además, acordó que cualquier cosa que no sea la API nativa será una envoltura, pero existen envolturas rápidas y envolturas lentas: Win Forms es una envoltura lenta, WPF es una envoltura glacial. Estoy buscando un envoltorio que deje la aplicación como un placer de usar: los marcos deberían hacer su trabajo y salirse de mi camino :) –
Bueno, Qt es bueno. Ejemplos que uso todos los días: Skype está bien en cuanto a rendimiento. Opera es uno de los navegadores web más rápidos. KDE es un placer de usar, especialmente con gráficos de ojos compatibles con hardware. Espere un rendimiento similar al MFC, no a WPF. Es bastante rápido desarrollarlo, por lo que tendrá más tiempo para buscar cuellos de botella de rendimiento en su programa. –