IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Problème de performance avec une animation sous linux


Sujet :

Linux

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut Problème de performance avec une animation sous linux
    Bonjour


    J'ai un probleme de perfomance lors d'une animation sous linux.
    Cette animation est parfaitement fluide sous windows mais tres saccader sous mandrake 10.0.
    J'ai installer les driver de ma carte video (Geforce 2 mx) mais le resultat est le meme.

    Cependant j'ai remarquer que l'animation etait fluide lorsque que bouge ma souris a l'interieur de la fenetre ou se passe l'animation.

    Qqun pourrais m'eclairais pour ce probleme?
    dois je conclure que sun defavorise linux? que linux est une merde question performance(mince moi qui commencais a apprecier cet os)? que j'ai un probleme de confiiguration? que mon animation est mal programmer?

    Ce message etait precedement sur le forum java mais je n'ai pas trouver bcp d'aide.

    PS : java 1.4.2_05,mandrake 10.0, CPU 1GHZ 512 Mo de ram.

    Mon animation java (c juste un essai ne chercher pas la belle programmation et un code optimiser . ya meme des variables qui servent a rien):

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    /*
     * Created on 9 juil. 2004
     *
     *  */
    package essai;
     
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.awt.Rectangle;
    import java.awt.geom.AffineTransform;
     
    import javax.swing.JFrame;
     
    /**
     * @author joffrey
     * 
     *  
     */
    public class Essai extends JFrame implements Runnable {
     
    	private Graphics2D buffer;
    	private Image image;
    	private AffineTransform trans;
    	private int x,y,top;
    	private Thread t;
    	private Rectangle r;
     
    	public Essai()
    	{
    		top=x=y=0;
    		t = new Thread(this);
    		r = new Rectangle(10,10,50,50);
    		setSize(400,400);
    		setVisible(true);
    		t.start();
    	}
    	public void paint(Graphics g)
    	{
    		if(image == null)
    		{
    			image = createImage(getWidth(),getHeight());
    			buffer = (Graphics2D)image.getGraphics();
    		}
    		Graphics2D g2d = (Graphics2D)g;
    		trans = new AffineTransform();
    		trans.translate(x,y);
    		buffer.setTransform(trans);
    		buffer.drawRect(10,10,50,50);
    		g2d.drawImage(image,0,0,400,400,this);
     
    			x+=1;
    			y+=1;
     
     
     
    	}
     
     
    	public void run()
    	{
    		long tm = System.currentTimeMillis();
    		while(true)
    		{
    			repaint();
    			try{
    				tm+=30;
    				t.sleep(Math.max(0,tm-System.currentTimeMillis()));
    			}catch(Exception ex){}
    		}
    	}
     
    	public static void main(String[] args)
    	{
    		Essai e = new Essai();
     
     
    	}

  2. #2
    Membre expérimenté
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Points : 1 428
    Points
    1 428
    Par défaut
    Bonjour,

    Le probleme ne vient pas de ton code (du moins ca ne joue pas trop). Mais plutot des points suivants:
    faible qualite des drivers nvidia sous linux
    utilisation de java pour faire une animation (ce n'est pas fait pour ca du tout)

    Le mieux est d'utiliser une librairie opengl qui utilise les capacités de ta carte graphique. Mais meme avec cela, tu n'auras pas un resultat miraculeux.

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2003
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 49
    Points : 52
    Points
    52
    Par défaut
    J'ajouterais + utilisation de Mandrake, la plus lente des distributions par défaut...

    Java est aussi fait pour çà puisque l'api java 3D existe. Ce n'est pas le mieux pour çà soit, mais pas fait pour, c'est éxcessif.

    Petite question: comment Java s'est connaitre?
    Avec les applets il me semble, cette petite forme d'animation qu'on glisse dans une page web.

    MAIS JAVA EST LENT DONC IL FAUT TOUJOURS OPTIMISER DU CODE JAVA!!!!!!!!!!!!!!!!!
    [code:1]man -k probleme[/code:1]
    :code:

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Merci de vos reponses,

    Pour l'animation je devrais donc utiliser la librairie opengl. Mais est ce compliquer a installer? comment l'installer? on peut faire de la 2D avec opengl? son utilisation n'est pas trop compliquer? car g deja vu un bou de code de l'api java 3D pour faire tourner un cube et ca a l'air tres compliquer.

    Mandrake est la plus lente. qu'en ai t'il de fedora?

    Sinon j'ai choisi java pour sa portabilité et son utilisation aisée( au detriment des performances soit).

    Sinon vous me conseillerez quoi comme language pour faire une animation? du c++? cela a pour but de faire un petit jeu en 2D.

    ouah! ca fais bcp de question tout ca!
    Merci d'avance.

  5. #5
    ovh
    ovh est déconnecté
    Rédacteur
    Avatar de ovh
    Homme Profil pro
    Architecte devops web full stack
    Inscrit en
    Mai 2002
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte devops web full stack

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 841
    Points : 6 514
    Points
    6 514
    Par défaut
    Bon les gars vos réponses ne me satisfont pas.

    Si bidules dit que son code tourne nickel sous windows sans saccade et que sous linux ça foire... c'est paaas bien d'accuser java, ça ne tient pas debout.

    Je n'aime pas spécialement java non plus, mais faut être honnête. Ca doit être une question de configuration mais je ne saurais pas t'aider bidules.

    Citation Envoyé par bidules
    Cependant j'ai remarquer que l'animation etait fluide lorsque que bouge ma souris a l'interieur de la fenetre ou se passe l'animation.
    Quand tu dis ça, ça me fait penser à une question de priorité des processus. Sous windows, l'application occuperait la majorité des ressources CPU tout le temps (cas typique sous windows ), ce qui fait que l'application a l'air fluide parce que le processeur s'occupe d'elle tout le temps. Tandis que sous linux, si ton application n'a pas le focus, le système accorde aussi de son temps aux autres tâches... C'est une idée comme ça, je ne sais pas si ça tient debout.

    Ceci dit, il est clair qu'une animation 3D se sentira beaucoup mieux si elle est codée avec amour en OpenGL

    Tutoriels sur les UPS, e-commerce, PHP, critiques de livres...

    Pensez à consulter les FAQs et les cours et tutoriels.
    FAQ Linux - Cours et tutoriels Linux - FAQ PHP - Cours et tutoriels PHP
    Ce forum est fait pour vous et surtout par vous, merci d'en respecter les règles.

    Je n'ai rien à voir avec la société www.ovh.com !

  6. #6
    Membre expérimenté Avatar de alexrtz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2003
    Messages
    639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2003
    Messages : 639
    Points : 1 359
    Points
    1 359
    Par défaut
    Salut,

    bidules >> exactement les mêmes symptômes pour Java.

    Pour tes questions :
    - pas compliquée à installer
    - cherche gl dans rpmdrake (par description) et regarde ce qui colle le mieux (dsl mais j'ai un vieux trou de mémoire)
    - on peut faire de la 2D
    - pour te faire une idée, tu peux regarder du côté de nehe
    - fedora encore plus lente que Mandrake (la plus longue installation de distrib où il y avait juste de la copie)
    - langage => celui avec lequel tu es le plus à l'aise, mais, au niveau purement perfs, C ou C++


    ovh >> le problème revient sur plusieurs machine avec des configs différentes et les VM de Sun et Blackdown, donc doit y avoir une c*****e quelque part.
    A noter que parfois ces VM sont un peu lentes à démarrer sous Linux, après quelques secondes ça va un peu mieux.
    "Je suis incapable d'expliquer ce qui se passa ensuite : je lâchai quelque chose, quelque chose à quoi je m'agrippais depuis toujours sans m'en rendre compte. Je m'enfonçais dans une obscurité chaude, moelleuse et protectrice, tandis qu'un loup montait la garde par mes propres yeux."

  7. #7
    vux
    vux est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 26
    Points : 34
    Points
    34
    Par défaut
    Salut,

    juste pour preciser que sous win les librairies graphiques sont directement intégrées au noyau (plus rapide mais moins stable), alors que sous linux il s'agit d'une application comme une autre (moins de rapidité mais si çà plante le noyau n'est pas touché).

    Je pense que çà peux venir en partie de çà.

    Sinon pour nyal je suis pas d'accord les pilotes NVidia pour Linux sont très bons (ok ils sont pas libres, mais faut pas leur cracher dessus non plus).

    @+
    vux

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Merci pour vos reponses.

    J'ai fais des essais et apparement ce n'est pas un probleme de Thread. Je pense que c'est un probleme de rendu graphique qui est trop lent (ca rejoint l'idée de vux).

    Enfin bref, je v essayer de me mettre a openGL. Seul hic! je ne sais pas comment faire pour l'utiliser avec java. J'ai bien essayer gl dans rpmdrake par description mais il y a bcp de choix.

    Il n'existe pas un site expliquant comment faire pour ajouter openGL a java?

    Merci.

  9. #9
    Membre expérimenté
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Points : 1 428
    Points
    1 428
    Par défaut
    Citation Envoyé par vux
    Sinon pour nyal je suis pas d'accord les pilotes NVidia pour Linux sont très bons (ok ils sont pas libres, mais faut pas leur cracher dessus non plus).
    Ce n'est pas un probleme qu'il soit libre ou non. Et je ne crache pas dessus. Je fais juste une constatation: Que j'utilise une geforce4, 5 (non MX) ou une geforce n MX, je ne vois pas trop la difference. (notamment Unreal) Et je ne peux pas donc dire: les drivers sont bons. Je paye une carte la peau des fesses et j'aimerai quand meme avoir des drivers qui exploitent pleinement ma carte. N'est ce pas la moindre des choses ?

  10. #10
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    Citation Envoyé par bidules
    Enfin bref, je v essayer de me mettre a openGL. Seul hic! je ne sais pas comment faire pour l'utiliser avec java. J'ai bien essayer gl dans rpmdrake par description mais il y a bcp de choix.
    le projet jogle est pour toi https://jogl.dev.java.net/

  11. #11
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    J'ajoute par rapport à JOGL qu'un peu de connaissance d'OpenGL (voir sur le forum du même nom) ne te feront pas de mal. Sinon, ça s'implémente pas mal (j'ai déjà réalisé un projet avec cette biblio).

    @ ++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  12. #12
    vux
    vux est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 26
    Points : 34
    Points
    34
    Par défaut
    Au passage plutot que openGL tu peux tester SDL qui est assez sympa aussi.

    La librairie java est ici.

    http://jsdl.sourceforge.net/

    Sinon pour Nyan je suis d'accord avec toi sur ce point, mais c la politique de NVidia de faire des drivers génériques (Windows ou Linux d'ailleurs). Et quand je vois les perfs sur mon P2 350 je suis assez heureux.
    Quand tu parles d'Unreal c le premier du nom ou le 2004?

    @+
    vux

  13. #13
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    bon j'ai testé le code sur mon althon 2800 avec ati7200, c'est parfaitement fluide (java 1.5 beta 2)


    Citation Envoyé par vux
    Au passage plutot que openGL tu peux tester SDL qui est assez sympa aussi.
    c'est quoi la difference entre opengl et sdl ?

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Excuser moi de ne pas avoir repondu avant. Je reviens tout juste de vacances.

    Juste avant de partir g essayer l'api java3D qui m'a sembler plus simple d'utilisation. (notament pour charger une image texture par exemple qui ma formtement rebuter avec openGL).

    j'essayerais avec la 1.5 de java.

    Merci.

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 20
    Points : 8
    Points
    8
    Par défaut
    Avec java 1.5 le mon animation est parfaitement fluide. C'etais sans doute un probleme d'implementation de jaba.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec une animation Flash.
    Par fracsangie dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 24/08/2008, 22h30
  2. Problème de performance avec une regexp
    Par NicoV dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 21/02/2008, 18h46
  3. Problème avec une animation flash
    Par raphdatcom dans le forum Flash
    Réponses: 2
    Dernier message: 28/03/2007, 15h41
  4. Soucis avec une animation en tween
    Par 10dmz-4amx dans le forum Flash
    Réponses: 2
    Dernier message: 12/12/2006, 13h10
  5. Réponses: 6
    Dernier message: 05/05/2006, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo