# Capítulo 16: El Sistema de Ventana

La estructura `Window` representa una ventana en la pantalla en la que se mostrará el juego. Este sistema utiliza el módulo `sdl2::video` de la biblioteca `SDL2` en Rust.&#x20;

La estructura `Window` contiene tres campos: `sdl_context`, `video_subsystem` y `canvas`. `sdl_context` es el contexto principal de la biblioteca SDL. `video_subsystem` es un subsistema que maneja las funcionalidades de video. `canvas` es una estructura que representa el área donde podemos dibujar cosas. Se crea una `Window` con un título, ancho y altura específicos. La función `new` inicializa SDL2, crea una ventana con el título, ancho y altura especificados, y devuelve un `Result` que contiene una nueva instancia de `Window` o un mensaje de error.&#x20;

La ventana se crea en el centro de la pantalla y utiliza el contexto OpenGL. El lienzo se crea en modo de software, lo que significa que utiliza la CPU para renderizar. Esto suele ser más lento que usar la GPU, pero es más ampliamente compatible.
