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: c#
Custom development in Lync 2013
Ostatnio udało nam się reaktywować firmowego bloga. Jest to też jeden z kanałów, którymi otwieramy się na dev-community.
I tak chciałbym zachęcić wszystkich swoich czytelników do mojej pierwszej publikacji na ów blogu, gdzie opisuję jak szybko i łatwo zacząć custom-development z Lync 2013.
Orbit One Blog: Custom development in Lync 2013
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ę:
XNA – skalowanie i centrowanie
Jeś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 MonoGame. Czytaj dalej
Wysyłanie wiadomości SMS (Windows Phone SDK)
W tym poście znajdziesz informacje jak komponować (wysyłać) wiadomości SMS w Windows Phone. Opisuję tu:
- proste wysyłanie SMS’a do jednego odbiorcy
- wybieranie odbiorcy z listy kontaktów w telefonie
- wysyłanie SMS’a do wielu odbiorców
Zapraszam do czytania i komentowania. Czytaj dalej
Visual C# MVP 2012
1 październik to dzień ogłaszania nominacji i renominacji do tytułu MVP. Miło mi ogłosić, że Microsoft przyznał mi renominację na kolejny rok w kategorii Visual C#:
Dear Wojciech Poniatowski,
Congratulations! We are pleased to present you with the 2012 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Visual C# technical communities during the past year.
WP XNA 13: Trial
Windows Phone jako jedyna platforma umożliwia tworzenie aplikacji z tzw. Trial’em. Wiem, ktoś może powiedzieć, że przecież w AppStore czy Android Market też są aplikacje płatne i darmowe. Czym więc różni się Windows Phone? Tym, że możemy stworzyć jedną aplikację, która będzie jednocześnie wersją Trial i pełną, a Windows Phone Marketplace automatycznie zadba o procedurę kupna i podniesienia wersji z darmowej na pełną.
W tym poście opiszę moje podejście do tego tematu. Na koniec opiszę jakiego rodzaju Triale można stosować oraz na co zwrócić uwagę.
Ten wpis jest częścią cyklu o moich przygodach w tworzeniu gier XNA dla Windows Phone. Czytaj dalej