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 :

Passage de MBCS à Unicode


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 99
    Points : 52
    Points
    52
    Par défaut Passage de MBCS à Unicode
    Bonjour,
    je développe une application de simulation de physique des particules avec Visual Studio c++ et opengl.
    Le projet est initialement codé en MBCS. J'ai du rendre le soft multi-langue cet été avec la mise en place d'un système de Dlls de ressources pour gérer l'anglais et le russe en plus du français. La prise en charge de la langue russe m'a contraint à passer tout le projet en UNICODE, avec toutes les modifs que cela induit au niveau de la gestion des chaînes de caractères.
    Or, depuis toutes ces modifs ( je vous laisse imaginer pour un code de prés d'un million de lignes) le temps d'éxécution des simulations a été multiplié par 10. Je ne comprends pas l'origine de ce ralentissement. Serait-ce du au passage à l'UNICODE? Je tente de comparer ce nouveau projet avec l'ancien, donc plus rapide, et je ne trouve aucune différence autre que le traitement des chaînes de caractères, pas très présent dans les phases de calcul...

    Je vous remercie pour le partage de votre expérience dans ce domaine.

  2. #2
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 045
    Points : 11 368
    Points
    11 368
    Billets dans le blog
    10
    Par défaut
    Quel type de chaines de caracteres utilises-tu ?
    Fais-tu des conversions de Unicode vers MBCS et inversement ?
    J'avais des problemes de lenteur dans le même genre de problématique quand je faisais des conversions.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 99
    Points : 52
    Points
    52
    Par défaut
    J'utilise des CString depuis l'update multi-langue. Mais, avant cela, le code était truffé de char*, avec notamment une classe maison CTexte de manipulation de chaîne que je n'ai pas encore updaté.
    Oui je pratique des conversions avec WideCharToMultiByte, mais pas pendant les phases de calcul !

  4. #4
    screetch
    Invité(e)
    Par défaut
    utilise un profiler, comme CodeAnalyst ou vtune

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 99
    Points : 52
    Points
    52
    Par défaut
    J'avais en fait sous estimé la gourmandise de la méthode LoadString de CString en terme de temps de CPU.
    Dans uns fonction de remplissage de tableau appelée toutes les millisecondes, je chargais un CString pour alerter d'une erreur avant la détection propre de cette erreur. Il a suffit de mettre le LoadString dans le bloc conditionnel (detection de l'erreur) et le tour est joué ! J'ai retrouvé mes temps d'éxecution de la version antérieure du soft.
    Merci pour votre participation.

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

Discussions similaires

  1. Conversion MBCS vers UNICODE
    Par stephdim dans le forum MFC
    Réponses: 3
    Dernier message: 02/03/2009, 16h27
  2. Passage à l'unicode
    Par rivierebruno22 dans le forum Langage
    Réponses: 6
    Dernier message: 13/02/2009, 21h05
  3. Passage vers Unicode
    Par cjacquel dans le forum MFC
    Réponses: 10
    Dernier message: 16/04/2007, 15h36
  4. [visual c++ 6] Unicode vs. MBC
    Par mambo dans le forum Visual C++
    Réponses: 5
    Dernier message: 03/04/2007, 13h11
  5. Passage de Multibyte a Unicode
    Par couderta dans le forum C++
    Réponses: 6
    Dernier message: 29/07/2006, 12h24

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