Particles Energy vs Emissions

Hello, I'm a bit new to unity so I apologize in advance if this is basic. I'm creating a particle system to simulate the flash from a machine gun. I simply want to flash one particle very briefly at a regular rate. Additionally I want to control the rate of flash to match the rate of my machine gun. Pretty simple and I have it all setup. What I'm noticing, however, is that when I crank the min and max energy level fairly low (0.01) I have to crank my Min and Max emission level way up to any speed out of it. I was expecting the emission level to not depend on the energy level unless I surpass some max number of particles. But since my energy is so low, I really only want one particle at a time, which I'm getting. The question is more around the particle system as I understand several ways of doing the actual muzzle flash.

Any help would be greatly appreciated.

I wouldn't use a particle system to show a muzzle flash. Instead I'd use a mesh renderer which would have a shape, texture and properly shader applied like particles additive.

Take a look here at the FPS tutorial as it is a powerful tool to beginners.

I took the section where it enables and disables the muzzle flash. Page 13 of tutorial #2:

 function LateUpdate()
    {
    if (muzzleFlash)
    {
            // We shot this frame, enable the muzzle flash
        if (m_LastFrameShot == Time.frameCount)
            {
            muzzleFlash.transform.localRotation =
            Quaternion.AngleAxis(Random.Range(0, 359), Vector3.forward);
            muzzleFlash.enabled = true;
        if (audio)
        {
            if (!audio.isPlaying)
                audio.Play();
            audio.loop = true;
        }
    }
        // We didn't, disable the muzzle flash
        else
        {
            muzzleFlash.enabled = false;
            enabled = false;
            // Play sound
            if (audio)
            {
                audio.loop = false;
            }   
        }
    }

Notice that it controls when the muzzle flash will be rendered by memorizing the frame number of the last shot, then it will show only for one frame and then will be disabled.

I hope that helps.

Energy of 0.01 corresponds to particle life span of 10 ms.

The infamous 25th frame lasted for 40 ms and people claimed not to have seen it. 10 ms would be 4 times as subliminal.

With display refresh rate of, say, 50Hz you only get to see a new picture every 20ms. With sync to vblank turned off your graphics card can render faster then the monitor can display and of each of the frames rendered only a part will be actually visible (some of the particles might end up on those rendered but not shown parts of the frame).

Finally, many of your particles will just die between rendered / shown frames. By increasing the emission you increase the probability that some of the particles will be rendered (will be still alive by the time rendering happens).