❌

Reading view

Пишем свою мобильную ОС с нуля на Rust. Часть 4: GUI, SQLite и DOOM

Прошёл год с момента выхода первой части. Тогда нам удалось вывести изображение на экран настоящего телефона. Это была проверка того, что идея в принципе реализуема.

Дальше началась системная работа, о которой я писал в предыдущей части. Теперь ОС наращивает userspace-слой. На экран вернулась картинка — уже с окнами, кнопками и приложениями для телефона, Raspberry Pi и QEMU. На телефоне заработал и тачскрин.

Эта часть будет обзорной: посмотрим, как теперь устроены связи между программами, файловая система и поддержка C и C++, запустим SQLite и DOOM. А в конце напишем своё GUI-приложение — калькулятор. В третьей части он выводил результат в UART. В этой сделаем калькулятор с окном и кнопками.

Читать далее
  •  

Как две строки GLSL едва не свели меня с ума

Недавно столкнулся с весьма неприятным багом в движке The Great Tribes.

После обновления драйвера AMD игра начала намертво зависать при перемещении камеры, особенно когда на карте открывалась большая территория. Иногда зависал графический драйвер, иногда JVM падала внутри atio6axx.dll.

Самое интересное — на старом драйвере и других видеокартах всё работало нормально!

Начались поиски. Под подозрение попало практически всё: многопоточность OpenGL, VAO, VBO, индексные буферы, тени, модели юнитов и даже glfwSwapBuffers().

Постепенно удалось выяснить, что зависание вызывает отрисовка поверхности карты. А затем внимание переключилось на фрагментный шейдер.

В нём обнаружилась вот такая конструкция:

Читать далее
  •  

Я делаю браузерную космическую MMO в одиночку: авторитетный сервер, «ленивые» комнаты и мир, который молчал трое суток

Четыре месяца в одиночку пишу космическую MMO во вкладке браузера. Авторитетный сервер на Colyseus, детерминированные орбиты без синка координат, «ленивые» комнаты — и история про баг, из-за которого живой мир молча замолчал на трое суток.

Читать далее
  •  

Почему скорость написания кода не то же самое, что скорость разработки

По аналогии с “финансовым пузырём”, может ли быть пузырь “техдолговый”? Мир изменился. Мы чувствуем это в кодинге, мы чувствуем это в математике - откуда в следующую итерацию повеет запах перемен? Но на самом ли деле AI-разработка такова, какой кажется?

Читать далее
  •  
❌