2011-09-15 4 views
4

En utilisant une grande taille de scène de 3840 x 2160, je vois des problèmes de performances lors de l'animation de petits sprites vers les bords de la scène.AS3 Mauvaises performances sur les bords de la grande scène

Je peux en ajouter des centaines à la scène sans problème, mais s'il y en a près des bords, des problèmes surviennent. Est-ce que je peux faire quelque chose pour résoudre ce problème?

Mise à jour:

sprite.cacheAsBitmap = true était à l'origine du problème pour moi. La définition à false a résolu le problème.

+1

J'ai vu cela demandé auparavant. Avez-vous des fonctions personnalisées pour ceux qui sont près du bord? Peut-être que c'est un problème d'Adobe. – apscience

+0

Non seulement une impulsion expansive vers le haut augmente le rayon, diminue alpha, graphics.clear() et redessine sur chaque image. – davivid

Répondre

1

Cela a probablement à voir avec la façon dont le lecteur flash rend l'écran. Il redessine tout entre les quatre coordonnées les plus éloignées à redessiner. Cela signifie que si vous avez seulement deux pixels à la coordonnée 1600,1000 et un à 1800,1200 qui ont changé entre les trames, alors seulement une zone de 200x200 pixels est redessiné. Si toutefois vous avez un pixel à 10,10 et un à 3830,2150 qui doivent être redessinés, alors une zone de 3820x2140 pixels doit être redéfinie. C'est beaucoup de pixels. (8.174.800)

Ceci est vrai même si rien d'autre n'a changé entre ces quatre pixels les plus externes.

+0

Oui, je suggère d'utiliser l'option de menu contextuel "show redraw regions" pour voir ce qui se passe. – meddlingwithfire

+0

Activé avec: 'flash.profiler.showRedrawRegions (true)' et pouvait voir les régions redessinées où ok - jusqu'à ce que l'image-objet dépasse les limites de la scène, à quel point le redessin s'est étendu à toute la scène – davivid

+1

le problème était 'cacheAsBitmap = true' réglage à faux fixé le problème! à votre santé. – davivid

Questions connexes