Hey Andrey,
First, it would be a good starting point to determine the difference between the two options that you are speaking of.
The first option, Trigger Start of Each Buffer List, means that "When the assertion edge of a trigger is received, the buffer list is acquired. If the acquisition is continuous, buffer index 0 always waits on a trigger before acquiring." In summary, you provide the acquisition with a trigger and when that trigger is received, the frame grabber acquires a list of images and stores them into a buffer list. This is like triggering the start of a grab, which is why you are seeing all 25 fps, because it is not triggering each buffer, just the start of the buffer list.
Now the second option, Trigger Each Buffer, means that "Each buffer waits for a trigger before acquiring an image into the buffer." In summary the frame grabber will acquire an image on each trigger edge and store it into one of the buffers that you have set up. The reason that you are seeing only 12 fps might be due to the frequency of your trigger source. Try to increase the frequency of your trigger source, no matter what it may be, and you should see your frame rate increase. Also, maybe try decreasing the size of your image if you don't see any improvement when you increase your trigger frequency.
You can find more information and details on the functions by using the Context Help on the function. Then you can click on the "click here for more help" link, which will take you to the VI Reference Help where you can find more details on all of the options, such as the definition of the options described above.
I hope this helps. Please let me know if you have any questions or concerns. Thanks and have a great day.
Regards,
DJ L.