Sta rendendo un sacco di immagini ripetute più o meno performanti rispetto all'utilizzo di spazzole in WPF?

StackOverflow https://stackoverflow.com/questions/2059262

Domanda

Una domanda la nostra società sta lavorando su attualmente mostra molte forme di rettangolo con pendenze disegnare 'piastrelle'. Una discussione interna avvenne che ponevano una domanda di prestazioni. Queste piastrelle sono circa 100 x 200 pixel, e sono o gradiente ombreggiati rosso, giallo o verde. In qualsiasi momento, ci potrebbero essere fino a 100 di queste piastrelle sullo schermo. Sarebbe più performante per noi creare un'immagine per ogni (rosso, giallo, verde) e ripetere quando necessario, o sarebbe meglio per noi continuare a disegnare utilizzando pennelli standard di WPF?

EDIT: Per chiarire, il pennello sfumato che stiamo usando è un LinearGradientBrush.

È stato utile?

Soluzione

Per esperienza, disegno utilizzando pennelli avrà molto meglio delle prestazioni. Il sovraccarico di caricare le immagini di piastrelle e rendendoli è grande rispetto per il rendering rettangoli pieni.

Altri suggerimenti

L'unico modo per chiarire la situazione sarebbe quello di provare in entrambi i modi e misurare le prestazioni di ogni approccio.

Avresti bisogno di aggiungere il codice per il tempo del ciclo di rendering e registrare il risultato su file, quindi forzare un 1000 (o anche 100.000) ridisegna per essere in grado di ottenere una cifra realistica.

La mia sensazione è che il LinearGradientBrush sarebbe più veloce di caricamento di un'immagine (anche da risorse) - ma sono disposto ad essere smentito

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top