This always depends on your template.
You can see a very complex report like the following performs quite well with 1.5s for the page on very low HW.
https://playground.jsreport.net/w/admin/dI2_fUqZ
I would recommend you to remove styles, charts, images, tables step by step and always measure rendering time change.
This way you can find out what element or style takes the most of the time to render.
Then you can try to do the particular visualization differently.
You can also try to share it with us in the playground and we will take a look if there is something you can do.
However please try the first the previous recommendation, because we would start with the same anyway.