J'ai besoin de saisir une série de captures d'écran et de les concaténer dans un film. J'essaie d'utiliser la classe Java Robot pour capturer l'écran.Performances createScreenCapture du robot Java
Mais la méthode createScreenCapture() prend plus d'une seconde sur ma machine. Je ne peux même pas avoir 1 fps. Y a-t-il un moyen de l'accélérer? Ou y a-t-il une autre API?
Modifier: Il alloue une image mise en mémoire tampon.
BufferedImage image = robot.createScreenCapture (écran); // Enregistrer la capture d'écran en tant que jpg
Fichier fichier = nouveau Fichier ("images/screen" + index + ".jpg");
ImageIO.write (image, "jpg", fichier); indice ++;
L'écriture dans le fichier jpg prend environ 200 ms alors que l'obtention de BufferedImage prend environ 1400ms.
Oui 'createScreenCapture()' alloue un 'BufferedImage', et convertit tous les pixels au format' INT_RGBA', ce qui prend le plus de temps. – finnw