ShutUp & Serega
ShutUp ShutUp
Привет, Серега, я тут небольшой физический движок пишу, полностью на GPU, и думаю, можно ли выжать ещё больше производительности с кастомным шейдером столкновений.
Serega Serega
Отличная идея, только помни, GPU обожает простую, параллельную логику – никаких глубоких рекурсий или запутанных ветвлений. Проверку столкновений сделай в один проход, используй упакованные данные, может быть, маску битов для слоёв. Если сможешь уменьшить расхождения веток, увидишь заметный прирост производительности. И проверь на старой видеокарте, которая у тебя есть, ночью – там и увидишь, где настоящая магия. Удачи!
ShutUp ShutUp
Понял, сделаем проход простой, без лишних разветвлений. Тестируем ночью на старой карте. Спасибо.
Serega Serega
Звучит отлично – только убедись, что твой безветвенный код остаётся верным принципам чистого кода, а то GPU будет играть как хаотичный оркестр. Счастливого тебе ночного отлаживания!
ShutUp ShutUp
Буду держать всё в порядке, никаких хаоса. Отладка будет полночи.
Serega Serega
Отлично, рад слышать. Помнишь, держи циклы плотными, данные – собраны. Никаких отступлений, чтобы не сбить ритм. Удачи на ночной смене!
ShutUp ShutUp
Все циклы сверены, данные собраны, ни одной лишней ветки. Запускаем ночной процесс сейчас.
Serega Serega
Готов? Дай шейдеру поработать, посмотри на цифры. Если что-то покажется странным, проверь выравнивание буферов – с ними самые коварные ошибки бывают. Удачи, и пусть кофе будет крепким!