Thanx for videos about Deneb. Fantastic tool. I've been using Vega-Lite in most of my PBI reports. In certain cases it tends to load slow at start when initializing report. In your experience: Is using Vega faster for initialization of visuals. Since the language works in lower level I would expect that. Do you have any timings for similar visuals?
Glad to hear you like Deneb - thanks very much! The overheads of 'compiling' Vega-Lite to Vega are not that significant. It would be unlikely that you would see more than a few milliseconds of difference here. If you're only observing latency when the report is initializing, this is most likely due to the overhead of Power BI loading the visual. Due to how they are included in reports and sandboxed from the main window, custom visuals are loaded after the canvas renders. There are also periodic checks by Power BI for AppSource visuals to ensure that they are up to date (typically when the report is loaded). Deneb can see performance issues if you use a *lot* of data in your visual (particularly if each row has one or more marks associated with it), but this is more of an issue with DAX and the fact that it's designed for aggregation rather than high-cardinality data. This is often why core visuals have such strict limits on how many data points that can query before they are limited. With Deneb, you may need to balance these risks. There are some mitigations here, such as swapping the renderer from SVG to Canvas, but this doesn't mitigate the overheads of the DAX query (which Deneb has no control over). There's a page on Deneb's site called 'Performance Considerations' that documents everything I currently know about how to approach - I would post the link, but YT already deleted my comment once due to there being links in it (and as you can see this is becoming quite a large comment to type out again). There are some performance improvements being worked on for v2, but as we can't do anything about these architectural constraints in Power BI, there will still be some latency upon initialization that we won't be able to do too much about. If you're read the above and believe that you still have a legitimate performance issue, please feel free to create an issue in Deneb's GitHub repository with supporting material, and I can hopefully reproduce and resolve (or offer some advice if not possible to resolve).
Will the upcoming (proposed) changes to Power BI Visuals negate the need for Deneb entirely? Or will Deneb continue to be required if one is to create true custom visuals? In other words, will it still be worthwhile putting in the effort to master Deneb?
Daniel is working with Miguel and myself too. Even with the changes there will still be a need for Deneb. You'd never be able to do anything nearly this unique with native visuals :)
Indeed. Hopefully there will be less reliance on Deneb in future for cases where you want to do more with a particular core visual. There will still be a place for it if folks want to build truly bespoke visuals without programming a custom visual from scratch. I'm very much invested in planning and delivering v2 of Deneb, which should provide more functionality for those who need it.
Trying Deneb for a week now . Absolutely loving it .. Exploring it for a crazy visual that my org needs ..
Happy you're loving it! Thanks for sharing.
Yes, we want more videos like this about Deneb. Thanks Reid and Daniel!
Thanks for the feedback and you're very welcome!
Thanx for videos about Deneb. Fantastic tool.
I've been using Vega-Lite in most of my PBI reports. In certain cases it tends to load slow at start when initializing report.
In your experience: Is using Vega faster for initialization of visuals. Since the language works in lower level I would expect that. Do you have any timings for similar visuals?
Glad to hear you like Deneb - thanks very much!
The overheads of 'compiling' Vega-Lite to Vega are not that significant. It would be unlikely that you would see more than a few milliseconds of difference here.
If you're only observing latency when the report is initializing, this is most likely due to the overhead of Power BI loading the visual. Due to how they are included in reports and sandboxed from the main window, custom visuals are loaded after the canvas renders. There are also periodic checks by Power BI for AppSource visuals to ensure that they are up to date (typically when the report is loaded).
Deneb can see performance issues if you use a *lot* of data in your visual (particularly if each row has one or more marks associated with it), but this is more of an issue with DAX and the fact that it's designed for aggregation rather than high-cardinality data. This is often why core visuals have such strict limits on how many data points that can query before they are limited.
With Deneb, you may need to balance these risks. There are some mitigations here, such as swapping the renderer from SVG to Canvas, but this doesn't mitigate the overheads of the DAX query (which Deneb has no control over). There's a page on Deneb's site called 'Performance Considerations' that documents everything I currently know about how to approach - I would post the link, but YT already deleted my comment once due to there being links in it (and as you can see this is becoming quite a large comment to type out again).
There are some performance improvements being worked on for v2, but as we can't do anything about these architectural constraints in Power BI, there will still be some latency upon initialization that we won't be able to do too much about.
If you're read the above and believe that you still have a legitimate performance issue, please feel free to create an issue in Deneb's GitHub repository with supporting material, and I can hopefully reproduce and resolve (or offer some advice if not possible to resolve).
Will the upcoming (proposed) changes to Power BI Visuals negate the need for Deneb entirely? Or will Deneb continue to be required if one is to create true custom visuals?
In other words, will it still be worthwhile putting in the effort to master Deneb?
Daniel is working with Miguel and myself too. Even with the changes there will still be a need for Deneb. You'd never be able to do anything nearly this unique with native visuals :)
Steve, thank you for making this important question, and thank you Reid for answering it.
Indeed. Hopefully there will be less reliance on Deneb in future for cases where you want to do more with a particular core visual. There will still be a place for it if folks want to build truly bespoke visuals without programming a custom visual from scratch. I'm very much invested in planning and delivering v2 of Deneb, which should provide more functionality for those who need it.