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

C++ Discussion :

Synchroniser plusieurs PC pour le rendu


Sujet :

C++

  1. #1
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut Synchroniser plusieurs PC pour le rendu
    Bonjour,

    Je me heurte à un petit soucis. J'ai plusieurs PC qui tournent pour rendre un point de vue en c++/opengl. Pour synchroniser les rendu dans les display (on a des projecteur qui doivent recevoir une image à 50H pile) on utilise une carte de synchro nvidia qui nous donne le top départ pour swapper les buffers de rendu.

    ça fonctionne relativement bien, mais je me pose la question suivante:

    Y a-t-il d'autres manière de faire qui soit assez fiable et moins couteuse que de prendre des cartes de synchro?

    Car cette synchro tombe de temps en temps (aléatoirement et de manière peu fréquente) donc on aimerait bien trouver une autre solution soft ou hard permettant de faire la même chose
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 579
    Points
    218 579
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Possible que ce soit un problème matériel et non logiciel, à l'origine de la chute de la synchronisation.
    Sinon, cela me fait pensé à la solution nDisplay de NVIDIA. Est-ce que si vous utilisez Unreal Engine, vous avez les mêmes problèmes ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Yep c'est ce qu'on pense aussi que c'est un problème matériel, mais on a ça régulièrement et vu le nombre de machine qui sont synchronisées entre elle et le temps d'utilisation du système, même si ça n'arrive que très rarement, c'est assez handicapant.

    Non on utilise pas unreal engine, on est sur openGL (c'est assez vieux comme soft et pas la possibilité pour l'instant de basculer sur unreal).
    On a vu la solution ndisplay pour unreal, mais peut-être dans un futur proche. Pour l'instant on essaye de trouver une solution autre qui nous permettrait de synchroniser tout le monde sans passer par du hard spécifique.
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 579
    Points
    218 579
    Billets dans le blog
    120
    Par défaut
    Pour réussir une telle synchronisation... hum... grande problématique. Il doit y avoir des papiers sur le sujet. Maintenant, est-ce que vous pouvez faire en sorte de faire des tampons d'image rendus et ensuite, de les envoyer au bon moment? Afin que le rendu ne vous pénalise pas (ne fasse pas de désynchronisation). J'imagine qu'au final, c'est ce que fait le matos, il récupère les images et une fois qu'elles sont toutes dispo, il envoie sur les écrans.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    On rend en double buffering, donc oui on a un tampon de notre coté. La carte de synchro nous donne juste un signal à 50Hz pile pour qu'on face le swapping sur tout les projecteurs en même temps. (chaque projecteur reçois deux images de deux PC différent puis les merge pour donner une seule image en 4K, d'où la nécessité d'être parfaitement synchronisé entre les machine pour éviter les brisures en milieu d'écran).

    En gros je souhaiterais trouver un moyen de brancher cette synchro sur autre chose que des carte de synchro, par le réseau par exemple, mais pas sur qu'on puisse avoir la même stabilité. Ou alors bien synchroniser tout les PC à la milliseconde prêt pour avoir des timer qui soient pile poil à 50Hz, mais pareil ça va être dépendant de la charge de la machine :/
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 579
    Points
    218 579
    Billets dans le blog
    120
    Par défaut
    J'imagine que vous avez déjà cherché des solutions sur Internet. Je sais juste qu'il existe des protocoles style NTP pour synchroniser plusieurs machines par le réseau, avec une assez bonne précision. Pour le reste, je manque d'idées.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Membre chevronné Avatar de gabriel21
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2007
    Messages : 507
    Points : 1 835
    Points
    1 835
    Par défaut
    Je ne penses pas que ce type de protocole soit adapté, même en définissant un serveur temps directement sur le réseau. Il est utilisé pour mettre à jour l'heure système, pas pour commander de manière précise une synchronisation temps. Il y a certes une notion de dérive du temps, mais trop imprécise à mon avis. Ces protocoles sont utilisé pour la cohérence des heures des logs, le chiffrement Kerberos ou AD, l'authentification double facteur avec clé de type RSA-ID et souvent une dérive d'une minute est acceptable. Bref des applications nécessitant que les serveurs aient la même heure mais pas à la milliseconde à dire, ce qui est leur cahier des charges si j'ai bien compris.
    "Les cons, ça ose tout. C'est même à ça qu'on les reconnaît." Michel Audiard - Les tontons flingueurs
    Site Web : https://www.admin-libre.fr

Discussions similaires

  1. Réponses: 0
    Dernier message: 30/03/2010, 11h04
  2. [C#] Plusieurs LinkButton pour une seule fonction
    Par FunnyDjo dans le forum ASP.NET
    Réponses: 3
    Dernier message: 08/06/2005, 22h01
  3. [Socket] Plusieurs socket pour un client
    Par meda dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 24/05/2005, 17h24
  4. Plusieurs vues pour le même objet
    Par nicolas66 dans le forum OpenGL
    Réponses: 4
    Dernier message: 25/10/2004, 10h27
  5. Réponses: 2
    Dernier message: 05/07/2004, 17h50

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