Please try to write down the logs so we can see where jsreport spends the most of the time. In .net client it would be something like
var invoiceReport = await rs.RenderAsync(new RenderRequest() { Template = new Template() { Name = "Invoice" }, Data = InvoiceData, Options = new RenderOptions() { Debug = new DebugOptions() { LogsToResponse = true } } }); using (var fileStream = File.OpenWrite("logs.txt")) { invoiceReport.Content.CopyTo(fileStream); }Or try to create demo in playground.
Quite likely the report rendering spends the most of the time in chrome and there is not much to do. However perhaps there is something else you could do...