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