In Blender is possible to take a certain frame of smoke simulation and use as a initial simulation frame, in Maya it was possible but seems in Blender I can not find a good solution, for example I want to add smoke effect on a motion-tracked car, and in frame 50 i want the smoke begin with that frame.
I found the solution, This works nicely, first you should bake all dynamics to external file, just check "External" in Smoke Cache section of Domain fluid and use folder you want to cache, then you see name of cache by numbers, for example "_000001_00.bphys" and "_000002_00.bphys" and so on, remove all frames until 50 and use frame rename frame 50 to "_000001_00.bphys", this will instantly update in viewport of blender and you see frame 1 or 0 is using frame 50 simulation, but you must offset all the name of frames regard to that frame, 50->01, 51->02 and so on.
UPDATE: another solution for using in conjuction with motion track is to move all the motion track data/keyframes +50 frames, as this post suggested,
UPDATE 2: Also just use frame 50 as initial frame, and remove all frames include after ones cause blender start simulate from initial frame, so no need to rename all other frames of caches, just re play again and blender will automatically cache data (do not free the cache).
The start frame of the smoke simulation can be set in the smoke domain's smoke cache:
Note that it is required to save the .blend file first, otherwise the settings will be disabled.
See also Baking Smoke Simulations
I post my solution here, because i have some issues with fire rendering even in 2022. You can start your fire earlier. Like from frame 0, but till frame 49 the domain can be set to be not rendered. Than from frame 50 you set key frame on domain view port to be set on rendered. Hope this helps.