Янв 12 2014

Чистка базы данных пользователей

В связи с нашествием спам-ботов база данных пользователей была почищена. Приносим свои извинения за доставленные неудобства.

Янв 11 2014

Первые результаты RnD-проекта по сжатию изображений

Некоторое время назад для нужд хранения картинок в запускающем приложении была начата разработка своего формата хранения изображений в сжатом виде.

К создаваемому формату предъявлялись следующие требования:

  • Высокая скорость загрузки (не более 50мс на изображение 1024×1024 в формате RGB8)
  • Поддержка сжатия как без потерь, так и с потерями
  • Поддержка форматов изображения: G8, GA8, RGB8, RGBA8
  • Поддержка, при сжатии изображения RGBA8 с потерями, специального режима когда альфа-канал сжимается без потерь

Подробнее »

Дек 05 2013

R&D-проект по сжатию общего назначения закончен

Некоторое время назад встал вопрос о необходимости библиотеки для сжатия assert`ов в движке. На тот момент для этих целей использовалась библиотека LZO (к слову, единственная используемая мной сторонняя библиотека), однако из-за её GPL-лицензии надо было или покупать её pro-версию, или менять на что-то другое (возможно даже своё). Кроме того, давно назревал вопрос о целесообразности использования для поставленной задачи именно алгоритма семейства LZ77. С целью сбора и анализа данных о различных алгоритмах сжатия в контексте указанной задачи и был начал этот R&D проект.

Подробнее »

Ноя 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. Уж не знаю как я их до этого не замечал, но факт остаётся фактом – в реализации работы с большими числами их сдвиги были реализованы через SHL/SHR. И я это отчётливо помнил.

Естественно прочитав про “новые” инструкции я сразу же нашел часик на исправление текущей реализации. Результаты просто отличные – время выполнения операций сдвига больших чисел сократилось в 1.5(!) раза. Хотя конечно общий прирост производительности RSA невелик, но с другой стороны общий прирост производительности на ~5.5% это тоже не так уж и мало.

Окт 17 2013

Годовой отчёт о разработке Cat Framework

Привожу некоторый статистические данные по этому проекту:
Подробнее »

Окт 05 2013

Разработка SkyUD завершена

Собствено сабж 🙂 Когда разработка начиналась она планировалась как кратковременая задача, однако жизнь распорядилась иначе – с момента начала работы до релиза прошло 1.5 года.

Окт 01 2013

Первый резил Cat Framework

Сегодня состоялся первый релиз нашего фреймворка Cat Framework. И хотя этот релиз предназначен только для внутреннего использования это всё равно знаковое для нас событие. Как обычно приведу некоторою статистику.

От начала разработки CFW 0.2 отделяют 654 часов, 31 закрытая задача в Redmine, 96 ревизий SVN. Размер фреймворка составляет 2294КБ (в 205 файлах). Фреймворк насчитывает 42262 строк кода (исходный код: 29788 строк, юнит-тесты: 5436 строк, бенчмакри: 3466 строк, примеры: 3572 строки).

Начиная с версии 0.3 поддержка CatTorrent прекращается.

Сен 01 2013

Стартовало открытое тестирование SkyUD

Подробности по ссылке.

Авг 29 2013

Вышла статья “Организация обновлений клиента МО/ММО игр”

Наконец завершил работу над своей первой статьёй. Так уж вышло что из-за периодических перерывов в работе над SkyUD написание статьи затянулось почти на 1.5 года (статья писалась параллельно с работой над SkyUD).

Авг 24 2013

Переработал пул сообщений в CSO

В рамках подготовки к релизу CFW 0.2 проводил провожу переработку CSO. Во время выделения глобального пула сообщений в отдельный файл решил попробовать переписать его на asm`е. Сам по себе пул вроде не сложный, так что по идеи компилятор должен выдавать более-менее приличный код.

Простейший тест в котором каждый поток сначала выделял, а потом освобождал 32768 сообщений показал следующее (кол-во пар выделение+основбождение в млн. в секунду):

1 поток 2 потока 3 потока 4 потока 5 потоков 6 потоков
Реализация на Pascal 17.38 40.98 54.78 72.31 78.83 86.22
Реализация на Asm 20.57 47.25 75.06 91.21 106.11 109.08
Ускорение от перехода на Asm +18.4% +15.3% +37% +26.1% +34.6% +26.5%

Переход на Asm даёт выигрыш от 15.3% до 37%, т.е. в среднем получает где-то 25%.

Предыдущие сообщения «

» Более новые сообщения