For Mortar Melon I learnt a few things along the way.
One of the biggest things I found is that when you employ depth of field, out-of-focus imagery can be upscaled at no real visible loss of quality. This can save a lot of video memory and improve performance, but it leaves you in a difficult position as to whether use tiled backgrounds or upscaled sprites (as tiled backgrounds can't be scaled).
I found that the more out of focus an image was, the more it made sense to not use a tiled background. However, when I got closer to the in-focus layers, then tiled backgrounds were more effective resource-wise.
Hopefully this breakdown should illustrate my point.
This is the complete layout for one of my desert levels:
<img src="http://i.imgur.com/gBwo9D3.jpg" border="0" />
Here is my foreground layer. Whilst these sprites are some of the biggest on the screen, they're also the most out of focus and hence upscaled from smaller sprites without much deterioration in quality. The trunks that frame the image are tiled backgrounds because they extend dynamically to fit either very long or tall levels.
<img src="http://i.imgur.com/pnWyRwe.jpg" border="0" />
This layer has one of the biggest sprites and because it's fully in-focus I couldn't scale up without a loss of quality, so it made sense to make it a tiled background. Normally I'd bake the pot into the tiled sprite but as it sometimes overlapped things awkwardly, I made it a separate sprite.
<img src="http://i.imgur.com/ZMgJPTC.jpg" border="0" />
Whilst the playground layer is typically made up of individual sprites, I created a separate wood tiled background so that I wasn't using hundreds of individual sprites to construct complex scaffolding. After implementing this optimisation I was often able to half my onscreen sprite count. This only works with non-physics objects (you can see the physics wood has a red tint).
<img src="http://i.imgur.com/552n9fa.jpg" border="0" />
This layer uses a simple tiled background for the sand, and as the tree is out of focus it's scaled up.
<img src="http://i.imgur.com/2SILeeU.jpg" border="0" />
This is quite a large tiled image, but a lot of it becomes exposed on taller levels so was necessary. This would probably be better off as an upscaled sprite in hind-sight.
<img src="http://i.imgur.com/HGNMXY3.jpg" border="0" />
As the parallax decreases over distance it made sense to upscale this as a sprite rather than use a tiled background. It's a seamless sprite so you can still paste it next to itself and it will tile for longer levels.
<img src="http://i.imgur.com/CcrZ0F2.jpg" border="0" />
Normally you could get away with a single upscaled sprite for the background here, but as I'm using my own scaling solution, the area above could become visible on narrow resolutions. I solved the problem by fading the background sprite into a dynamically sized tiled background.
<img src="http://i.imgur.com/lpwnLWK.jpg" border="0" />
Final ingame shot:
<img src="http://i.imgur.com/0aO0Zou.jpg" border="0" />