As Michael Coupet points out, the bug here is that the default background is drawn at all. It's only because another size_allocate signal is received for the background that the user-configured gsettings background is drawn. Here's a clip from the attached greeter log which shows a span of 0.25 seconds between the MainWindow being shown and the correct, user-specified background being drawn (note the "Regenerating backgrounds" message):
[+1.03s] DEBUG: unity-greeter.vala:350: Showing main window
[+1.03s] DEBUG: New style for time label
[+1.03s] DEBUG: Evaluating bitmask for '%l:%M %p'
[+1.03s] DEBUG: Checking against 2 possible times
[+1.03s] DEBUG: Guessing max time width: 62
[+1.04s] DEBUG: background.vala:315: Regenerating backgrounds
[+1.04s] DEBUG: background.vala:67: Making background /usr/share/backgrounds/Winter_Morning_by_Shannon_Lucas.jpg at 1280x1024,1680x1050
[+1.04s] DEBUG: New style for time label
[+1.04s] DEBUG: Evaluating bitmask for '%l:%M %p'
[+1.04s] DEBUG: Checking against 2 possible times
[+1.04s] DEBUG: Guessing max time width: 62
[+1.05s] DEBUG: unity-greeter.vala:891: Starting main loop
[+1.05s] DEBUG: Read 8 bytes from daemon
[+1.05s] DEBUG: Read 26 bytes from daemon
[+1.05s] DEBUG: Prompt user with 1 message(s)
[+1.08s] DEBUG: unity-greeter.vala:310: starting system-ready sound
.....
[+1.29s] DEBUG: background.vala:116: Render of background /usr/share/backgrounds/Winter_Morning_by_Shannon_Lucas.jpg complete
As Michael Coupet points out, the bug here is that the default background is drawn at all. It's only because another size_allocate signal is received for the background that the user-configured gsettings background is drawn. Here's a clip from the attached greeter log which shows a span of 0.25 seconds between the MainWindow being shown and the correct, user-specified background being drawn (note the "Regenerating backgrounds" message): vala:350: Showing main window vala:315: Regenerating backgrounds backgrounds/ Winter_ Morning_ by_Shannon_ Lucas.jpg at 1280x1024,1680x1050 vala:891: Starting main loop vala:310: starting system-ready sound
[+1.03s] DEBUG: unity-greeter.
[+1.03s] DEBUG: New style for time label
[+1.03s] DEBUG: Evaluating bitmask for '%l:%M %p'
[+1.03s] DEBUG: Checking against 2 possible times
[+1.03s] DEBUG: Guessing max time width: 62
[+1.04s] DEBUG: background.
[+1.04s] DEBUG: background.vala:67: Making background /usr/share/
[+1.04s] DEBUG: New style for time label
[+1.04s] DEBUG: Evaluating bitmask for '%l:%M %p'
[+1.04s] DEBUG: Checking against 2 possible times
[+1.04s] DEBUG: Guessing max time width: 62
[+1.05s] DEBUG: unity-greeter.
[+1.05s] DEBUG: Read 8 bytes from daemon
[+1.05s] DEBUG: Read 26 bytes from daemon
[+1.05s] DEBUG: Prompt user with 1 message(s)
[+1.08s] DEBUG: unity-greeter.
.....
[+1.29s] DEBUG: background. vala:116: Render of background /usr/share/ backgrounds/ Winter_ Morning_ by_Shannon_ Lucas.jpg complete