Strona główna | Informacje | Społeczność | Rozwój | mójReactOS | Kontakt

  1. Strona główna
  2. Społeczność
  3. Rozwój
  4. mójReactOS

  1. Spis treści
  2. Zespół ReactOS
  3. Forum
  4. Wiki
  5. Listy dyskusyjne
  6. Kanały IRC
  7. Newslettery
  8. Blogi
  9. Najczęstsze pytania

Community > ReactOS Newsletter Archive > ReactOS Newsletter: Biuletyn 75

Biuletyn 75

by Z98 on 2010-08-06
translated by Haos on 2010-08-10

Tłumaczenie: Caemyr

Wyszedł Starcraft 2... Czy trzeba więcej wyjaśnień?

top

Rysowanie Bitmap


Bitmapy są głównym surowcem, za pomocą którego podsystem Win32 rysuje obiekty. Z drugiej strony, termin bitmapa ma znaczenie o wiele szersze niż tylko pliki "bmp" - podstawowy i szeroko stosowany format zapisu obrazów, których to właściwa nazwa brzmi DIB - Device Indepedent Bitmap. Jak sama nazwa wskazuje, prócz bitmap niezależnych od urządzenia (rysującego), istnieją także bitmapy zależne, specyficzne dla urządzenia graficznego i wykorzystywane przezeń do rysowania. Prawidłowa konwersja pomiędzy oboma rodzajami bitmap jest podstawowym warunkiem poprawnego rysowania obiektów na ekranie, a jakiekolwiek błędy na tym etapie wywołają wyraźnie widoczne zniekształcenia obrazów czy też ich przekoloryzowania. Właśnie problem poprawnej konwersji od niedawna absorbuje Jérôme Gardou w jego pracach nad gałęzią YAROTOWS. W formacie DIB przechowywanych jest wiele informacji, niezbędnych do prawidłowego wyświetlenia obrazu, takie jak format koloru, rozdzielczość, paleta urządzenia, użyta do stworzenia obrazu, rodzaj użytej kompresji no i oczywiście wartości kanałów czerwonego, zielonego i niebieskiego dla każdego piksela, składającego się na obraz. Informacje te przechowywane są w ściśle określonych strukturach, które niestety nie zostały, w przeważającej większości, zaimplementowane poprawnie w ReactOS, w szczególności dotyczy to tych starszych, koniecznych do zachowania kompatybilności z poprzednimi wersjami Win32/Windows. Jérôme załatał już większość dziur, pozostawiając sobie jeszcze jedną poważną funkcję, która nadal nie działa jak należy. Gdy tylko się i z nią upora, nadejdzie pora na dużą aktualizację głównego drzewa ReactOS z gałęzi YAROTOWS.

top

Obsługa sieci w LiveCD


Cameron Gutman w dalszym ciągu ulepsza stos sieci, a ostatnio udało mu się naprawić całą serię błędów, uniemożliwiających korzystanie z sieci na ReactOS LiveCD. Karty sieciowe oraz niektóre protokoły, tak jak chociażby TCP/IP, są obsługiwane za pośrednictwem dedykowanych sterowników. Z drugiej strony NDIS jest sterownikiem, odpowiedzialnym za zarządzanie interakcjami pomiędzy pozostałymi sterownikami w stosie sieci, a przede wszystkim za powiadamianie sterowników protokołów (na przykład TCP/IP) o obecności kart sieciowych. Aby otrzymywać takie powiadomienia, sterownik protokołu musi samemu być zarejestrowany w NDIS. W przypadku ReactOS, jeden z problemów polegał na tym, że sterownik TCP/IP nie był w ogóle uruchamiany po instalacji, z kolei inny dotyczył NDIS, który to nie powiadamiał sterowników protokołów o dodaniu kart sieciowych w systemie. Każdy z tych dwóch problemów, osobno nawet uniemożliwiał korzystanie z sieci, a w przypadku LiveCD występowały obydwa. Przy nich drobiazgiem zdawał się być trzeci, uniemożliwiający również usłudze DHCP odnalezienie nowo-dodanych adapterów sieci. Poza problemem z DHCP, który nadal czeka na ostateczne rozwiązanie, dwa pierwsze udało się Cameronowi rozwiązać, umożliwiając użytkownikom ReactOS LiveCD korzystanie z internetu.

top

CMake


RBuild od dawna uznawany był w naszym projekcie za zło konieczne. Mimo dobrych intencji jego twórcy (które niestety przepadły w mrokach dziejów), RBuild stał się trudnym do opanowania i rozwijania, przestarzałym i bardzo mało wydajnym narzędziem. Nie jest w stanie zapewnić odpowiedniej warstwy abstrakcji w stosunku do narzędzi, jakim jest kompilator i linker, a co gorsze przywiązał ReactOS do GCC, skutecznie utrudniając wszelkie próby skorzystania z innych kompilatorów, jak choćby MSVC. Mimo licznych prób naprawy, ostatniej której podjął się KJK::Hyperion, żadna nie zakończyła się sukcesem. KJK, ostatni zwolennik RBuild już nie jest aktywnym członkiem projektu i w najbliższym czasie nie będzie kontynuował swoich prac. W międzyczasie, CMake już zwrócił na siebie uwagę deweloperów ReactOS, lecz do tej pory nikt nie pokusił się na poważniejszą próbę jego wykorzystania. Niedawno Amine Khaldi wraz z Sir_Richardem z ROS-ARM rozpoczęli pracę nad gałęzią, której celem jest właśnie adaptacja CMake na potrzeby naszego projektu. W ciągu dwóch tygodni udało im się już skompilować sporą część bibliotek statycznych trybu użytkownika i narzędzia hosta. Przed nimi nadal dużo pracy, jednak postępy jakich dokonują pozwalają wierzyć na ostateczny sukces. Wraz z porzuceniem RBuild i adaptacją mamy nadzieję poprawić wydajność kompilacji a także poprawić jakość kodu. Już do tej pory udało się, dzięki ich pracy, wykryć i naprawić bardzo poważny błąd w kernel32.

 


top

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.