Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Homme Profil pro Arnaud
    Inscrit en
    juillet 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Nom : Homme Arnaud

    Informations forums :
    Inscription : juillet 2011
    Messages : 2
    Points : 0
    Points
    0

    Par défaut Salutations : VC+ VS contre BCB6 ? Vitesse optimisation CAN; VRML en C+

    Bonjour je m’intéresse a la programmation bas niveaux en C#, je rencontre quelques problèmes de performance quant à traiter des trames CAN à 500KBauds.
    Depuis peu je me remémore mes connaissances du C++, VC++ VS.Net et BCB6, Je viens de débuter la prog asm même si je pensais faire un trait dessus.
    En parallèle je bricole à l’occasion sur un PIC24F en C++ aussi mais sous MPLAB

    Je pensais les capturer correctement toutes les trames CAN mais j’ai réalisé des essais comparatifs que je mettrais rapidement en ligne. Le logiciel CAN Monitor Pro 2 semble capturer entre 10 à 40% plus de trame que mes maquettes C# ou BCB

    Pour résumer j’utilise une interface CANUSB qui fonctionne bien. Le problème c’est certainement mon code et ce que je demande à la rossinante x86 qui doit subir mes excès de fougue..

    J’en suis a considérer un applicatif de type console qui lirait les données, en émettant des requêtes selon les réponses précédentes ex protocole OBD : On lit les PID disponibles puis ont lit les PID supportés
    Tout devra être sauvegardé dans une base de données sql server par exemple

    J’avais fait une application pour lire les trames GPS sur IP depuis un PDA A696 avec deux buffers circulaires permutées en écriture puis en lecture alternativement, cette solution était suffisante pour un GPS à 4800Bauds.
    Maintenant cette solution fonctionne toujours avec le CAN mais est ce la meilleure ??Pour le moment j’utilise les callbacks C++ et delegate C#, l’interface ne semble pas se plaindre (Tampon entrée n’est jamais trop plein NO BUFFER OVERFLOW)
    Enfin jusqu’au moment ou j’ai tenté de lui faire bouffer du thread a mon pauvre C# en BCB la mise a jour de l’ihm par timer n’est guère plus efficace.

    A l’heure H ce jour J je reprends les fondamentaux en ne perdant pas de vue la portabilité des mes applicatifs. J’en ai marre de faire la java avec ou sans script même si je considère les navigateurs pour ce qu’ils sont une ouverture sur le monde et les technologies.
    J’avais bien bossé sur le VRML avec wings3D puis je espérer en faire quelque chose en C++ ou C# ?De préférence avec BS contatc mes essais en JavaScript EAI avaient pas mal avancé. Par contre ne VC# j’ai jamais réussis à appeler une fonction défini en C# depuis le plugin VRML (ActiveX)

    A ce stade je viens de m’apercevoir d’une curiosité sous VC++ VS.Net en effet lorsque je compile deux boucles for imbriqués contenant une simple multiplication ex : 2*5 et que je bascule en release avec optimisation de la vitesse j’obtiens des résultats surprenants. Mon compilateur serait il si intelligent qu’il est compris que cette boucle ne sert a rien ?VC++ semble carrément ignorés les boucles for tout en faisant le calcul, alors qu’il faut un temps certain pour faire la boucle sous BCB alors que le code généré en VC++ s’execute en quelque nanosecondes

    Plus généralement je recherche des personnes maitrisant le C++ mieux que moi-même qui aurait déjà comparé les performances des compilateurs pour m’apporter de précieux conseils sur l’optimisation du code pour obtenir un résultat plus « pro ».
    Je pense que le sujet de la programmation optimisée et portable n’est pas une chimère même sous Windows

    Ensuite j’ai un projet de cartographie Lambert 93, avec gestion du récepteur GPS a remettre en C++, c’est un projet ardue et franchement seul c’est pas facile import pour la France depuis base fichiers IGN.J’en entais a créer des dalle depuis des copies d’écran géoréférencées sur geoportail,
    En plus je veux greffer mon Applicatif CAN pour logger les parametres d'un vehicule au cours d'un trajet en vue de comaprer les performances d'un véhicule par raport à un autre ou sur des parcours différents pour un meme vehicule


    Donc voila je m’inscris sur le forum pour trouver de bonnes volontés et des personnes intéressés.

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro Loïc Joly
    Développeur informatique
    Inscrit en
    août 2004
    Messages
    4 873
    Détails du profil
    Informations personnelles :
    Nom : Homme Loïc Joly
    Âge : 39
    Localisation : France

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

    Informations forums :
    Inscription : août 2004
    Messages : 4 873
    Points : 10 717
    Points
    10 717

    Par défaut

    Citation Envoyé par PrometheeC Voir le message
    Mon compilateur serait il si intelligent qu’il est compris que cette boucle ne sert a rien ?
    Oui

  3. #3
    Invité de passage
    Homme Profil pro Arnaud
    Inscrit en
    juillet 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Nom : Homme Arnaud

    Informations forums :
    Inscription : juillet 2011
    Messages : 2
    Points : 0
    Points
    0

    Par défaut Donc??

    VC++ alors??

    Une autre questiob si je me permets.
    Je sais que cela est possible avec C# mais je me demande si on peut :

    compiler dynamiquement du code, en theorie un compilateur est un logiciel comme un autre qui prends des arguments. Donc si je crée un fichier trame ou j'aoute du code ; que je compile cela me permet ue compilation dynamique.

    Probleme est il possible que le programme C++ "apprenent" sans etre redemmaré la classe chat qui vient d'etre compilé et puise l'utiliser.
    Ma classe chat serait dérivé de la classe mammifère qui elle pourrait déja exister dans le code. ?

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •