PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → [WM17] IOS : Super lent
[WM17] IOS : Super lent
Débuté par Loïc, 07 juin 2012 14:34 - 4 réponses
Membre enregistré
24 messages
Posté le 07 juin 2012 - 14:34
Bonjour,

Voila je développe une application pour iphone depuis windev 17 mais j'ai des problèmes de performances.

Lors d'un changement de fenêtre, l'application met un temps considérable à initialiser cette nouvelle fenêtre.
Les fenêtres sont composées que d'éléments très simples (zône répétée, zone multiligne avec requette intégrée)
La base de données HyperFileSql est en local dans le téléphone.
Dans le simulateur windev c'est correcte mais dès que c'est sur le téléphone le délais est super long.

Quelqu'un aurait une idée afin de rendre mon appli plus rapide ?
Merci
Membre enregistré
123 messages
Popularité : +2 (2 votes)
Posté le 07 juin 2012 - 19:50
Les causes peuvent être multiples....

Pour faire une Lapalissade:

Plus ta requete à de ligne plus ton affichage sera long.

Plus il y a de données plus ce sera long (par exe des photos)

Plus tu donnes de charge au proc plus c'est long, par ex si tu demandes des transformations d'image (homotétie etc...)

donc il faut essayer d'optimiser tout ca..

Un petit truc que tu peux essayer, encapsule ton traitement d'affichage de la zone répettée par MaFenêtre..AffichageActif=Vrai /faux

cette propriété a faux optimisera tes traitements le procéseur sera un peu soulagé il n'aurra pas à afficher ta ZR au fil de sa construction

MaFenêtre..AffichageActif=faux

<
ton traitement qui supprimme, execute la requete et rempli ta zone répétée


>

MaFenêtre..AffichageActif=Vrai


n'oublis pas de passer la propriété a vrai sinon tu ne verras pas les données de ta zone répété.

Peut être qu'une instruction FenRepeint() sera nécessaire .... A vérifier.
Membre enregistré
24 messages
Posté le 08 juin 2012 - 11:13
Tout d'abord, je vous remercie pour votre réponse.
Je vais essayer votre astuce.
Dans mon cas mes zones répétées n'affichent que du texte: nom client, numéro client et id client.

Au niveau des requettes je m'y perd un peu. D'un point de vu performance, il vaut mieux un remplissage par requettes intégrées à la zone répétée ou par programmation avec ou sans hFiltre ?
Membre enregistré
24 messages
Posté le 08 juin 2012 - 11:27
MaFenêtre..AffichageActif=Faux est interdit en ios.
Membre enregistré
123 messages
Popularité : +2 (2 votes)
Posté le 14 juin 2012 - 15:26
Bonne nouvelle j'ai téléchargé la derniere mise a jours windev mobile la 78
et les performances sqllite sont considerablement améliorées par les transactions (sqltransaction)

en ce qui me concerne mon apli sur android mettait a jours un base sqllite de 2 M°
avec 40 tables ayant en moynne 400 enregistrements. 16000 lignes!

la mise a jours complete de la base en 3G (pour prendre le cas le plus catastrophique) prenait entre 40 à 50 minutes....sic!!!

avec la version 78
j'ai encapsulé mes boucles hcréation hmodifie hsupprime par

SQLTransaction(sqlDebut,ALV2ANDROID)
boucle1
boucle 2
hcreation.....
fin
hcreation.....
fin
SQLTransaction(sqlFin,ALV2ANDROID)


et un SQLTransaction(sqlAnnule,ALV2ANDROID) en cas d'erreur

dans les meme conditions c'a a mis 12 minutes 4 fois plus vite.
etant donné qu'ensuite je fais des synchro differentiel les mises a jours sont de l'ordre de quelques secondes






--
On n'est limité que par notre imagination!