Как оптимизировать загрузку большого background-image у body?
чтобы сайт работал только после загрузки данной подложки
Включаем Л-логику:
Если изображение большое и нужно обязательно дождаться его полной загрузки, то пока не загрузится это изображение, ничего не будет доступно.
Если канал связи плохой, то пользователь будет очень долго ждать загрузки.

Поэтому никто в здравом уме так не делает.

Можно подгружать тяжеловесное говно в фоне, но при этом дать возможность юзеру пользоваться приложением/сайтом.

Но, в целом, тащить тяжёлый фон - отвратительно

Оптимизировать данное изображение.
Изменить формат, что собственно входит в первый пункт.
Обрезать и добавлять этот фон для каждого блока, чтобы он грузился по мере загрузки контента.
Сделать прелоадер, чтобы он ждал пока загрузиться.
Или вовсе не использовать такой фон.
