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.

FramerateCountersWindowsStoreApps

 

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.

Relax - Menu Relax - Rain theme Relax - Forest theme Relax - Beach theme

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.

Relaxed - Main menu Relaxed - Forest  theme Relaxed - Rain theme Czytaj dalej

Jak zobaczyć status aplikacji Windows Store w Task Manager

Jedną ze zmian w Windows 8 jest nowy Task Manager (Manager zadań). Domyślnie jest on w wersji super minimalistycznej, która wyświetla tylko listę uruchomionych aplikacji (lista ta jest dodatkowo filtrowana, nie widać wszystkiego).

Windows 8 - Task Manager

Dla Power Userów jest też możliwość wyświetlania bardziej szczegółowych informacji. W tym celu należy kliknąć na More details u dołu okna. Czytaj dalej

Portowanie gier z XNA WP7 na Windows 8 MonoGame

MonoGameDo tej pory omówiłem już projekt MonoGame, jego szablony oraz przedstawiłem sposób na XNA Content Pipeline. Najwyższy czas na portowanie prawdziwej gry z Windows Phone 7 do Windows Store.

Ten post jest częścią serii poświęconej tworzeniu i portowaniu gier dla Windows Store w technologii XNA (MonoGame).

Zobacz też

XNA Content Pipeline w MonoGame

MonoGamePierwszy project MonoGame dla Windows 8 (i nie tylko) gotowy. Ale poprzednio wspomniałem, że obecna wersja MonoGame nie obsługuje XNA Content Pipeline. W tym poście podam rozwiązanie (mam nadzieję, że tylko tymczasowe) tego problemu, bo Content i assety są nam baaaardzo potrzebne.

Ten post jest częścią serii poświęconej tworzeniu i portowaniu gier dla Windows Store w technologii XNA (MonoGame).

Zobacz też

Pierwszy projekt MonoGame dla Windows 8

MonoGameWiemy już czym jest MonoGame i jak je zainstalować więc czas na utworzenie pierwszego projektu.

Ten post jest częścią serii poświęconej tworzeniu i portowaniu gier dla Windows Store w technologii XNA (MonoGame).

Zobacz też

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:

Wstęp do serii - Programowanie aplikacji dla systemu Windows 8 @ Channel 9

Zachęcam do oglądania i komentowania.

Jak zdalnie wyłączyć lub zrestartować Windows 8

Gdy połączysz się zdalnie przez RDP do maszyny z Windows 8 i będziesz ją chciał wyłączyć lub zrestartować to będziesz miał problem. Normalnie rozwijasz Charms, wybierasz Settings, Power i … pojawia się tylko i wyłącznie opcja Disconnect.

Ale nie ma problemu, bo robimy to samo co na zdalnym Windows 7.

Uruchom Command Prompt (wiersz poleceń), np. poprzez sekwencję [Windows], cmd, [Enter].

Aby wyłączyć maszynę wpisz:

shutdown -s

Aby zresetować komputer wpisz:

shutdown -r

XNA – skalowanie i centrowanie

XNAJeśli ktoś (tak jak ja) pierwsze kroki z XNA stawiał w Windows Phone, to możliwe, na w swoich projektach założył dość sztywne reguły, np: rozdzielczość urządzenia to 800×480 pikseli. Tak właśnie zrobiłem ja. Na jakiś czas (około 1 rok) było to ok, bo wszystkie telefony z Windows Phone pracowały właśnie w tej rozdzielczości. Ale czasy się zmieniły. Z jednej strony pojawił się Windows Phone 8 i nowe rozdzielczości, a z drugiej strony Windows 8, gdzie różnych rozdzielczości, formatów jest jeszcze więcej.

Ten wpis powstał w nawiązaniu do mojej mini-serii o portowaniu gier z Windows Phone 7 do Windows Store przy pomocy MonoGameCzytaj dalej