Je prévois d'utiliser une image d'arrière-plan pour chacune de mes pages dans WP7 et ne pas garder l'arrière-plan transparent.
Des suggestions ou des problèmes que je dois savoir? J'ai aussi remarqué une propriété CacheMode
.
Puis-je utiliser cela pour améliorer les performances si chacune des pages a le même fond s'étendant sur toute la page?WP7 page background image
Répondre
Vous pouvez créer un contrôle d'image de la taille de l'écran et poser vos autres contrôles devant.
Si vous pensez que ce contrôle doit être redessiné, il est possible que la mise en cache des bitmaps vous épargne les frais supplémentaires de pixellisation répétée du contrôle.
Il y a quelques problèmes de performance que vous devriez être au courant:
1) Assurez-vous de grandes images sont catégorisés comme Content
et non Resources
. Compiler comme Resource
va construire l'image dans l'exécutable binaire lui-même, ce qui le rend beaucoup plus grand à charger dans la mémoire au démarrage.
Jeff Wilcox:
Si vous utilisez Panorama, un arrière-plan des ressources chargera immédiatement par rapport au contenu
2) Sauf si vous avez vraiment besoin de l'utilisation de la transparence des fichiers .jpg plutôt que .png. L'algorithme de décodage .jpg est nettement plus rapide que .png. Cependant méfiez-vous de la compression. Qu'est-ce qu'une petite image sur le disque consomme beaucoup plus de mémoire une fois qu'il a été décompressé en mémoire.
Vous pouvez le mettre sur le PhoneApplicationFrame au lieu de Puttin sur chaque page: il chargera alors qu'une seule fois pour toutes ...
2 étapes:
(1)
dans <phone:PhoneApplicationPage
mis en coquille: SystemTray.IsVisible = "Faux"
(2)
<Grid x:Name="LayoutRoot">
<Grid.Background>
<ImageBrush ImageSource="Assets/Images/Flowers.png"></ImageBrush>
</Grid.Background>
- 1. background image css
- 2. iframe background image
- 3. Slideshow background image
- 4. Slideshow background image
- 5. silverlight grid background image
- 6. background image aide
- 7. Reset background image CSS
- 8. iPhone - Boutons background image
- 9. shrink background-image
- 10. css body background image cliquable
- 11. WP7/Silverlight Hyperlien Image
- 12. CSS chemin background-image Problèmes
- 13. iPhone - UIButton - background image handicapés
- 14. background-image ne fonctionne pas
- 15. marge background-image IE6/padding/numéro d'espacement
- 16. background image répétition verticale pour un div
- 17. IE échelles background-image DOM prêt
- 18. IE6: span (en ligne) avec background-image
- 19. Fenêtres de programmation DialogBox background image
- 20. CSS background-image - Quelle est l'utilisation correcte?
- 21. GTK + widget de background image alignement
- 22. ensemble background image d'un élément css
- 23. Ensemble de dessins gtk background image
- 24. transition background-image/css changement en stationnaire?
- 25. Evénement Javascript css background image loaded
- 26. WP7 Conversion ASCII chaîne à une image
- 27. Quel sélecteur CSS doit définir la propriété background-image?
- 28. recalcul Force de $ (...) css ("background-image") sur reload stylesheet lié
- 29. Les images en ligne en CSS avec background-image: url()
- 30. Iframe background
Mick, merci. Vous êtes toujours disponible pour aider. J'utilise un imagebrush sur la grille principale de la page pour afficher tout l'arrière-plan. Dois-je utiliser la propriété CacheMode pour définir la mise en cache de bitmap? Est-ce que l'arrière-plan sera mis en cache pour toutes les pages alors ou il sera toujours chargé pour chaque page. Peut-être que la dernière partie ne s'applique pas mais je viens du monde ASP.NET :) –
@Pratik Je ne pense pas que des pages séparées partagent des ressources/arrière-plans si vous les définissez au niveau de la page - vous pourriez être en mesure de pointer la page les arrière-plans à un imagebrush défini au niveau de l'application si vous êtes très préoccupé par les performances, mais pour être honnête, sauf si vous utilisez des images énormes, je ne serais pas trop inquiet à ce sujet. Comme un sidenote, WP7 semble aimer mettre en cache tout ce que vous téléchargez (que vous découvrirez si vous avez un jeu avec System.Net.WebClient sur le téléphone) –
Blakomen a raison de dire que chaque page aura son propre arrière-plan. Mise en cache bitmap Je ne m'inquiéterais que si vous faites des redraws.Gardez à l'esprit que le cache bitmap signifie que le contrôle (dans votre cas, une grille avec un imagebrush appliquée à l'arrière-plan) est dessiné, le rendu rastérisé (bitmap) de ce contrôle est conservé en mémoire. C'est tout .. il ne cache pas le système de fichiers où vous lisez l'image source. –