There's a 500k soft limit, and 2000K hard limit to channels (after zip conpression). If it's a core part of the channel, I suggest including it in the package. If it's dynamic in nature, then yes, definitely offload it.
Last I heard not all components allowed remote URLs to be used to define the files, but in that case you can use an roURLTransfer to download it to a file in tmp:/ and reference it there. If it's part of the initial screen, and you still want to remotely reference it, I suggest displating some sort of splash screen while that's happening.