❌

Reading view

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

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

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

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

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

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

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

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

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

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

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