С добавлением новой платформы SkyLA стал кроссплатформенным. Т.к. для меня это первый опыт работы с кроссплатформой (обе платформы мне были близко знакомы, но опыта с графическими приложениями под Linux у меня тоже не было), то мне было крайне интересно какие из проблем предсказанных мной аналитически реально встретятся в процессе разработки, какие не встретятся и какие …
Архив по категории: Дневники разработчика
Май 16 2014
Оптимизация кода компилятором FreePascal`я
Мы все привыкли слышать о том, что Pascal медленнее C от 2-х до 5-ти раз. Это мнение глубоко укоренилось в головах большей части людей. Однако это не совсем так. Во первых корректно сравнивать конкретные компиляторы, а не языки в целом (т.к. у обоих языком компиляторов хватает). Во вторых в подавляющем большинстве тестов которые я видел …
Апр 02 2014
Завершена работа над tone-оператором
Наконец был завершен довольно старый R&D-проект по созданию хорошего тонового оператора для SkyEngine2. Путь данного проекта от задумки до завершения был достаточно долог и тернист. Первые работы по нему начались ещё в середине 2011 года, затем последовал почти 2-х летний перерыв, который принёс кардинальный пересмотр концепции оператора, и вот сейчас его наконец удалось завершить. В …
Мар 11 2014
Нет оккупации Украинских земель интервентами!!!
Никогда бы не подумал, что буду вынужден делать пост на политическую тему. Однако оккупация части моей родины российскими войсками и угрозы нападения на восточные области страны не позволяет остаться в стороне. Я искренне надеюсь, что мировое сообщество сможет вразумить Путина и объяснить ему, чем могут закончиться такие “аншлюсы”. Такое поведение России не может принести нам …
Фев 27 2014
Потоки в Windows и Linux для игр
Т.к. 3D-игра является приложением мягкого реального времени, то требует соответственного отношения к себе со стороны ОС. Конечно ни Windows, ни Linux (без специальных патчей) не являются ОС реального времени в полном понимании этого слова. В то же время основным врагом плавного FPS являются отнюдь не обработчики аппаратных прерываний (в Windows, по моим замерам, на неё …
Фев 15 2014
RnD-проект по сжатию изображений завершён
После почти 3-х месячной разработки RnD-проект по сжатию изображений по сжатию изображений завершился успехом. Все поставленные цели были достигнуты и даже сверх то – полученные результаты позволяют смотреть с оптимизмом на использования сжатия изображений с потерями для тайлов мегатекстуры.
Янв 11 2014
Первые результаты RnD-проекта по сжатию изображений
Некоторое время назад для нужд хранения картинок в запускающем приложении была начата разработка своего формата хранения изображений в сжатом виде. К создаваемому формату предъявлялись следующие требования: Высокая скорость загрузки (не более 50мс на изображение 1024×1024 в формате RGB8) Поддержка сжатия как без потерь, так и с потерями Поддержка форматов изображения: G8, GA8, RGB8, RGBA8 Поддержка, …
Дек 05 2013
R&D-проект по сжатию общего назначения закончен
Некоторое время назад встал вопрос о необходимости библиотеки для сжатия assert`ов в движке. На тот момент для этих целей использовалась библиотека LZO (к слову, единственная используемая мной сторонняя библиотека), однако из-за её GPL-лицензии надо было или покупать её pro-версию, или менять на что-то другое (возможно даже своё). Кроме того, давно назревал вопрос о целесообразности использования …
Ноя 11 2013
SHLD/SHRD или сказ о том, как я “Intel® 64 and IA-32 Architectures Software Developer’s Manual” читал
Периодически, когда у меня выдаётся несколько свободных минут, но их маловато чтобы сделать что-то полезное, я убиваю время чтением “Intel® 64 and IA-32 Architectures Software Developer’s Manual”. И вот позавчера, во время очередного такого чтения, я наткнулся на описание инструкций SHLD/SHRD. Уж не знаю как я их до этого не замечал, но факт остаётся фактом …
Авг 24 2013
Переработал пул сообщений в CSO
В рамках подготовки к релизу CFW 0.2 проводил провожу переработку CSO. Во время выделения глобального пула сообщений в отдельный файл решил попробовать переписать его на asm`е. Сам по себе пул вроде не сложный, так что по идеи компилятор должен выдавать более-менее приличный код. Простейший тест в котором каждый поток сначала выделял, а потом освобождал 32768 …