Как стать автором
Обновить
88
0
Victor Pavlychko @nullbie

Пользователь

Отправить сообщение

Покадровые анимации и шейдеры в iOS

Время на прочтение 2 мин
Количество просмотров 17K
При разработке 2D игр часто сталкиваешься с покадровыми анимациями, и чем выше их качество, тем больше памяти они потребляют. С такой проблемой мы столкнулись при рендере анимации волос персонажа — художники рисуют пол сотни кадров замечательной графики с кучей мелких деталей и это очень быстро занимает всю доступную память. Собрали, замеряли, получилось 4 текструы по 16 мегабайт каждая. Детализация графики того стоит, но многовато как-то для одной анимации :)

Нужно это все упаковать… Поразмыслили и на помощь пришла старая идея с частичным обновлением картинки — вряд-ли при анимации будет изменянятся вся область. Значит нужно разбить картинку на девять частей, восемь взять из базовой и центральную подменить необходимой модификацией. Примерно так:



Как это реализовать смотрите под катом
Всего голосов 34: ↑30 и ↓4 +26
Комментарии 14

Цена вызовов

Время на прочтение 16 мин
Количество просмотров 3.4K
Бытует мнение, что накладные расходы на вызов методов и организацию процесса выполнения не должны превышать 15% времени выполнения приложения, иначе стоит серьезно задуматься над вопросом рефакторинга приложения и оптимизации его логики. Вооружившись такими мыслями я наткнулся на метод QuickSort из стандартного класса ArraySortHelper<T> использующийся для сортировки массивов в .Net.

Интересным моментом здесь является сравнение элементов — для обеспечения гибкости его вынеслив отдельный класс реализующий интерфейс IComparer<T>. Вооружившись разнообразными мыслями и студией было решено оценить сколько же такая гибкость стоит и что с этим можно было бы сделать — под катом анализ затрат на сравнение элементов во временя работы QuickSort.

Читать дальше →
Всего голосов 61: ↑50 и ↓11 +39
Комментарии 15

Оригинальный баг с iframe и DOM в IE

Время на прочтение 2 мин
Количество просмотров 3.3K
Некоторое время назад обнаружил интересный баг в IE, успешно доживший и до восьмой версии. Суть бага заключается в том, что при уходе со страницы содержащей несколько iframe-ов и последующем возврате при помощи кнопки back, содержимое этих самый фреймов может перемешаться.

UPD: Говорят FF и Opera на этом коде тоже косячат, но по-другому :)
Читать дальше →
Всего голосов 40: ↑38 и ↓2 +36
Комментарии 10

О разворачивании строк в .Net/C# и не только

Время на прочтение 11 мин
Количество просмотров 35K
Давайте поговорим о строках, точнее об их переворачивании средствами .Net/C#. Так уж сложилось, что в стандартной библиотеке соответсвующей функции не наблюдается. И как мне подсказывают, написание функции обращения строки довольно популярный вопрос на собеседованиях при приеме на работу. Давайте посмотрим, как можно эффективно перевернуть строку средствами данной платформы.

Под катом приведен сравнительный анализ быстродействия разных методов переворачивания строки.

Читать дальше →
Всего голосов 91: ↑82 и ↓9 +73
Комментарии 57

Интересные совпадения. Часть третья: тётя Ася приехала :)

Время на прочтение 3 мин
Количество просмотров 5.8K
После прошлого обсуждения интересных находок в Jabber модуле Мобильного Агента, мне сказали о похожей ситуации в ICQ. Ну что же, берем уже установленный инвентарь, качаем дополнительно релиз 1.11 и новую бету 1.16 и читаем.
Собственно читать
Всего голосов 169: ↑155 и ↓14 +141
Комментарии 113

Интересные совпадения. Часть вторая.

Время на прочтение 3 мин
Количество просмотров 8.1K
Прочитав топик о подозрительности реализации протокола Jabber в приложении Mail.ru Агент, а также комментарии Swappp и naum о присутствующих в модуле интересных строках, я решил проверить, что же там внутри.
подробности под катом
Всего голосов 159: ↑140 и ↓19 +121
Комментарии 96

Вычисление значения выражения «на коленке»

Время на прочтение 2 мин
Количество просмотров 9.2K
Тема навеяна недавними постами Компилятор выражений и Вычисление значения выражения. Рассмотрены два подхода — построение семантического дерева выражения для быстрого вычисления и вычисление самого выражения на ходу при помощи двух своих стеков. Я же хочу показать довольно простой способ реализации, по сути алгоритма из первой статьи, но на базе рекурсии. Иногда бывает уместно переложить часть работы со стеком на комплиятор, благо современные ОС дают нам большой стек и возможность разумного использования рекурсии.
Читать дальше →
Всего голосов 12: ↑9 и ↓3 +6
Комментарии 11

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность