Недавно небольшой командой мы написали простой flash физический пазл. Узнать о нём и конечно поиграть можно под катом.
понедельник, 20 мая 2013 г.
Игра Magnetic Bullets
Недавно небольшой командой мы написали простой flash физический пазл. Узнать о нём и конечно поиграть можно под катом.
понедельник, 18 февраля 2013 г.
Быстрое округление вместо медленного floor()
Заметка для начинающих пользователей math.h в высокопроизводительных вычислениях. Судя по гуглу проблема известная, но не смотря на то, что я себя новичком в этих вопросах не считаю, о таких неприятностях не догадывался.
Речь пойдёт о floor. Вообще говоря, описанные проблемы производительности свойственны многим функциям, но я напоролся именно на floor. Если коротко, то floor работает медленно. Настолько медленно, что в моём сеточном методе моделирования жидкости floor оказался в первых строках профайлера. Дело в том, что floor делает множество проверок на ситуации типа NaN, inf и может изменять глобальную переменную errno для сообщения о ошибке. Всё это занимает бОльшую часть времени работы функции. Во многих задачах всё это совершенно не нужно, а нужна только скорость. Под катом пара вариантов решения проблемы: собственный fastFloor и настроки компилятора.
Речь пойдёт о floor. Вообще говоря, описанные проблемы производительности свойственны многим функциям, но я напоролся именно на floor. Если коротко, то floor работает медленно. Настолько медленно, что в моём сеточном методе моделирования жидкости floor оказался в первых строках профайлера. Дело в том, что floor делает множество проверок на ситуации типа NaN, inf и может изменять глобальную переменную errno для сообщения о ошибке. Всё это занимает бОльшую часть времени работы функции. Во многих задачах всё это совершенно не нужно, а нужна только скорость. Под катом пара вариантов решения проблемы: собственный fastFloor и настроки компилятора.
воскресенье, 11 декабря 2011 г.
Запрет на создание не константных объектов
В процессе обдумывания одной безумной идеи, про которую я
пока никому не расскажу, появилась интересная задачка. Необходимо запретить
пользователю класса создавать не константные объекты. Зачем? Надо. Ради спортивного интереса.
Решений тут есть несколько. Я опишу один из ненормальных,
но теоретически интересных.
суббота, 6 августа 2011 г.
Qt Виджет выбора цвета (ColorPicker)
Виджет выбора цвета, ColorPicker
В процессе написания простого редактора картинок понадобилось написать виджет выбора цвета из палитры. Дизайнер нарисовал вот такую штуку:
Предполагается, что по клику на квадратик должен выбираться соответствующий цвет. Как такое реализовать с точки зрения программиста?
Под катом самое простое и короткое возможное решение.
В процессе написания простого редактора картинок понадобилось написать виджет выбора цвета из палитры. Дизайнер нарисовал вот такую штуку:
Предполагается, что по клику на квадратик должен выбираться соответствующий цвет. Как такое реализовать с точки зрения программиста?
Под катом самое простое и короткое возможное решение.
суббота, 25 июня 2011 г.
Property C++: Upgrade
Как я и думал, публикация идей на хабре – хорошая штука. В комментариях к предыдущей статье я нашёл несколько очень важных замечаний.
Первое, самое очевидное – никак не проверяется вызов init в конструкторе. То есть если программист забыл проинициализировать свойства, то компилятор ничего не скажет, а падение в рантаме в коде класса Property – весьма непонятная для дебага ошибка.
Первое, самое очевидное – никак не проверяется вызов init в конструкторе. То есть если программист забыл проинициализировать свойства, то компилятор ничего не скажет, а падение в рантаме в коде класса Property – весьма непонятная для дебага ошибка.
Property C++
Наверное, все любители языка C++, которые использовали другие языки, такие как C#, удивляются: почему же в плюсах нет property. Ведь это действительно удобное средство, позволяющее полностью контролировать доступ к членам класса. В общем и я недавно заинтересовался данным вопросом. Подумав, полистав Страуструпа и наконец, погуглив, я пришёл к выводу, что property можно реализовать средствами языка. Думаю многие уже видели разнообразные реализации, например, от microsoft, но для кого-то, надеюсь, это будет интересным открытием.
Быстрая сортировка на AS 3.0
У большинства людей на слово «flash» появляется две главные ассоциации:
Предложу, наверное, самый извращённый выход из ситуации – шейдеры.
- Надоедливые баннеры, часто непристойного содержания.
- Меееедленно и тормозит.
Предложу, наверное, самый извращённый выход из ситуации – шейдеры.
Подписаться на:
Сообщения (Atom)