| |
Posté le 19 mai 2005 - 14:37 |
En faisant hlitpremier et hlitsuivant sur un fichier HF avec tableajouteligne je mets avec un IPAQ 2210 HP 400MHZ et 250MB de memoire flash SD card standard venant de HP exactement 2 minutes 30 secondes pour afficher 9900 lignes dans une table memoire avec 2 rubriques dont une est l'index automatique numerique et l'autre le texte. Si quelqu'un a une idee de genie pour accelerer le processus:
je donne quelques idees qui me sont venus par exemple
1. changer d'IPAQ? 2. changer la memoire flash par un disque dur meme externe? 3. utiliser lite oracle? 4. autre solution?
Je remercie d'avance le developpeur qui apportera sa contribution eclairee a ce probleme de vitesse. |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 16:08 |
Salut, Et si à la place tu utilises une requete du style SELECT champ1, champ2 from fichier
et que tu fait ta boucle hlitpremier/hlitsuivant sur la requete est-ce on gagne en vitesse? Normalement l'accès au fichier physique ne se ferait qu'une seule fois ....
Essaie et dis nous ce que ca donne. La requete tu peux même la créer par l'editeur de requetes de windev.
A+
-- Bon développement à tous Christian |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 16:17 |
Je ne sais pas quels résultats cela donne avec windev mobile mais avec windev "standard" ca permet de gagner du temps... tu peux utiliser l'instruction "pour tout" au lieu de faire des hlitxxx et faire un matable..affichageactif = faux matable..affichageactif = vrai avant et apres ton traitement...
mais le plus efficace serait certainement de limiter le nombre de lignes par une astuce dans l'interface qui impose de limiter l'affichage ? mais ce n'est pas toujours possible...
sinon par expérience en VC++ si tu peux mettre tes fichiers de données dans la ram (s'ils ne sont pas trop gros... et avec tous les inconvévients que cela comporte...) en général le gain par rapport à une carte mémoire est significatif.
bon courage ! Eric L
"braun" <medow@inter.net.il> a écrit dans le message de news:428c6051$1@news.pcsoft.fr...
En faisant hlitpremier et hlitsuivant sur un fichier HF avec
tableajouteligne je mets avec un IPAQ 2210 HP 400MHZ et 250MB de memoire flash SD card standard venant de HP exactement 2 minutes 30 secondes pour afficher 9900 lignes dans une table memoire avec 2 rubriques dont une est l'index automatique numerique et l'autre le texte.
Si quelqu'un a une idee de genie pour accelerer le processus:
je donne quelques idees qui me sont venus par exemple
1. changer d'IPAQ? 2. changer la memoire flash par un disque dur meme externe? 3. utiliser lite oracle? 4. autre solution?
Je remercie d'avance le developpeur qui apportera sa contribution eclairee a ce probleme de vitesse. > |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 16:34 |
5 Créer une table fichier avec parcours automatique. Seuls les enregistrements affichés sont lus. |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 17:08 |
Je pense que cela peut etre une bonne solution si ca marche, je vais essayer et te tenir au courant. |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 17:10 |
J'ai essaye le pocket se bloque sur une table fichier aussi importante. |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 17:11 |
J'ai fait un essai avec requete c'est pratiquement la meme chose. |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 17:12 |
Mais comment avec Windev mettre dans la RAM. J'ai beau regarde dans l'aide il n'y a pas de fonction pour cela apparemment. |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 19:09 |
Bonjour,
Les tests que je ferais encore c'est : - Mettre la table mémoire en invisible, puis la remplir, puis la remettre en visible. - Autre chemin à voir : Remplir la table mémoire par un thread. L'utilisateur peut commencer à bosser sur les premiers pendant le remplissage de la fin se fait en parallèle.
A+ |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 19:16 |
si c'est pour faire une requete et la mettre dans une table mémoire le plus rapide est d'utiliser fichierverstablememoire... !
Eric L.
"braun" <medow@inter.net.il> a écrit dans le message de news:428c848d@news.pcsoft.fr...
J'ai fait un essai avec requete c'est pratiquement la meme chose.
|
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 19:17 |
je me suis mal exprimé quand je dis "ram" je veux dire "mémoire" du pocket ou si tu préfères "ne pas mettre les fichiers de données sur une carte de stockage"
tu n'as pas un gain notable avec l'utilistion de "pour tour" ?
"braun" <medow@inter.net.il> a écrit dans le message de news:428c84ce$1@news.pcsoft.fr...
Mais comment avec Windev mettre dans la RAM. J'ai beau regarde dans l'aide
il n'y a pas de fonction pour cela apparemment.
|
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 19:37 |
ya pas une "histoire" dans windows comme quoi seule le premier thread d'une application peut accéder au GDI ? et d'une manière générale, il faut envoyer des messages windows à la fenetre concernée pour intérargir avec elle (ce qui n'est pas vraiment adapté dans ce cas)
Eric L.
"ATGD" <atgd@free.fr> a écrit dans le message de news:428ca013$1@news.pcsoft.fr...
Bonjour,
Les tests que je ferais encore c'est : - Mettre la table mémoire en invisible, puis la remplir, puis la remettre
en visible. > - Autre chemin à voir : Remplir la table mémoire par un thread. L'utilisateur peut commencer à bosser sur les premiers pendant le remplissage de la fin se fait en parallèle.
A+
|
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 20:19 |
La meilleure solution est le remplissage de la table par un thread, cela semble selon les premiers etre quelques choses de fantastique.
AVEC TOUS MES REMERCIEMENTS: ON DOIT UTILISER LE THREAD SUR POCKET++++++++ |
| |
| |
| | | |
|
| | |
| |
Posté le 19 mai 2005 - 20:21 |
| |
| |
| | | |
|
| | |
| |
Posté le 20 mai 2005 - 02:20 |
En faisant des threadexecute proteges par des ThreadArrete, on a un tres bon resultat. En testant on a lors de l'affichage de 9900 lignes, des la premiere seconde la possibilite de manipuler la table et d'afficher ce qu'on veut en cliquant sur une ligne de table. J'ai fait des testes pour des recherches avec filtre avec des resultats de 250 lignes sans aucun probleme. Je pense que pour de grosses application l'utilisation du thread donne un bon resultat sur Pocket PC, en fait c'est la seule solution en attendant d'avoir des Pocket PC equipes de processeurs plus puissants. |
| |
| |
| | | |
|
| | |