Si le but est d'utiliser le GPU d'une machine distante, ça veut dire que les trames graphique de ton jeu doivent transiter directement sur le réseau, après "compilation" par OpenGL.
Concrètement, avec mes écrans (de mauvaise qualité), j'ai une résolution de 1366*768 et 1280*1024, 32 bits par pixel, bien qu'utiliser que 24 ferais le job (utilisons ça pour l'estimation).
Cela fait donc 3073.5 et 3840 kibioctets par trame.
Supposons que l'on veuille 60 trames par seconde: ça donne 180 et 225 Mebioctets par seconde à transférer. Avec des écrans de merde.
Alors, oui, on peu compresser, et gagner un peu de bande passante. Sauf que selon le jeu auquel tu joues, il ya des chances que tu ne gagneras pas tant que ça (les graphismes modernes sont parfois sublimes) sans perte de qualité.
Au fait... les débit des réseaux sont indiqués en bits par seconde, multiplions donc par... 8: 1440 Mib/s et 1800 Mib/s. Je n'ai pas pris en compte les coûts inhérents aux protocoles (probablement négligeables), ici, uniquement le poids de l'affichage. Même avec une compression de 50% (pas impossible, en fonction du jeu, on peut même aller plus loin, beaucoup plus loin) cela restera extrêmement gourmand en bande passante: ton réseau pourra-t-il l'encaisser?
Autre problème de performance, la latence: le réseau à une vitesse bien précise. Si tu as fibré entre tes machines, peut-être que c'est négligeable. Moi, ici, en wifi pour contacter la box (littéralement) derrière moi (pour des raisons de câble, je préférerai un bon ethernet mais... bref c'est pas le sujet) j'ai une latence de 130ms (c'est très surprenant d'ailleurs, je flaire le problème, je m'attendais à une poignée de ms, moins de 10).
C'est évidemment un problème (selon les jeux), puisque même si tu envoies beaucoup de trames par seconde, tu auras un délai évident.
Si en plus tu ajoutes de la compression pour avoir plus d'images, ben... tu augmentes tes délai, mécaniquement: il faut compresser, puis décompresser.
Dernier point: l'usage d'un réseau implique de partager la ressource. À la fois avec les autres utilisateurs du réseau, mais aussi avec les autres applications de ton poste. Ce qui va ajouter à la charge de ton réseau, et ce, surtout si tu as des applications qui "découvrent automatiquement", comme des imprimantes, un partage de fichiers, etc... parce que cela fonctionne avec du broadcast, augmentant l'occupation du point central et polluant les ressources des autres machines (bande passante, temps CPU).
Bref, pour jouer à un jeu en tour par tour, je pense que c'est faisable. Pour jouer à un RTS lent, peut-être. Pour un jeu nécessitant du réflexe et de l'adresse, c'est mort.
# Faire le rendu à distance sans problèmes de performance? Compliqué...
Posté par freem . En réponse au journal Jouer à distance avec du logiciel libre. Évalué à 2.
Tout est dans le titre.
Si le but est d'utiliser le GPU d'une machine distante, ça veut dire que les trames graphique de ton jeu doivent transiter directement sur le réseau, après "compilation" par OpenGL.
Concrètement, avec mes écrans (de mauvaise qualité), j'ai une résolution de 1366*768 et 1280*1024, 32 bits par pixel, bien qu'utiliser que 24 ferais le job (utilisons ça pour l'estimation).
Cela fait donc 3073.5 et 3840 kibioctets par trame.
Supposons que l'on veuille 60 trames par seconde: ça donne 180 et 225 Mebioctets par seconde à transférer. Avec des écrans de merde.
Alors, oui, on peu compresser, et gagner un peu de bande passante. Sauf que selon le jeu auquel tu joues, il ya des chances que tu ne gagneras pas tant que ça (les graphismes modernes sont parfois sublimes) sans perte de qualité.
Au fait... les débit des réseaux sont indiqués en bits par seconde, multiplions donc par... 8: 1440 Mib/s et 1800 Mib/s. Je n'ai pas pris en compte les coûts inhérents aux protocoles (probablement négligeables), ici, uniquement le poids de l'affichage. Même avec une compression de 50% (pas impossible, en fonction du jeu, on peut même aller plus loin, beaucoup plus loin) cela restera extrêmement gourmand en bande passante: ton réseau pourra-t-il l'encaisser?
Autre problème de performance, la latence: le réseau à une vitesse bien précise. Si tu as fibré entre tes machines, peut-être que c'est négligeable. Moi, ici, en wifi pour contacter la box (littéralement) derrière moi (pour des raisons de câble, je préférerai un bon ethernet mais... bref c'est pas le sujet) j'ai une latence de 130ms (c'est très surprenant d'ailleurs, je flaire le problème, je m'attendais à une poignée de ms, moins de 10).
C'est évidemment un problème (selon les jeux), puisque même si tu envoies beaucoup de trames par seconde, tu auras un délai évident.
Si en plus tu ajoutes de la compression pour avoir plus d'images, ben... tu augmentes tes délai, mécaniquement: il faut compresser, puis décompresser.
Dernier point: l'usage d'un réseau implique de partager la ressource. À la fois avec les autres utilisateurs du réseau, mais aussi avec les autres applications de ton poste. Ce qui va ajouter à la charge de ton réseau, et ce, surtout si tu as des applications qui "découvrent automatiquement", comme des imprimantes, un partage de fichiers, etc... parce que cela fonctionne avec du broadcast, augmentant l'occupation du point central et polluant les ressources des autres machines (bande passante, temps CPU).
Bref, pour jouer à un jeu en tour par tour, je pense que c'est faisable. Pour jouer à un RTS lent, peut-être. Pour un jeu nécessitant du réflexe et de l'adresse, c'est mort.