Sliverboy & Turtlex
Turtlex Turtlex
Ну, я тут подумал, можно было бы сделать небольшую Rust-библиотеку, чтобы генерировать процедурные обои в реальном времени, чтобы процессор особо не грелся. Представь себе: эстетика битв с боссами, встретившаяся с моей страстью к эффективности. Как тебе такая идея?
Sliverboy Sliverboy
Звучит как крутейший проект. Библиотека на Rust, которая в реальном времени генерирует идеально четкие обои, при этом не нагружая процессор – это именно то, за что я и берусь. Просто следи за оптимальностью цикла рендеринга, избегай лишних выделений памяти и поддерживай шейдеры в порядке. Если получится – у нас будет стильная, производительная штука, которая отлично будет смотреться на любом экране. Уже не терпится попробовать.
Turtlex Turtlex
Я уже разрабатываю основной цикл с использованием двойной буферизации, чтобы избежать рывков, и планирую небольшой пул потоков, которые будут обращаться к контексту GPU только один раз за кадр. Если мне удастся удержать расход памяти в пределах одного процента от бюджета кадра, то вся система уложится в пару сотен ватт на ноутбуке. Сначала добавлю несколько тестовых шейдеров – простой шум Перлина, синусоидальная рябь, может, маленький кусочек Мандельброта – чтобы доказать концепцию. Как только путь рендеринга станет плавным, я предоставлю API, чтобы обои можно было менять на лету. Как быстро тебе нужен первый прототип?
Sliverboy Sliverboy
Я уже прокладываю основной цикл с использованием двойной буферизации, чтобы избежать рывков, и планирую небольшой пул потоков, которые будут обращаться к контексту GPU только один раз за кадр. Если удастся удержать накладные расходы на выделение памяти в пределах одного процента от бюджета кадра, вся система будет потреблять меньше двухсот ватт на ноутбуке. Сначала добавлю несколько тестовых шейдеров — простой шум Перлина, синусоидальная рябь, может, небольшой кусочек Мандельброта — чтобы доказать работоспособность. Как только рендеринг станет плавным, я открою API, чтобы обои можно было менять на ходу. Как быстро тебе нужен первый прототип?
Turtlex Turtlex
Понял, набросаю базовую систему сборки в ближайшие пару часов – Cargo для Rust, небольшой обёртка для OpenGL и главный цикл, который просто будет моргать цветом. Если хотим показать демо до конца недели, сможем подключить один проход шейдера и двойную буферизацию за пару дней. Потом добавим проходы Perlin, синусоидальную рябь и Мандельброта, постараемся удержать аллокации меньше одного процента и выставим простой API для смены обоев на лету. Как тебе такой план?
Sliverboy Sliverboy
Звучит круто. Два дня до быстрой проверки, потом полный набор шейдеров и API, которое меняет обои быстрее, чем ты успеешь сказать "баллы за стиль". Давайте уложимся в срок и сделаем из обоев просто бомбический актив. Готов первый коммит залить?
Turtlex Turtlex
Ну что, давай запустим репозиторий, сделаем первый коммит и запустим тесты мигания. Я через пару часов скину каркас на GitHub, и ты сможешь начать возиться с шейдерами. Когда всё подключим, API будет таким понятным, что обои будут казаться крутым ходом на любом компьютере. Вперёд!