PadPoll
PadPoll es una herramienta multiplataforma para medir la frecuencia de sondeo de los mandos de videojuegos en Windows y Linux, la cual utiliza APIs de bajo nivel ofrecidos por los sistemas operativos para obtener los datos de entrada de los dispositivos y calcular las métricas que son mostradas al usuario mediante una aplicación de consola.
Tecnologías Usadas
-
.NET 10
Utilizado para construir la aplicación de consola.
-
C#
Lenguaje de desarrollo utilizado con .NET.
Características
-
Uso de APIs de Bajo Nivel
Emplea 'GameInput' en Windows y 'evdev' en Linux para obtener la entrada de los mandos.
-
Compilación Nativa
Usa NativeAOT para compilar a un binario portable y de alto rendimiento.
Plataformas Soportadas
-
Linux
-
Windows 10
-
Windows 11
Objetivo
Ofrecer una herramienta de código abierto nativa, portable y eficiente que compruebe de forma efectiva el rendimiento de mandos de videojuegos en Windows y Linux mostrando métricas confiables que reflejen la experiencia de juego.
Desafíos
-
GameInput API de Windows
Situación
La implementación de GameInput en Windows fue compleja debido a su diseño nativo para C++. La integración mediante P/Invoke e interfaces COM resultó difícil por la ambigüedad y discrepancias entre versiones en la documentación oficial.
Solución
Aunque GameInputNet ofrecía una solución, era incompatible con NativeAOT. Por ello, se utilizo dicha librería como referencia técnica para desarrollar una integración propia, minimalista y optimizada, garantizando el máximo rendimiento en PadPoll.