• Как ускорить эмулятор Android на 400%

    • Перевод
    Последние несколько месяцев я работал над SDK для Android, входящим в платформу управления контентом Nuxeo. Особенно много работы было в последнее время, с приближением официального релиза SDK. Я хочу поделиться несколькими практическими советами по поводу разработки под Android, в частности тестирования и эмуляции. Уже после нескольких дней разработки я понял, что работа с эмулятором Android — не сахар, потому что он чудовищно медленный.

    Начнём с того что он медленно запускается, но даже если использовать для ускорения запуска снапшот состояния, выполнение кода все равно происходит медленно, особенно в режиме отладки.

    Тонкая настройка параметров Qemu не слишком помогла — скорость работы эмулятора осталась медленной, возможно именно поэтому большинство разработчиков предпочитает использовать реальные устройства, подключенные по USB.

    В любом случае, мне хотелось найти решение, потому что я хотел показывать результат работы приложения на проекторе и не хотел чтобы демонстрируемое приложение тормозило.
    Читать дальше →
  • Синхронные движки RTS и история рассинхронизаций

    • Перевод
    Случалось ли Вам играть в игру вроде StarCraft или Supreme Commander и получать сообщение об ошибке вроде “Обнаружена рассинхронизация”, за которым следует закрытие игры? Хотите узнать отчего так происходит? Это наследие архитектуры игрового движка, часто используемой стратегиями в реальном времени.1

    Мой опыт в этой области происходит из работы с движком Supreme Commander в студии Gas Powered Games. В период бета тестирования в Starcraft и Warcraft 3 тоже были проблемы с синхронизацией, так что можно сказать что в целом они работают так же. Для простоты я буду говорить именно о движке Supreme Commander. Нахождение сходства с другими играми оставлю как упражнение для читателя :)
    Читать дальше →
  • История противостояния OpenGL и Direct3D

    • Перевод
    Перед тем как мы начнём, скажу: я знаю об OpenGL гораздо больше чем о Direct3D. Я в жизни не написал ни одной строки кода для D3D, и я писал руководства по OpenGL. Так что то что я тут расскажу, не вопрос предвзятости. Теперь это просто история.

    Зарождение конфликта
  • Рекурсивный zip-архив

    • Перевод
    Многие хабрапользователи наверняка знакомы с квайнами — программами, выводящими собственный исходный код. Сегодня я хочу показать как сделать интересный вариант квайна — ZIP-архив, который распаковывается сам в себя.

    Читать дальше →
  • Книга о мухах за $23,698,655.93

    • Перевод
    Несколько недель назад один доктор из моей лаборатории зашёл на Амазон чтобы купить копию книги Питера Лоуренса The Making of a Fly — классический труд по биологии развития, с которым мы — и другие биологи, работающие с дрозофилами — сверяемся регулярно. Книга, вышедшая в 1992 году, уже не переиздаётся. Но на Амазоне было в продаже 17 копий: 15 использованных от $35.54 и две новых, от $1,730,045.91 (+$3.99 за доставку).
    Полтора миллиона долларов за книгу о мухах?
  • Чердак Chrome — взгляд на исходный код

    • Перевод

    В песочнице



    С момента релиза, прошедшего несколько недель назад, любопытные разработчики изучали исходный код нового браузера от Google. Исходники Хрома интересны по многим причинам: тут и новая JavaScript-машина V8 с хорошим приростом производительности в некоторых задачах, движок WebKit, обрабатывающий и показывающий web-страницы, и наконец «песочница», изолирующая компоненты в Chrome друг от друга. Именно эта система привлекла внимание многих программистов, по простой причине. При чтении исходников создается впечатление что Google декомпилировали (reverse-engineered) компоненты Windows — а это запрещено лицензионным соглашением.

    Не может быть!