Od kilku dni użeram się z projektem WinRT C#/XAML, który korzysta z projektu WinRT C++. Ta sytuacja rodzi u mnie wiele problemów, z którymi sobię jakoś daję powoli radę. Jednym z WTF, na które natrafiłem to problem debugowania mieszanej solucji. A ponieważ ja ostatni raz w C++ pisałem dekadę temu to współczynnik WTF per minute mam wysoki. Czytaj dalej
Tag Archives: WinRT
Liczniki wydajności w Windows Store Apps
Ostatnio pisałem na temat zdarzenia BindingFailed klasy DebuggerSettings. Jedną z niewielu właściwości tej klasy jest EnableFrameRateCounter.
public App() { InitializeComponent(); Suspending += OnSuspending; DebugSettings.EnableFrameRateCounter = true; }
Zmiana tej flagi na true sprawia, ze w górnym lewym rogu uruchomionej aplikacji pojawią się liczniki wydajności, które doskonale znają programiści Windows Phone.
Znaczenie poszczególnych wartości:
- Cp fps: the frames-per-second frame rate for the composition thread
- UI fps: the frames-per-second frame rate for the UI thread
- Memory: memory utilization for textures
- Batch: the count of surfaces that are sent to the graphics processing unit (GPU)
- Cp cpu: time in milliseconds spent on the composition thread’s processor
- UI cpu: time in milliseconds spent on the UI thread’s processor
Debugowanie BindingExpression w Windows Store Apps
Jedną z zalet XAML’a, DataBinding i MVVM jest to, że grafik i programista mogę swobodnie pracować nad tą samą aplikacją. Miejscem styku są wyrażenia BindingExpression w kodzie XAML. Niestety, czasami styku nie ma, albo wręcz robią się zwarcia i trzeba na to jakoś zareagować. Czytaj dalej
Zastosowanie SemanticZoom z domyślnym ZoomOut
Ostatnio portowałem moją aplikację Relax z Windows Phone do Windows Store. Oryginalna aplikacja została utworzona w XNA, bo chciałem mieć ładne animowane, opadające kształty (tekstury) oraz płynne przejścia tła (wiem, wiem…to samo też można zrobić w Silverlight, ale miałem problemy z wydajnością i obciążeniem procesora). Relaxed (tak się nazywa w Windows Store, bo ktoś mi wcześniej zajumał nazwę „Relax”) to MonoGame + XAML.
W tej wersji aplikacji zdecydowałem się na menu w XAML’u, a część releksacyjna (muzyka + animacje) to XNA. Pomyślałem sobię, że fajnie by było użyć kontrolki SemanticZoom. W trybie ZoomIn (normalny) nic nie ma (nie ma zawartości XAML) więc widać to co rysuje XNA. W trybie ZoomOut (oddalony) pojawiają się kontrolki, gdzie użytkownik wybiera interesujący go temat.
Skórka Dark i Light w aplikacjach Windows Store
Zapewne każdy Win8Dev wie, że szablony projektów aplikacji Windows Store (Windows 8) są domyślnie w ciemnej tonacji. Nie ważne czy wybierzesz BlankApp, GridApp czy SplitApp, aplikacja po uruchomieniu będzie wyglądała mniej więcej jak poniżej:
Ale wystarczy, że w App.xaml, w nagłówku wpiszesz jedną linijkę:
RequestedTheme="Light"
Teraz ta sama aplikacja będzie ubrana w białą skórkę:
Tworzenie aplikacji dla systemu Windows 8 @ Channel 9
Dzisiaj ruszyła publikacja mojej nowej serii webcastów pt: Tworzenie aplikacji dla systemu Windows 8. Odcinki będą publikowane na portalu Channel 9.
Z tego miejsca pozdrowienia i podziękowania dla mojej kochanej żony, że zgodziła się na mój udział w tej serii 🙂 oraz pozdrowienia dla Basi Michalskiej i Rafała Madyckiego z polskiego oddziału Microsoft.
Już dzisiaj, już teraz zobacz wstęp do kursu:
Zachęcam do oglądania i komentowania.
Windows 8 oczami programisty .NET (38. spotkanie ŚRGM)
Tydzień temu odbyło się 38. spotkanie Ślaskiej Regionalnej Grupy Microsoft. Było to pierwsze po wakacjach (i po dłuższej przerwie) spotkanie naszej grupy. Na spotkaniu miałem przyjemność poprowadzić jedna sesję. Mój temat to Windows 8 oczami programisty .NET.
38 spotkanie ŚRGM i PLSSUG Katowice
Spotkanie odbyło się jak zawsze w Kamsofcie. Przybyło całkiem sporo osób (30+ ludzi). Pojawiło się wiele znanych twarzy jak i kilka nowych. Tym razem nie było przegadanego wstępu, bo o czym tu mówić i tylko tracić czas. W dodatku trochę czasu straciliśmy na problemie pt. „gdzie jest pilot z rzutnika”, a gdy ten się znalazł, pojawił się kolejny problem „dlaczego nie ma obrazu na ekranie”. Ale i z tym sobie poradziliśmy i można było przejść do pierwszej sesji. Czytaj dalej
Metro How To 0: Wstęp
Kolejną serią postów jaką planuję to cykl tzw. „How To„. Będą to posty o charakterze bardzo praktycznym, rozwiązujące konkretny problem z jakim się spotkałem podczas devopmentu na Windows 8, główne podczas portowania Kids Puzzle z Windows Phone na Metro. Czytaj dalej
Metro Apps 0: Wstęp
Nowy Windows 8 na horyzoncie, a ja jakiś czas temu dostałem niepowtarzalną szansę, na przygotowanie jednej z pierwszych aplikacji, które pojawią się w Windows Store, co w moim przypadku oznacza tylko jedno: Metro Style Apps XAML/C#, bo HTML/JavaScript nie lubię, Direct/C++ to nie moja bajka, a XNA na Metro nie ma (oficjalnie nie ma, ale powstaje ciekawy projekt SharpDX).
Zdecydowałem się na portowanie (choć bardziej pasuje tutaj: napisanie od nowa) gry Kids Puzzle (jednej z moich aplikacji na Windows Phone). Na dzień dzisiejszy aplikacja jest na ukończeniu i lada dzień wyląduje w Windows Store!
W związku z tym pomyślałem sobie, że pewnymi uwagami podzielę się na łamach mojego bloga i może powstanie z tego ciekawa seria. Tematy podzieliłem na dwie grupy. Czytaj dalej