WPF kreslenie velkeho poctu objektov na Canvas   otázka

WPF

Zdravim. Potrebujem vykreslit velky pocet vektorovych objetktov na Canvas. Ked som do Canvasu pridal napr. 10000 Shape tak to dost dlho trvalo. Potom som skusil objekty vykreslit cez DrawingVisual a bolo to podtstane rychlejsie. Problem je v tom, ze ak napr. objekty zmensim tak, ze vsetkych 10000 objetkov je vidno obrazovke tak pohybovanie sceny cez TranslateTransform je pomale. Na internete som nasiel komponentu High performance WPF 3D Chart, ktora funguje velmi dobre, dokaze vykreslit aj 50000 3D kociek v priestore a pohybovanie scenou a zoom su velmi rychle. Problem je ze je to pre 3D grafy. Existuje nieco taketo aj pre jednoduchu 2D vektorovu grafiku? Da sa nejako zlepsit rychlost samotneho canvasu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Hledej v googlu Virtual Canvas. Objekty, ktere nebudou videt, se nevykresluji.

Wpf neni delane pro zobrazovani 10K objektu v jednom view.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Môžem sa spýtať na účel - využitie takého množstva objektov ?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Samozrejme. Robim aplikaciu kde bude treba na pozadie vykreslit podorys budovy. Tento podorys bude importovany z dwg alebo dxf. Musi to byt vektorova grafika. Na vykreslenie podorysu chcem pouzit DrawingVisual pretoze tychto objektov vie byt aj cez 10k a vykon v tomto pripade je celkom pouzitelny. Dalsie objekty, ktore sa budu pridavat na tento podorys budu dynamicky menit svoje parametre podla roznych udalosti, budu sa dat editovat a pod. Na tento ucel chcem vyuzit Shape, pretoze poskytuju vsetko co treba a pocet tychto objektov bude maly... cca max 100.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Na blogs.msdn.com je zaujímavý článok "ZoomableApplication2: A Million Items", možno by Vám to pomohlo.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To mi nepomoze. Ja vykreslujem cca napr. 10000 objektov max. Ked ich nieje vidno vsetky tak to ide dobre. Problem nastava ked nastavim zoom tak aby ich bolo vsetky vydno, vtedy to ide zle. "ZoomableApplication2" tento problem neriesi. WPF na toto zrejme nieje stavane :(

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Myslel som to ako inšpiráciu :-) Inak sa trápim takmer s identickým problémom už dlhšie ale ja sa programovanám neživím tak mám času dosť. Ak by sa Vám podarilo tento problém vyriešiť, bol by som rád ak by ste sem napísali spôsob akým je to možné urobiť. Ďakujem

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback