Bonjour,
Je souhaiterais obtenir la fréquence de rafraichissement de mon écran depuis une appli java. Comment dois-je procéder ?
merci d'avance
Bonjour,
Je souhaiterais obtenir la fréquence de rafraichissement de mon écran depuis une appli java. Comment dois-je procéder ?
merci d'avance
Si tu souhaites obtenir la fréquence de rafraichissement de ton écran ( 75Hz, par exemple), il n'y a pas de solution pure JAVA (il faut surement passer par une DLL/librairie dynamique, éventuellement l'écrire toi-même en C par exemple).
La vraie question est : à quoi ça va te servir ? Si c'est juste pour info, il vaut peut-être mieux oublier.
merci pour ta réponse fabien.
Connaître la fréquence de rafraichissement de l'écran permet d'améliorer encore le rendu graphique d'une animation 2D déjà optimisée (double buffering, anti-aliasing,etc...) en lançant les rafraichissements aux moments clés.
Je travaille actuellement avec des scientifiques spécialistes de ce genre d'animations très pointues (pour réaliser des tests sur la vision). Ils travaillent actuellement sur le logiciel Matlab avec lequel cette technique fonctionne parfaitement et m'ont demandé de tester si l'équivalent était possible avec le langage Java.
Or il semblerait que non...
L'utilisation d'une DLL est à exclure car l'appli doit être portable.
Salut,
Avec le JDK 1.4 c'est possible...
Il faut regarder du coté des classes GraphicsEnvironment, GraphicsDevice et DisplayMode du package java.awt...
Et comme un bout de code vaut toutes les explications du monde:
a++
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import java.awt.GraphicsEnvironment; import java.awt.GraphicsDevice; import java.awt.DisplayMode; class Frequence { public static void main (String[] args) { GraphicsEnvironment environment = GraphicsEnvironment.getLocalGraphicsEnvironment(); GraphicsDevice screen = environment.getDefaultScreenDevice(); DisplayMode mode = screen.getDisplayMode(); System.out.println ("Resolution : " + mode.getWidth() + " * " + mode.getHeight() + " @ " + mode.getRefreshRate() + " hz " ); } }
PS: Tu peux également changer la résolution/frequence avec la méthode setDisplayMode().
getDisplayModes() te donne la liste des mode disponible...
Ha merci adiGuba !
ça m'étonnait que ce ne soit pas possible.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager