2009-08-05 7 views
0

J'ai un projet basé sur flex/actionscript. Le projet dispose de plusieurs piles de vue et de navigateurs à onglets ainsi que de quelques fenêtres contextuelles. Le tout est géré dans le framework pureMVC.L'écran glitchy se redessine dans une application flexible?

Lors de la transition entre différents états d'affichage, l'ouverture d'une fenêtre contextuelle, la commutation d'un onglet, etc, je trouve l'application pour présenter divers problèmes de redessiner. Des parties de vues seront partiellement dessinées ou scintilleront de façon étrange. Je suis assez confiant que le code fonctionne correctement, semble juste être un problème avec la lourdeur globale de l'interface utilisateur.

Est-ce un problème courant? Sont leurs techniques éprouvées pour optimiser ce problème?

En particulier quels gestionnaires d'événements sont disponibles pour retarder le dessin des composants de vue jusqu'au dernier moment où tout est prêt à s'afficher rapidement à l'écran? Disons par exemple que j'ai une VBox à l'intérieur d'une viewstack, et à l'intérieur de cette VBox j'ai une grille de données assez complexe. Puis-je préparer le DataGrid et/ou retarder le changement de viewstack jusqu'à ce que tous les composants de Subview soient prêts à être dessinés rapidement.

Quels sont les symptômes possibles de ce genre de glitchiness?

Répondre

1

juste une supposition, mais cela pourrait être lié au cadre flex ... j'ai vécu ce genre de comportement trop ... Je suppose qu'elle est liée à la façon dont fonctionne le cadre flexible lors de la réalisation ui tâches ... beaucoup d'instanciations/appels différés et ainsi de suite ... quand il y a beaucoup de choses, le framerate tombe et puisque le report est basé sur le frame, c'est probablement quand les retards résultants deviennent notables ...

greetz

retour2dos

1

Vous ne savez pas si cela vous concerne, mais dans Firefox/OSX il y a un bug connu lorsque vous faites trop d'appels javascript, et le résultat est similaire à celui que vous dites ... toute l'interface présente divers problèmes. .. La solution était de retarder un peu les appels JS, donc on ne les appelle pas trop souvent ... c'était un problème sérieux avec swfaddress par exemple (je pense que ça l'est toujours).

http://www.bigspaceship.com/blog/labs/mac-firefox-30-flash-javascript-random-artifacts/

1

Je suppose que vous avez besoin de la grille de données déjà attachée à son conteneur parent et que vous chargez des données pendant qu'elles sont affichées afin de constamment mettre à jour et rendre son contenu.

Avez-vous simplement essayé de définir sa visibilité sur false jusqu'à ce que tout soit chargé tout en conservant includeInLayout true et en lui donnant une taille fixe?

+0

Bon point. J'utilise cette technique tout le temps. Mais aussi ce dont je parle est un comportement visuel qui ressemble plus à des bogues de dessin réels dans l'application flexible. Par exemple, les parties de Tab Navigator vont afficher ses enfants sur l'écran quand techniquement un autre élément enfant est l'index actuel. Bizarre, "bizarre" pépins. –

Questions connexes