All blog entries, ordered from most recent. Entry count: 1198.
# GPU ShaderAnalyzer
Tue
11
Dec 2007
Chyba zrobę sobie teraz przerwę na zabawę i poznawanie różnych nowych technologii. Pierwsze do testów wziąłem małe narzędzie firmy ATI/AMD - GPU ShaderAnalyzer. Okazuje się to być program, któremu można wrzucić źródło shadera, a on kompiluje go i pokazuje kod w asemblerze oraz kilka przydatnych informacji statystycznych. Akceptuje zarówno shadery DirectX, jak i OpenGL, łącznie z Shader Model 4 (no wiecie - GeForce 8000, Vista i te sprawy :) Można mu też podać makra preprocesora. Jako wyjście otrzymujemy kod shadera w asemblerze, liczbę użytych instrukcji, rejestrów itp., oraz - co w zamierzeniu ma być najważniejsze - wyliczone statystyki na temat ile shader ma instrukcji arytmetycznych, a ile samplujących teksturę, ile czasu zajmie jego wykonywanie i w efekcie co stanowi w nim wąskie gardło. Niestety tylko dla wybranych modeli kart graficznych z serii Radeon.
Ogólnie program może się przydać tym, którzy chcą stuningować swoje shadery do granic możliwości. Co również istotne, jest mały, prosty i napisany w kodzie natywnym, a nie w .NET. Pewnie dlatego działa szybko, czego nie można powiedzieć o FX Composer 2. Jako edytora z podświetlaniem składni autorzy użyli zdaje się kontrolki Scintilla. Program zawiera właściwie tylko tyle, ile pokazuje ten jeden screen:
Comments | #rendering #tools #software Share
# RIMP 401
Mon
10
Dec 2007
Niektóre prace magisterskie są naprawdę ciekawe. Na przykład dwójka moich kolegów - Damian i Tomek - zajmują się w ramach swojej pracy robotem przemysłowym RIMP 401. Zrobili dla tego projektu stronę internetową, a na niej umieścili już sporo zdjęć i filmik.
# Warto wyłączyć plik wymiany
Sun
09
Dec 2007
Plik wymiany to taki nieszczęsny wynalazek, przez który system przenosi na dysk twardy dane z pamięci operacyjnej i kiedy znowu są potrzebne, musi je z dysku z powrotem przeczytać. Oczywiście nikomu nie trzeba przypominać, że dysk jest o całe rzędy wielkości wolnieszy od pamięci RAM. Teoretycznie system powinien to robić dopiero kiedy nie wystarcza mu pamięci fizycznej. W praktyce robi to często np. kiedy jakiś program jest od dłuższego czasu nieużywany (specjalistą od tego jest wirtualna maszyna Javy) albo kiedy kopiujemy duże pliki czy nagrywamy płytę DVD (wymyśla sobie wtedy, że potrzebne mu są setki MB pamięci na bufory dyskowe i to jest dla niego ważniejsze, niż uruchomione programy).
Dlatego warto całkowicie wyłączyć plik wymiany. Aby to zrobić (chociaż to pewnie każdy wie), klikamy prawym klawiszem na My computer, wybieramy Properties, dalej na zakładce Advanced w sekcji Performance klikamy przycisk Settings, w nowym oknie znów zakłada Advanced, przycisk Change i wreszcie w ostatnim już oknie wybieramy dla każdego dysku opcję No paging file. Jeszcze tylko restart komputera i gotowe.
Plik wymiany nie zawsze można wyłączyć. Niektóre programy i (zwłaszcza) gry potrzebują bardzo dużo pamięci. Na przykład dla Wiedźmina w Windows XP, 1 GB RAM-u to za mało i bez pliku wymiany wysypuje się. Dla Crysisa w Windows Vista nawet 2 GB pamięci to za mało. Jeszcze inne aplikacje, np. Photoshop, narzekają na brak pliku wymiany niezależnie, jak dużo pamięci jest w systemie. Jednak jeżeli tylko możesz, naprawdę gorąco zachęcam, wyłącz plik wymiany. Praca z systemem jest wtedy zupełnie inna.
# CTFMON.EXE i zamulanie systemu
Sat
08
Dec 2007
Nowe! Ponieważ niespodziewanie okazuje się, że ten wpis jest najpopularniejszy z całego mojego bloga (który w większej części jest poświęcony programowaniu, a nie sprawom takim jak ta), to jeśli trafiłeś tu przez Google szukając hasła "CTFMON", musisz wiedzieć, że najprawdopodobniej nie znalazłeś tego czego szukasz, a po prostu MASZ W SWOIM SYSTEMIE WIRUSA. Ctfmon.exe to plik systemowy, ale istnieje popularny wirus podszywający się pod tą samą nazwę.
Od dawna męczył mnie i moich kolegów używających Windows XP problem z zacinaniem się systemu (polegającym na niereagowaniu na żadne wejście z klawiatury ani z myszki przez całkiem długi ułamek sekundy) w momencie przełączania między uruchomionymi programami. Długo nie wiedziałem, co jest przyczyną. Obwiniałem m.in. sterownik do myszki A4Tech albo TortoiseSVN.
W czasie, kiedy nie nie miałem Neostrady, zacząłem drążyć ten temat wyłączając po kolei procesy działające w tle i poszukałem rozwiązania za pomocą komórki i Opera Mini. Oto, co się okazało: Otóż przyczyną tego wrednego błędu jest proces uruchamiany z pliku CTFMON.EXE. Różne strony podają na jego temat sprzeczne informacje, ale postaram się je tu zebrać. Tak czy owak, problem można zwalczyć.
Niektóre znalezione metody poradzenia sobie z nim:
regsvr32.exe /u msimtf.dll regsvr32.exe /u msctf.dll
# Szarpanie gry
Fri
07
Dec 2007
Szarpanie gry to wredny błąd. Długo nie wierzyłem w ogóle w jego istnienie - dopóki sam go nie doświadczyłem w swoim kodzie, najpierw na laptopie, a potem również na blaszaku. Chodzi o sytuację, kiedy FPS-ów jest dużo, ale mimo tego animacja "szarpie". Powiązany z tym może być jest błąd opóźniania się obrazu za wejściem z myszki, doświadczany przy pisaniu GUI. Rozwiązania są różnorodne:
Comments | #directx #rendering #algorithms Share
# Mobile Galaxy
Thu
06
Dec 2007
Nic nie pisałem od tak dawna, bo nie miałem dostępu do Internetu przez kilka dni. W tym czasie zacząłem z nudów uczyć się programowania w J2ME na komórki. Moja pierwsza produkcja to małe demo graficzne - Mobile Galaxy. Udostępniam je razem z kodem źródłowym.
Comments | #mobile #java #productions #rendering Share
# Visual Studio 2008 Express
Mon
26
Nov 2007
Przyglądałem się dzisiaj nowym wersjom narzędzi programistycznych Microsoftu. Konkretnie, ściągnąłem i zainstalowałem Visual C++ Express 2008 oraz Visual C# Express 2008. Patrząc na tabelkę, darmowym wersjom Express niewiele brakuje do pełnego Visual Studio i jeśli tylko nie potrzebujesz możliwości takich jak Mobile Development czy 64-bit Compiler Support, powinny wystarczyć.
Nowości jest dużo. Większość z nich to jednak sprawy związane z Internetem, stronami WWW i bazami danych, dlatego nie zagłębiałem się w to dalej. Pośród ciekawych rzeczy, nowe wersje języka C# 3.0 i platformy .NET 3.5 wprowadzają mechanizm LINQ (coś jakby zapytania SQL, które można zadawać w kodzie C# do dowolnej kolekcji obsługującej enumerację) oraz słowo kluczowe var, które powoduje automatyczne zgadnięcie typu podczas kompilacji (C++ ma to mieć w standardzie planowanym na rok 2009). Jest też kilka technologii, którym będę się musiał przyjrzeć kiedyś bliżej - np. Windows Presentation Foundation czy DarkGDK.
Pośród nowości w Visual C++ nie zauważyłem niczego istotnego. Zaletą jest, że nowa wersja zawiera w sobie już wszystkie nagłówki i biblioteki Windows API, więc nie trzeba męczyć się z osobnym ściąganiem i instalowaniem Platform SDK. Na szczęście niczego też nie popsuli. Kompilowane pliki EXE wymagają wprawdzie nowej wersji plików DLL z biblioteką standardową typu MSVCP90.DLL, którego użytkownicy na swoich komputerach nie mają, ale tak jak dawniej wystarczy przestawić w opcjach projektu Runtime Library, żeby problem zniknął.
Do tego wszystkiego niezbędna jest dokumentacja, którą również sobie ściągnąłem i zainstalowałem (nie ma to jak szybka Neostrada :D). MSDN Library for Visual Studio 2008 dostępne jest za darmo. Zawiera oczywiście dokumentację nowych funkcji systemowych (Vista, nowa platforma .NET itd.), ale poza tym wygląda i działa jak dawniej.
Żeby powiedzieć coś więcej, musiałbym dłużej tych programów poużywać. Wstępnie odnoszę wrażenie, że nowe wersje rewolucji nie robią, ale są OK. Przesiadka nie jest niezbędna. Ja bym się przesiadł, gdyby nie to, że jestem szczęśliwym posiadaczem pełnego Visual Studio 2005 Professional. W takiej sytuacji bez żalu zostaną przy wersji z sprzed dwóch lat.
Comments | #visual studio #c++ Share
# Infobot Gadu-Gadu
Sun
25
Nov 2007
Infobot to drobna, ale bardzo przydatna ciekawostka i aż dziw, że dopiero niedawno się o niej dowiedziałem. To darmowa, napisana przez dwóch studentów z Lublina usługa sieciowa oparta na Gadu-Gadu. Wystarczy dodać do listy kontaktów numer 3217426 i już można rozmawiać z botem. Nie jest on co prawda szczególnie inteligentny (chociaż potrafi się przywitać i pożegnać), ale oferuje kilka przydatnych poleceń takich jak na przykład:
p częstochowa - prognoza pogody dla miasta
ap sophisticated - słownik angielsko-polski
ort błond - słownik ortograficzny
wiki programista - wikipedia
tv tvp1 - program telewizyjny
waluty - kursy walut