Empresa Interactiva Feral lanzamento do optimizador , implementado como un proceso en segundo plano que cambia varias configuracións do sistema sobre a marcha Linux para acadar o máximo rendemento das aplicacións de xogos. O código do proxecto está escrito en C e baixo a licenza BSD.
Para os xogos, proponse utilizar unha biblioteca especial libgamemode, que permite solicitar a inclusión de determinadas optimizacións que non se usan por defecto no sistema mentres o xogo está en execución. Tamén hai unha opción de biblioteca dispoñible para executar o xogo en modo de optimización automática (cargando libgamemodeauto.so a través de LD_PRELOAD ao iniciar o xogo), sen necesidade de facer cambios no código do xogo. A inclusión de certas optimizacións pódese controlar a través do ficheiro de configuración.
Por exemplo, usando GameMode, pódense desactivar os modos de aforro de enerxía, cambiar a asignación de recursos e os parámetros de programación de tarefas (gobernador da CPU e SCHED_ISO), reorganizar as prioridades de E/S, bloquear o inicio do protector de pantalla, mellorar o rendemento varios modos. habilitarse nas GPU NVIDIA e AMD, e as GPU NVIDIA pódense facer overclock (overclocking), lánzanse scripts con optimizacións definidas polo usuario.
Engadido na versión 1.5 Cambiar dinamicamente o regulador da CPU para procesadores Intel con GPU integradas, se se usa o modo de "rendemento", resulta nunha caída no rendemento do subsistema gráfico baixo unha carga elevada da GPU. Neste caso, cambiar ao modo de "aforro de enerxía" reduce o consumo de enerxía da CPU e libera máis recursos da GPU (a CPU e a GPU comparten un orzamento de enerxía e priorizar os recursos da CPU resulta nunha frecuencia da GPU reducida). Nunha CPU i7-1065G7, esta optimización mellora o rendemento de Shadow of the Tomb Raider entre un 25 e un 30 %.
GameMode 1.5 tamén introduce un novo conxunto de API de D-Bus que empregan o mecanismo "pidfd" para xestionar a situación de reutilización de PID (un pidfd está asociado a un proceso específico e non cambia, mentres que un PID pode asignarse a outro proceso despois de que o proceso actual asociado a ese PID remate).
Fonte: opennet.ru
