Windows a dieta: un desarrollador aceleró el sistema usando código del siglo pasado

Windows a dieta: un desarrollador aceleró el sistema usando código del siglo pasado

Un desarrollador porta la biblioteca gráfica GTK+ 1.3 a las versiones modernas de Windows.

image

El antiguo conjunto de bibliotecas gráficas GTK+ 1.3, que tiene más de 25 años, inesperadamente ha recibido una segunda vida en las versiones modernas de Windows. El desarrollador publicó un porte funcional del sistema a la plataforma Win32 usando el compilador Microsoft Visual C++ 2022 y el sistema de compilación CMake, demostrando que el código clásico de interfaz en lenguaje C aún puede ser rápido y práctico.

El proyecto llamado Gtk1-Win32 es una versión completamente compilable de GTK+ 1.3, adaptada para las ediciones actuales de Windows, incluyendo Windows 11. El autor subraya que no es solo un experimento por nostalgia, sino una demostración de cómo los enfoques antiguos para desarrollar interfaces a veces resultan notablemente más eficientes que las soluciones modernas y pesadas.

La descripción indica que la arquitectura temprana de GTK funcionaba sin hojas de estilo ni escenas gráficas complejas. La presentación y la colocación de los elementos se calculan directamente mediante código en lenguaje C, sin procesar estilos en tiempo de ejecución. Los widgets no se simulan, sino que se forman a partir de primitivos básicos del subsistema gráfico. Se utiliza la capa nativa Win32, por lo que los elementos de la interfaz interactúan con el sistema directamente, sin capas intermedias.

Según las pruebas, una ventana de aplicación típica ocupa alrededor de 1,7 MB de memoria RAM, la carga de la CPU en reposo es del 0% y el arranque ocurre prácticamente al instante. Para cada elemento de la interfaz se crea un descriptor de ventana Win32 separado, como se hacía en los programas de escritorio clásicos.

La compilación se realiza con CMake en el entorno Visual Studio 2022. Incluye las bibliotecas necesarias, entre ellas glib, iconv y los módulos gráficos GDK. El autor señala que los ejemplos de programas del conjunto original se ejecutan con éxito. Sin embargo, el soporte de Unicode es limitado, ya que se usa el obsoleto modelo de texto de GTK 1.x. Durante la compilación aparecen muchas advertencias debido a las diferencias entre el antiguo estándar de C y los requisitos modernos del compilador.

El proyecto se distribuye bajo la licencia LGPL versión 2.0, al igual que el código fuente de GTK 1.3. El desarrollador describe el trabajo como un recordatorio de que la eficiencia del software sigue siendo una cualidad importante, y que el aumento de las exigencias de recursos no es inevitable.