это очень интересно, что там спрятано внутри
тяжела доля моя консультантская
Continue reading ‘это очень интересно, что там спрятано внутри’ »
the place where select game development veterans rant about life, universe, and everything
Archive for the ‘performance’ Category.
тяжела доля моя консультантская
Continue reading ‘это очень интересно, что там спрятано внутри’ »
Определение: коэффициент пидорастичности текстуры (или любого другого файла):
размер текстуры в байтах, делённый на степень сжатия в zip.
напр. если файл в 800 байт сжимается до 400, то его коэффициент равен 800/(400/800) = 1600
Скрипт для нахождения самых пидорских текстур (напр. одноцветного голубого неба 2048×2048 в RGBA формате):
Continue reading ‘Коэффициент пидорастичности файла.’ »
Несколько интересных соображений, навеянных публикациями по dual-pivot quicksort.
Оценки сложности программ – это все замечательно, это все, безусловно, необходимо знать, необходимо уметь оценивать эти параметры в задачах, и на вопросах про сложности сортировок сыпется огромное количество собеседующихся. Но если на минутку отвлечься от теоретических изысканий, то в рамках нашей прикладной приземленной обыденности можно найти множество интереснейших примеров того, как различные алгоритмы имеют абсолютно несравнимые сложности, константные (и не очень) коэффициенты “О большого” и побочные эффекты.
Эффектов масса. Это может быть и изменение ассемблерного кода, и избавление от лишних аллокаций, и оптимизация доступа к данным, и многое многое другое. Вот на закуску – несколько замеров скорости вычисления старой доброй пузырьковой сортировки.
Во время очередного витка оптимизации на Xbox360, захотелось очень дешевых по производительности батчей – т.к. батчей в кадре было достаточно много, а CPU времени они кушали еще больше, при тысяче батчей в кадре тратилось 20-25 ms на установку констант и вызов DP. CPU лимит в 40-50 FPS явно не устраивал.
Как потом выяснилось часть оверхеда была от использования D3D Effects в качестве шейдерной системы. Большое количество Load Hit Store и двойное копирование всех констант, были одной из проблем…
Не поверите, мой маленький доклад про GPGPU на маленькой уютной майкрософтовской тусовке (спасибо Саша!) решили выложить на Channel9 (спасибо мужикам из MS Russia!).
Я человек приземленный и в основном на пальцах рассуждаю за железо, CUDA и как примерно оно внутри работает. Попеарьте меня, чтоле!
Часть 1 (сам доклад) – http://channel9.msdn.com/posts/mikcher/GPU-Algorithms-Part1/
Часть 2 (вопросы) – http://channel9.msdn.com/posts/mikcher/GPU-Algoritms-Part2/
В будущем выложат еще одну часть, где содокладчик Миша Горбунов будет показывать одну из демок на CUDA.
Как всегда, необходимый disclaimer: Доклад случился около полугода назад, поэтому некоторых новейших тенденций может не отражать, и, разумеется, является исключительно моим личным мнением, а никак не позицией корпорации.
Эта история не является большим секретом, я её озвучивал в своё время на канале #ff и на GDP, но за истечением срока давности (10 лет) за сделанное мною математическое преступление хочется покаяться перед всем читающим меня сообществом и раскрыть страшную правду об одном алгоритме. Речь сегодня пойдет о вещественной арифметике в самом худшем её проявлении – двоичном.
Continue reading ‘Рецепты отладки. Позор для математика.’ »
В развитие рассказа CEMEH про страшный олдскульный WIC хочу рассказать историю, которая смогла успешно разрешиться только благодаря точу, что традиционные методы отладки были совмещены с хорошим пониманием принципов работы целевой платформы, роль которой успешно исполнил интеловский процессор, работающий в защищенном режиме под управлением операционной системы MS Windows.
В самом начале XXI века, во времена разработки “Недетских Гонок”, было зафиксировано странное падение, которое долго не удавалось исправить. Падение проявлялось только в Release конфигурации, проявлялось крайне редко, и, как тогда казалось, было просто на ровном месте.
Continue reading ‘Рецепты отладки. Падение на ровном месте.’ »
Началось все вот с этого детского вопроса:
http://www.gamedev.ru/code/forum/?id=81986
>Всем привет!!! Существует ли формула, по которой из матрицы можно убрать масштабирование, не зная коэффициентов масштабирования???
Игры под PC. Спайки, лаги, подтормаживания. В контракте описаны, спорить сложно.
Но что делать если НЕ БЫЛО НИ ЕДИНОГО РАЗРЫВА? Continue reading ‘ИГРА БЕЗ РАЗРЫВОВ’ »
Время временно кончилось. Но скоро начнётся снова. А пока чтиво.
https://www.cs.tcd.ie/publications/tech-reports/reports.06/TCD-CS-2006-46.pdf – теория
http://isg.cs.tcd.ie/projects/DualQuaternions/ – практика
Масса плюсов, свои минусы. По мне так без произвольного масштабирования вполне можно жить. Зато тренд; так можно, так модно. В резюме написать, сразу после сферических гармоник. Опять-же полезно для общего развития – можно, по ходу дела, в обычных кватернионах начать разбираться.