Ich entwickle eine Silverlight-Anwendung, die Elemente in einem Listbox-Steuerelement anzeigt, und ich bin in ein kleines Leistungsproblem geraten.Silverlight Listbox Leistungsproblem mit ListBox
Jedes Element in der Listbox ist ein benutzerdefiniertes Stackpanel mit etwas formatiertem Text und so weiter.
Wenn ich eine Liste von 500 oder weniger Elementen habe, funktioniert das Listenfeld gut, aber das Laden von mehr als diesem verursacht Probleme. Bei 1000 Artikeln verbraucht Silverlight 10% CPU, selbst wenn ich nichts tue, bei 3000 Artikeln verbraucht die CPU konstant 32-36%.
Dies ist auf einem Dual-Core-Maschine, auf einer älteren Maschine, die ich getestet auf der CPU-Nutzung geht weit nach oben.
Das wirkt sich auch auf die Framerate aus, ich bekomme 6fps mit einer 3000 Item Listbox, die die Anwendung träge macht.
Weiß jemand, was das verursachen könnte? Mein erster Gedanke war, dass Silverlight versucht, alle Elemente zu rendern, obwohl die Elemente außerhalb des Bildschirms sind ... das scheint konsistent zu sein, als ob ich Elemente mit ihrer Sichtbarkeit einfüge.Kollaps, der zusätzliche CPU-Overhead ist nicht vorhanden.
PS: Ich laufe in windowless = "true", da ich etwas HTML ontop meiner silverlight Form anzeigen muss.
Danke Ich werde in die Verwendung des Datagrids schauen und sehen, was passiert .. – JSmyth