ROS Newsletter75

Материал из Русский WINE
Перейти к: навигация, поиск

Выпуск новостей ReactOS №75

Вывод изображения

Основным способом вывода изображения в подсистеме Win32 является использование массива цветовых точек (bitmap). Однако, этот термин означает больше, чем просто широко используемый формат изображений. Основной частью этого формата являются аппаратно-независимые точечные изображения (DIB). Ясно, что если существуют аппаратно-независимые изображения, то, разумеется, существуют и аппаратно-зависимые, представляющие собой формат, используемый графическими картами для вывода изображения. Правильное преобразование между этими двумя форматами является неотъемлемой частью прорисовки, и ошибки в этом процессе могут приводить к неправильному отображению цветов и другим видимым ошибкам. Жером Гардо (Jérôme Gardou) успешно решил эту проблему в ветке yarotows. Изображения формата DIB содержат достаточное количество служебной информации, позволяющей убедиться в правильности их интерпретирования, например, такой, как формат цвета, разрешение, палитра создавшего их устройства, информация о сжатии, и, конечно же, значения долей красного, зеленого, и синего цветов для каждого из пикселей, составляющих изображение. Вся эта информация хранится в целом ряде различных структур данных, которые, к сожалению, не полностью поддерживаются ROS, в особенности это актуально для старых версий форматов. Жером устраняет эти недостатки, большая часть его работы уже завершена, и осталась лишь одна не совсем корректно работающая функция. После окончания этих работ произойдёт ещё одно большое слияние ветви yarotows с транком.

Поддержка сети в LiveCD

Кэмерон Гутман (Cameron Gutman) продолжает работу над сетевым стеком, и, в данный момент занимается исправлением ряда ошибок, препятствующих работе с сетью при загрузке с LiveCD. Сетевые карты и некоторые протоколы, к примеру TCP/IP, используют для своей работы драйверы. NDIS это один из таких драйверов, управляющий взаимодействием между другими драйверами поддержки сети, к примеру, он информирует драйверы протоколов, таких, как TCP/IP, о наличии сетевых карт. Для того, чтобы драйвер протокола мог получить такую информацию, он должен зарегистрировать себя в NDIS. В случае ReactOS, драйвер TCP/IP после загрузки не запускался, а NDIS не мог сообщить драйверам протоколов об обнаружении добавленной в систему новой сетевой карты. Если любая из этих проблем в отдельности и могла привести к проблемам работы с сетью, то все вместе они привели к полной невозможности когда-либо выйти в Интернет используя LiveCD, и это не принимая в расчёт третью проблему - служба DHCP так же не может найти добавленные сетевые карты. Первые две проблемы были успешно решены, однако ситуация с DHCP всё ещё остаётся сложной. Для устранения этой ошибки было использовано временное решение, однако в будущем понадобится более корректная реализация. По крайней мере теперь тестеры, использующие LiveCD, смогут выйти в Интернет и провести больше тестов.

CMake

RBuild довольно долго был необходимым злом для проекта ReactOS. Изначальные благие намерения его разработчиков уже давно потеряли актуальность, и RBuild стал крайне громоздким и сложным в обслуживании. Как система сборки он не обеспечивает хорошую абстракцию между основными инструментами, такими, как компиляторы и сборщики, привязывая к ReactOS к стеку GCC, и приводя к невозможности использования других компиляторов, которые хотели использовать разработчики, к примеру MSVC. Было предпринято несколько попыток исправить эти проблемы, последним, кто занимался этим, был KJK::Hyperion. После его ухода из проекта никто не проявил желание взять на себя эту задачу, и многие задаются вопросом, для чего же ReactOS необходима собственная система сборки? Ответ таков: нет веских оснований, по крайней мере, их уже не осталось. CMake ранее уже привлекал к себе внимание разработчиков, но опять же не было каких-либо серьезных действий в этом направлении. Но несколько недель назад Амин Хальди (Amine Khaldi) совместно с командой ARM приступили к работе над веткой CMake-Bringup, которая позволит скомпилировать ReactOS при использовании CMake. Они достигли значительного прогресса и смогли скомпилировать многие библиотеки пользовательского режима. Еще осталось много работы, но, мы надеемся, что CMake в конце концов отправит RBuild на заслуженный отдых, после чего произойдёт ещё несколько изменений в инфраструктуре, которые хотели бы видеть разработчики.

Newsletters
30-39 #30#31#32#33#34#35#36#37#38#39
40-49 #40#41#42#43#44#45#46#47#48#49
50-59 #50#51#52#53#54#55#56#57#58#59
60-69 #60#61#62#63#64#65#66#67#68#69
70-79 #70#71#72#73#74#75#76#77#78#79
80-89 #80#81#82#83#84#85#86#87#88#89
90-99 #90#91#92#93#94#95#96#97#98#99