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 :

transition vers WPF/XNA ?


Sujet :

C#

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2011
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Novembre 2011
    Messages : 66
    Par défaut transition vers WPF/XNA ?
    Bonjour à tous,

    Il y a quelques temps j'avais réalisé une application windows forms en C# (la durée de développement a été assez longue et à l'époque WPF débutait seulement) et aujourd'hui j'aimerais continuer cette application en faire une nouvelle version plus avancée et plus jolie, c'est pourquoi je pensais passer sous WPF mais là beaucoup de questions me taraudent l'esprit.

    Comment faire ? Je dois tout recréer mes controles utilisateur j'imagine, pas moyen d'avoir un outil qui les "convertisse", et surtout est-ce que ça vaut vraiment le coup au final de passer sur WPF ?

    Ensuite, mon application gérait des pions sur une carte à l'aide de PowerPacks, c'était assez simple il me suffisait de créer un rond et de l'ajouter sur ma pictureBox, mais là encore ça en devient limiter c'est pourquoi je me demandais si XNA correspondait pouvait correspondre à ça ou s'il n'y avait pas plus simple.

    Je me disais que ça me permettrait d'avoir des pions plus jolis et pas des simples ronds et que ça me permettrait dans le futur par exemple de pouvoir faire une représentation en 3D de ceux-ci. Qu'en pensez-vous ? Est-ce la meilleure solution dans mon cas ?

    Est-ce que la gestion des pions serait la même avec XNA ? (accés simple via leur location X et Y) parce qu'une partie de mon application est basé sur ce principe et si le fonctionnement est totalement différent ça ne vaut pas le coup.

    Peut être que je me trompe totalement et que XNA ne correspond pas à ce que je cherche, j'espère que vous saurez m'éclairer un peu.

    Merci d'avance,

  2. #2
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Bonjour.

    Avant tout il est possible de mélanger les technologies :
    * Contrôles Winforms dans une appli WPF et réciproquement. Il y a quelques limites : par exemple, si on ajoute un contrôle Winforms dans une appli WPF on ne peut afficher d'autres contrôles par-dessus.
    * Il est possible d'intégrer XNA à une appli WinForms mais pas à une appli WPF il me semble (à vérifier).

    Maintenant, clarifions les choses sur WPF vs XNA. XNA est fait pour le jeu, pas pour des UI. Tu peux réaliser une UI avec mais ça demande beaucoup de travail. A la rigueur ça pourrait être viable pour un contrôle central affichant un plateau en 3D ou quelque chose comme ça. Mais pourquoi s'embêter avec XNA quand WPF semble répondre à tous tes besoins ?

    Dernière question : cela vaut-il vraiment le coup de passer à WPF ? Si tu veux faire un design moderne, tu n'as pour ainsi dire pas le choix, à toi de voir si ce besoin est réel.

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    si au niveau de ton architecture, tu as bien fait les choses, passer à WPF te demandera l'implémentation de la logique IHM, mais pas de logique métier (positionnement des pions, etc...)

    De plus, si tu veux mettre de la 2D/3D, tu peux te tourner vers des moteurs 3D ou 2D disponibles pour WPF ou pour XNA...

    Utiliser XNA veut aussi dire ajouter un certain nombre de librairie pour faire fonctionner le bazar... donc plus lourd...

    J'ai un petit faible pour WPF car en faisant du WPF, tu peux ensuite aller vers Silverlight... voir, directement faire ton nouveau dev en silverlight et etre soit en mode "browser" soit en mode "Out Of Browser" (OOB)...

    Avec WPF, tu pourras "apprendre" Expression Blend qui te permet de faire uniquement au designer des IHM très léchées, très jolies... sans toucher à ton code et en externalisant (merci WPF) la partie Rendu de la partie "métier"...

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    salut

    si au niveau de ton architecture, tu as bien fait les choses, passer à WPF te demandera l'implémentation de la logique IHM, mais pas de logique métier (positionnement des pions, etc...)

    De plus, si tu veux mettre de la 2D/3D, tu peux te tourner vers des moteurs 3D ou 2D disponibles pour WPF ou pour XNA...

    Utiliser XNA veut aussi dire ajouter un certain nombre de librairie pour faire fonctionner le bazar... donc plus lourd...

    J'ai un petit faible pour WPF car en faisant du WPF, tu peux ensuite aller vers Silverlight... voir, directement faire ton nouveau dev en silverlight et etre soit en mode "browser" soit en mode "Out Of Browser" (OOB)...

    Avec WPF, tu pourras "apprendre" Expression Blend qui te permet de faire uniquement au designer des IHM très léchées, très jolies... sans toucher à ton code et en externalisant (merci WPF) la partie Rendu de la partie "métier"...
    Le truc bien avec Silverlight c'est qu'à partir de la version 5 tu peux avoir un cadre où tu utilises XNA à l'intérieur. Chose qui n'existe pas en WPF

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    ya 1 semaine, j'aurais "critiqué" Silverlight.... après avoir testé pdt quelques minutes (heures), je peux dire que c'est vraiment bluffant...

    Après, en dehors d'un besoin d'intéraction forte avec des objets COM ou vraiment beaucoup de performances, ca parait être une solution "top"...

  6. #6
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    ya 1 semaine, j'aurais "critiqué" Silverlight.... après avoir testé pdt quelques minutes (heures), je peux dire que c'est vraiment bluffant...

    Après, en dehors d'un besoin d'intéraction forte avec des objets COM ou vraiment beaucoup de performances, ca parait être une solution "top"...
    Pour reprendre ce qu'avait dit David Catuhe sur Silverlight 5 qui a développé le Silverlight 5 Toolkit, c'est pas parceque c'est un plug-in que ca n'est pas performant. Au bout d'une compte on arrive quand même à de l'IL pour tout le code C# et les shaders sont interprétés sur le GPU.
    Un roxxor du shader aura des perfs comparables à du C++/DirectX (la limitation qui pourrait survenir c'est la version des shaders)

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2011
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Novembre 2011
    Messages : 66
    Par défaut
    Merci pour vos réponses.

    Il est vrai que je cherche un design plus moderne, pour le moment je travaille beaucoup dans les méthodes paint des controles windows Forms et ça rend pas trop mal même si c'est pas le plus simple je pense.

    Je pense que j'avais mal exprimé ma question à propos de WPF, c'était plutot de savoir si WPF remplaçait les windows forms et donc de savoir si le passage par WPF allait être obligatoire à un moment ou l'autre ou si je pouvais continuer comme ça.

    (J'ai peut etre tout faux mais Silverlight n'a pas été abandonné par Microsoft ?)

    Il est vrai qu'en général j'ai plutot séparé l'IHM du reste mais ça reste quand meme une tache très longue de tout repenser WPF (et le temps de m'adapter à WPF aussi). Mais ça peut être intéressant dans le sens où j'avais certains controles par défaut qui ne me plaisaient pas et donc j'en avais téléchargé certains qui au final ne fonctionnent que sous 32 bits...

    Si vous me dites que WPF peut être dans un windows forms ça veut dire qu'en fait je peux petit à petit migrer vers WPF, par exemple faire les nouvelles fenetres/pages avec WPF et migrer petit à petit les anciennes.


    Mon principal problème restait pour XNA et donc au final le moteur graphique, j'aimerais à terme inclure une petite 3d, on peut considérer que c'est un "jeu" même s'il n'y a qu'un seul endroit où ce sera utilisé. Je cherche juste à faire un plateau (un truc qui ne sera jamais très détaillé je pense) dans lequel bougent une dizaine de pions. L'objectif est donc d'obtenir à terme des pions plus détaillés que des simples points de couleurs sur un fond de PictureBox. Que me conseillez-vous alors pour ce point ?

    Je n'ai rien à gérer comme dans un jeu, juste bouger les pions de manières aléatoires et quelques combobox de l'utilisateur.


    Merci d'avance,

  8. #8
    Membre Expert Avatar de DonQuiche
    Inscrit en
    Septembre 2010
    Messages
    2 741
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 2 741
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    Un roxxor du shader aura des perfs comparables à du C++/DirectX (la limitation qui pourrait survenir c'est la version des shaders)
    Malheureusement non, les perfs ne seront jamais les mêmes. En SL tu n'as aucun contrôle sur l'ordre de rendu, tous les maillages définis en mémoire sont envoyés à la carte, tout le batching repose entre les mains de SL (qui semble ne pas en faire en réalité), tu n'as pas accès à des dizaines d'astuces (clipping, blending, rendu intermédiaire, etc). Tout un tas de raisons qui font que tu n'auras jamais les perfs que tu pourrais obtenir directement avec OGL ou Dx.

    Qui plus est, je ne sais pas pour SL, mais la 2D sur WPF n'est pas du tout optimisée : quand on voit ce qu'il envoie au GPU, il y a vraiment de quoi rager. Ajoute à cela le retained mode qui ne joue en faveur des applis que lorsqu'elles sont relativement statiques mais qui est souvent très handicapant et dont je ne serais pas surpris qu'il s'applique aussi à la 3D.


    Citation Envoyé par PigKey6 Voir le message
    Mon principal problème restait pour XNA et donc au final le moteur graphique, j'aimerais à terme inclure une petite 3d, on peut considérer que c'est un "jeu" même s'il n'y a qu'un seul endroit où ce sera utilisé. Je cherche juste à faire un plateau (un truc qui ne sera jamais très détaillé je pense) dans lequel bougent une dizaine de pions. L'objectif est donc d'obtenir à terme des pions plus détaillés que des simples points de couleurs sur un fond de PictureBox. Que me conseillez-vous alors pour ce point ?
    WPF permet aussi de faire de la petite 3D et, pour tes besoins, ça devrait être suffisant. Je te conseille donc de commencer par tester cette solution, elle est rapide à mettre en oeuvre et devrait faire l'affaire. Au pire tu pourras toujours rechercher plus tard une alternative si ça n'allait pas assez vite.

  9. #9
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    ce bon david Catuhe...de Bewise / Vertice Toulouse...

    Ca fait quelque temps que je ne l'ai pas vu...celui là...

Discussions similaires

  1. Réponses: 27
    Dernier message: 15/04/2012, 11h42
  2. un simple menu : Transitional vers strict
    Par gomodo dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 13/01/2009, 21h30
  3. Drag And Drop: Win32(MFC) vers WPF
    Par sacoum dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 17/06/2008, 10h29
  4. Transition vers wpf :Principe de developpement pour dessin
    Par zax-tfh dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 20/02/2008, 09h52
  5. [XHTML] XHTML Transitional vers Strict
    Par dembroski dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 03/07/2007, 13h22

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