[ Boyka @ 03.08.2012. 08:53 ] @
Da li WPF C# ima prednosti u odnosu na Win Forms što se tiče perfomansi..
Ne znam da li buncam, ali svaku aplikaciju koju napravim u WPF-u, dosta brže se pokrene u odnosu na onu u Win Formsu?
Da li je to možda zbog uloge directx-a i XAML-a?
[ Dusan Kondic @ 03.08.2012. 09:36 ] @
Moja iskustva su suprotna.
Iscrtavanje prozora je sporije ali ne u meri koja smeta. Imao sam jedan slučaj sporog iscrtavanja DataGrida ali kada sam uključio horizontalnu virtualizaciju sve je proradilo mnogo brže. Vertikalna virtuelizacija je podrazumevano uključena dok horizontalna nije. Moj DataGrid je imao puno kolona pa je to stvaralo problem.
Što se tiče povlačenja podataka iz baze, Linq je u principu sporiji od klasičnog Sql reader-a. Kod komplikovanih SELECT-a dobar programer može iskucati T-Sql kod koji će se višestruko brže izvršavati od onoga koji Linq generiše.
Sve u svemu, kao i kod WinForms-a brzina najviše zavisi od kvaliteta T-Sql koda.
U trenucima se stvarno čini da sve prosto "leti" ali kada radim sa puno podataka i komplikovanim SELECT-ima, onda pomenuti problemi dolaze do izražaja.
Voleo bih da čujem još nečija iskustva.
Pozdrav.
[ mmix @ 03.08.2012. 14:39 ] @
WPF vs GDI+ je pitanje koje zavisi od platforme. Na XPu je GDI brzi zato sto WPF na XPu ide kroz GDI emulaciju. Na Vista+ sam OS ima desktop composer koji direktno prihvata XAML primitive (geometriju) i renreruje direktno preko DXa u app surface. Ubrazanje je drasticno. Druga stvar koja ne ide na ruku WinFormsu koncepcijske prirode. GUI je po prirodi hijerarhijski i winforms emulira hijerarhiju kroz code konstrukciju, da bi potom te kontrole kodom vrsile ispis kroz flat GDI opet emulirajuci hijerarhiju, svi ti medju koraci konstantno "kradu" CPU cikluse. Sa druge strane, XAML je vec deklarativno hijerarhijski ustrojen i direktno je prisutan kao takav u composeru koji ih renderuje. U osnovi WPF je otkrovenje u odnosu GDI, bice steta ako ga utepaju da bi forsirali inferiorni WinRT.

Ono sto usporava WPF aplikacije nije XAML vec lose napravljena ili lose upotrebljena kontrola koja blokira GUI dispatcher thread i sprecava komunikaciju izmedju dispecera i desktop composera ili neracionalno barataju svojim podkontrolama, gridovi su tu notorni. Kao i na winforms za komplikovane operacije treba koristiti pozadinske threadove a GUI thread iskoristiti samo da se procesirani podaci uvezu u GUI, takodje vecina kvalitetno uradjenih WPF gridova ima opcije za optimizaciju.
[ Boyka @ 03.08.2012. 18:48 ] @
Citat:
mmix:
WPF vs GDI+ je pitanje koje zavisi od platforme. Na XPu je GDI brzi zato sto WPF na XPu ide kroz GDI emulaciju. Na Vista+ sam OS ima desktop composer koji direktno prihvata XAML primitive (geometriju) i renreruje direktno preko DXa u app surface. Ubrazanje je drasticno. Druga stvar koja ne ide na ruku WinFormsu koncepcijske prirode. GUI je po prirodi hijerarhijski i winforms emulira hijerarhiju kroz code konstrukciju, da bi potom te kontrole kodom vrsile ispis kroz flat GDI opet emulirajuci hijerarhiju, svi ti medju koraci konstantno "kradu" CPU cikluse. Sa druge strane, XAML je vec deklarativno hijerarhijski ustrojen i direktno je prisutan kao takav u composeru koji ih renderuje. U osnovi WPF je otkrovenje u odnosu GDI, bice steta ako ga utepaju da bi forsirali inferiorni WinRT.

Ono sto usporava WPF aplikacije nije XAML vec lose napravljena ili lose upotrebljena kontrola koja blokira GUI dispatcher thread i sprecava komunikaciju izmedju dispecera i desktop composera ili neracionalno barataju svojim podkontrolama, gridovi su tu notorni. Kao i na winforms za komplikovane operacije treba koristiti pozadinske threadove a GUI thread iskoristiti samo da se procesirani podaci uvezu u GUI, takodje vecina kvalitetno uradjenih WPF gridova ima opcije za optimizaciju.


Vrlo moguce, kada pravim wpf aplikacije na lap topu(XP) sporije se otvaraju nego one sto pravim na Windows 7, na PC-u, ,mislio sam da je to zbog vecih perfomansi PC-a, ali bice da je do toga..

Zasto mislis da ce 'utepati' WPF, nisam cuo za taj WinRT?
[ mmix @ 03.08.2012. 21:28 ] @
Ako nisi cuo za WinRT onda nisi cuo ni za Windows 8 i njegov teletabis look&feel, sto sumnjam
[ Boyka @ 04.08.2012. 13:45 ] @
Citat:
mmix:
Ako nisi cuo za WinRT onda nisi cuo ni za Windows 8 i njegov teletabis look&feel, sto sumnjam :)


Mislis na njegov 'tablet' start http://www.youtube.com/watch?v=nxbHawhzACA
[ mmix @ 05.08.2012. 07:24 ] @
Ne, mislim bas na desktop PC.

Imas celu temu o tome ovde na ES-u,
http://www.elitesecurity.org/t446931-Windows-consumer-preview
[ Boyka @ 05.08.2012. 13:50 ] @
Citat:
mmix:
Ne, mislim bas na desktop PC.

Imas celu temu o tome ovde na ES-u,
http://www.elitesecurity.org/t446931-Windows-consumer-preview


U ovom preview'u k'o da sam video Android... Mislio sam da će se sve više aplikacije praviti u wpf-u..
[ 2paca.zwaka @ 19.08.2012. 21:57 ] @
Tehnologije u kojima ce se praviti aplikacije za Win8 su XAML + C# (Vb,managed C++) i Html + JavaScript, tako da WPF-u nije kraj.
To ce uglavnom biti one Metro aplikacije ako se ne varam.

Desktop aplikacije ce se jos uvek moci praviti u WPF mislim.

Naravno, prave aplikacije ce se i dalje praviti sa native c++ i upravo tim novim WinRT apijem.

A sto se tice performansi WPF, one mnogo zavise od OS.

Kako god, WPF je u svemu bolji od WinForm tehnologije
[ mmix @ 19.08.2012. 23:05 ] @
Ma nema sanse, "prave" aplikacije se pisu u asembleru
[ MarkoBalkan @ 24.12.2012. 19:38 ] @
kakva je budućnost wpf-a na esktopu i webu?

[ wex-alpha @ 02.02.2013. 21:07 ] @
SL je mrtav, a kako stvari stoje i WPF-u su dani odbrojani :(

Doduse... na kraju krajeva, ko ce to znati? Sigurno ce WPF projekti i dalje biti prisutni u VS, slicno kao sto i dan danas u VS 2010/12 postoje C++ "bilvaktile" projekti.
[ Shadowed @ 02.02.2013. 21:46 ] @
Ne znam sto mislis tako. Ja sta god da radim za Win (tj. ne-web) radim u wpf-u. Ne secam se kada sam poslednji put pravio nesto u win forms.
[ wex-alpha @ 03.02.2013. 09:57 ] @
Citat:
Shadowed: Ne znam sto mislis tako. Ja sta god da radim za Win (tj. ne-web) radim u wpf-u. Ne secam se kada sam poslednji put pravio nesto u win forms.


Nemoj me krivo shvatiti, i ja preferiram WPF. Takodjer ga koristim za dosta projekata... ali citajuci po webu, sticem utisak da je WPF u [problemima... nadam se da se varam.

Mozda i grijesim? :)

[ mmix @ 03.02.2013. 10:20 ] @
Ko bi to mogao znati sada. Dok se synofski pitao buducnost je bila losa, videcemo sada, ova nova se jos nije oglasila.
[ bjevta @ 27.02.2013. 13:53 ] @
cisto informativno, ako je buducnost wpf-a problematicna, sta je zamena? pitam ovo jer treba da pocnem u aprilu neki projekat za desktop, rado bih ga video i na tabletu al' primarno desktop.

ako je target win7 i win8, sta da koristim? ako je target win8, sta onda?
[ Dusan Kondic @ 27.02.2013. 14:09 ] @
Kao što je već rečeno WinStore aplikacije (Windows 8 / metro) je, između ostalog, moguće raditi u XAML + C# (odnosno VB.NET).
To znači da programeri koji znaju WPF/SL neće morati da uče mnogo novih stvari, već samo neke specifičnosti vezane za Metro style.
Ako to nešto znači, ja radim u WPF/SL četiri godine i tutorijale vezane za WinStore prolazim bez problema.
Pozdrav