J'ai une page HTML qui contient deux éléments principaux. L'une est une carte Silverlight (avec des punaises animées) et l'autre est une animation jQuery. Lorsque la carte Silverlight contient beaucoup de punaises, l'animation jQuery est très agitée. Existe-t-il un moyen de réduire le nombre de ressources de Silverlight et d'accorder une plus grande priorité à l'animation jQuery?Silverlight interrompt l'animation JQuery
Répondre
Vous pouvez accélérer le framerate des applications Silverlight en ajoutant le paramètre MaxFrameRate à la balise d'objet: -
<object ...>
...
<param name="maxframerate" value="15 />
</object>
Cela peut libérer le processeur pour gérer les animations JQuery.
Semble fonctionner une friandise .... si quelqu'un trouve des erreurs flagrantes dans le code que j'ai posté ci-dessus, je l'aime aussi! –
J'ai un contrôle de carte personnalisé qui est un wrapper autour du contrôle de la carte Silverlight Bing. J'ai récupéré des données sur les positions des véhicules à partir d'un service Web. Je puis ajouter un autre contrôle personnalisé à une couche de carte pour chaque véhicule ... comme ceci:
VehicleMarker vehicleMarker = new VehicleMarker(marker);
markerLayer.AddChild(vehicleMarker, new Location(vehicleMarker.Location.Latitude, vehicleMarker.Location.Longitude));
La classe « VehicleMarker » a ce style:
<Style x:Name="VehicleMarkerStyle" TargetType="Controls:VehicleMarker" >
<Setter Property="RenderTransformOrigin" Value="0.5,0.5" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Controls:VehicleMarker" >
<Grid>
<Grid.RenderTransform>
<TransformGroup>
<ScaleTransform x:Name="ScaleTransform" ScaleX="1" ScaleY="1" />
<TranslateTransform x:Name="TranslateTransform" X="0" Y="0"/>
</TransformGroup>
</Grid.RenderTransform>
<Image Source="{TemplateBinding IconUrl}" Width="30" Height="30" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
J'ai surchargé l' ' « méthode sur le « OnApplyTemplate VehicleMarker » de sorte qu'une fois que le modèle a été appliqué, une animation est ajoutée au contrôle le cas échéant:
TranslateTransform translateTransform = new TranslateTransform();
ScaleTransform scaleTransform = new ScaleTransform();
TransformGroup transformGroup = new TransformGroup();
transformGroup.Children.Add(translateTransform);
transformGroup.Children.Add(scaleTransform);
this.RenderTransform = transformGroup;
this.RenderTransformOrigin = new Point(0.5, 0.5);
var storyboard = new Storyboard();
storyboard.AutoReverse = true;
storyboard.RepeatBehavior = RepeatBehavior.Forever;
storyboard.Duration = new Duration(new TimeSpan(0,0,0,0,500));
var animation = new DoubleAnimation();
animation.From = translateTransform.Y;
animation.To = translateTransform.Y-5;
storyboard.Children.Add(animation);
Storyboard.SetTargetProperty(animation, new PropertyPath("(UIElement.RenderTransform).(TransformGroup.Children)[0].(TranslateTransform.Y)"));
Storyboard.SetTarget(animation, this);
if (!Resources.Contains("VehicleBounceAnimation"))
{
Resources.Add("VehicleBounceAnimation", storyboard);
}
storyboard.Begin();
Je soupçonne que son l'animation et le nombre d'icônes t Le chapeau est ajouté à la carte qui est le problème. Si j'arrête toutes les animations, les performances s'améliorent. Ce n'est pas génial, mais c'est nettement mieux.
Le jQuery pour animer un autre élément sur la même page que la carte silverlight ressemble à ceci:
function scrollElement(name, timeInSecs)
{
var elementToScroll = document.getElementById(name);
if(elementToScroll!=null)
{
var jscriptElement = $('#' + name);
jscriptElement.animate({ scrollTop: elementToScroll.scrollHeight - elementToScroll.clientHeight }, (timeInSecs - 2) * 1000);
}
else
{
window.alert('Cannot find '+name+' to scroll');
}
}
- 1. Css interrompt le plugin jquery
- 2. jQuery 1.4 interrompt mon programme
- 3. Plus d'un cours interrompt jquery selector?
- 4. Qui interrompt mon fil?
- 5. CakePHP interrompt les images
- 6. XSLT interrompt le script jQuery/Prototype dans Firefox
- 7. WCF ReplyAction = "*" interrompt les métadonnées
- 8. android.hardware.telephony interrompt l'installation sur l'émulateur
- 9. FireFox interrompt aléatoirement la connexion?
- 10. ExceptionHub interrompt la commande wait_for_page_to_load de Selenium
- 11. L'accès à ClientID interrompt la publication
- 12. SWFUpload - interrompt la manipulation du DOM
- 13. jquery réduire l'adoption de Silverlight?
- 14. Tsql Union Query interrompt le tri dans mon gridview asp.net
- 15. vbscript remplacer le texte - on travaille deux interrompt le tout
- 16. Python: interrompt l'exécution avec la clé et redémarre
- 17. Une exception dans un bloc TRY interrompt-elle son exécution?
- 18. Une construction de projet dépendante interrompt un service WCF
- 19. L'injection de propriété explicite interrompt d'autres propriétés dans Unity
- 20. ILCrashreporter interrompt les mises à jour de Sparkle
- 21. Silverlight ou jQuery? Choisir la technologie pour l'avenir
- 22. WCF - Exposer un service aux clients Silverlight et JQuery
- 23. Silverlight
- 24. GDB interrompt le programme dans XCode même si aucun point d'arrêt n'est défini
- 25. Mise à jour pour php5.3 interrompt la connexion à mysql db
- 26. ASP.Net MVC2 (RTM) interrompt le filtrage des réponses - "Le filtrage n'est pas autorisé"
- 27. La boîte de dialogue Excel COM Add-In interrompt le script
- 28. Pourquoi l'ajout d'une installation supplémentaire précédente interrompt le chemin de mise à niveau dans InstallShield?
- 29. IIS déplacement du répertoire virtuel vers le partage de fichiers interrompt l'usurpation de l'utilisateur connecté
- 30. Débutant Question - Gets.chomp, interrompt mon compte à rebours, provoquant un crash
Salut Neil, votre application Silverlight est probablement ce qui est à l'origine du navigateur se comporter lentement. Pourriez-vous nous montrer quelques morceaux de votre code? Par exemple, lorsque vous ajoutez vos punaises, comment faites-vous cela et peut-être la fonction d'animation jQuery si elle est la vôtre. Aussi à quel point votre mémoire et l'utilisation du processeur sont-elles mauvaises lorsque vous utilisez l'application Silverlight? – Andrew