Depende del sistema operativo, pero todos tienen funciones para preguntar las capacidades. Si preguntas por Windows, mira la descripción de las librerías DirectX y de OpenGL. Si te interesa GNU/Linux deberás tirar por OpenGL (again

) y/o XWindow. Para el resto (OS/2, MacOS, FreeDOS, BeOS...), casi todos soportan OpenGL así que sería la opción a elegir, aunque cada una tiene su método específico.
Los FPS sí sirven para eso. Basta con que pongas en el bucle principal una línea que compruebe que no baje de cierto valor, y si baja, pues lanzas una excepción (p.e: RAISE Exception.Create ('Tu ordenador es demasiado lento')

y ya está.