Is there any known limitation in frame history length?
Closed this issue · 3 comments
I increased MICROPROFILE_MAX_FRAME_HISTORY to 50000 to be able to create longer recordings (few minutes).
- When I try to capture 1000 frames using http://127.0.0.1:1338/1000 it loads fine and I am able to save such recording. It is then approximately 155MB large.
- When I try to capture 2000 frames it also loads fine however Chrome fails when I am trying to save it
- When I try to capture 5000 frames the page is not even loaded
I even tried using MICROPROFILE_MINIZ and there was no visible effect. Is there any known limitation in frame history length or capture size?
In the microprofile code there shouldn't be any limitation, other than the fact that it will use more memory to store information about the frames and where the logs start.
You should be aware that ones chrome goes above a certain pagesize (32mb), it will redownload the capture when you click save as.. this is pretty catastrophic, as it will generate a new capture.
if you make sure this line is compiled:
Line 5996 in 23856bf
it will print the actual bytes that is sent(which is what chrome uses to decide whether to cache the page).
Other than that, it could be likely that you run out of ring buffer: Try and make MICROPROFILE_PER_THREAD_BUFFER_SIZE very large and try to put fever markers in per frame.
If it still fails, then its definitely a problem on my end :)
Doing a short test in demo_noui, changing these defaults:
#define MICROPROFILE_PER_THREAD_BUFFER_SIZE (2048<<13)
#define MICROPROFILE_MAX_FRAME_HISTORY 16000
and changing the usleep in demo_noui.cpp to:
usleep(1000);
then I capture 10k frames with ~42mb, without miniz. using miniz should bring it below 32.
My guess right now is simply you have too much data, and chrome ends up choking on it.
Thank you for the responses. For now I won't be using long recordings.