Mateusz,
I have used a free FFT plug-in, which seems to have the right idea. The screen is not so large, because it is based on a log-log scale. I will describe it the best I can, making a great many "guesstimates", since I am not at my office this week, nor will I be for some time - I am presently doing design and construction prep for another studio project.
The algorithm gathers the frequencies in groups of approx 1/8 octave, from about 16 Hz to about 24KHz. The window of samples seems to be gathered / averaged over about 200 ms, which seems to be quite fast enough! As the user above suggested, it is not really that accurate, especially at the lower frequencies, but it most certainly helps when you want to see what your equalization settings are doing.
The way the graph is displayed, the scale starts at the bottom of the screen around -60 dB, and goes up to 0 dB at the top. The leftmost and rightmost limits of the screen are lined by the frequency limits described above. The left channel is drawn with a red line, the right channel is overlaid with a blue line.
On this model, the algorithm window and update rates are adjustable, but it tends to lock up when the speed is increased too much - I don't know what "too much" is, really, since this quick algorithm does not give specific numbers. Again, I have made some assumptions.
I am hoping this will give you a rough idea of how some of the underlying principles work. It may be that the information you really need was not even touched by my description. I'm sorry for that. I do not have the code, nor access to it. I do not know what programming language you use, but I suspect the underlying computations can be written fairly easily in C, which should prove to be efficient, and this could be encapsulated by whatever GUI-based shell you develop your software in.