Power BI Desktop is a fantastic tool for creating interactive data reports and dashboards. But many report developers struggle with performance issues like slow refreshes, unresponsive visuals, and long wait times. Most times, these problems happen not because your machine is slow or lacks RAM, but because the data model and queries are not optimized.
In this blog, I will explain some practical tips and configurations to keep your Power BI Desktop fast and responsive. Also, I will address a common problem we see , why connecting Power BI to Starburst causes slower performance compared to connecting to a BI Warehouse (BIW), and what you can do about it.
Understanding Power BI’s Core: In-Memory Engine and Data Volume
Power BI loads your entire data model into memory (RAM) for super-fast calculations and visuals. So, if your machine has 8GB or 16GB RAM, Power BI will try to use it all. But more RAM alone will not solve slow reports if the model is bloated or unfiltered.
Especially in DirectQuery mode, every click sends a query to the backend data source. If the source or the query is slow, your report feels sluggish.
The VertiPaq Engine: The Heart of Power BI’s Speed
Power BI’s performance largely depends on the VertiPaq engine, a highly optimized in-memory columnar storage engine.
How VertiPaq Works
VertiPaq compresses your data and stores it in columns rather than rows. This columnar format allows Power BI to scan only the relevant columns needed for a query, reducing memory use and speeding up calculations.
Compression
VertiPaq uses advanced compression techniques. But it works best when the data is clean, with low cardinality (fewer unique values) and properly typed columns. High-cardinality columns or wide tables make compression harder and increase memory use.
Memory Management
Since Power BI loads the entire compressed model into RAM, the size and efficiency of the VertiPaq model directly affect how responsive your reports feel. A lean, well-designed model means faster refreshes and visuals, even on machines with moderate RAM.
Why Model Optimization Matters
More RAM does help but only to a point. If your model has too many unnecessary columns, high-cardinality fields, or lacks a proper star schema, VertiPaq has to work harder. The result is slower performance, longer refresh times, and laggy visuals.
Understanding how VertiPaq works makes it clear why the data model design and query efficiency matter so much.
Want to Dive Deeper into the VertiPaq Engine?
If you're curious to really understand how VertiPaq works under the hood — compression techniques, storage structures, cardinality handling, and optimization tricks here are some of my go-to resources. These blogs and videos have been incredibly helpful for me and continue to shape how I approach model design in Power BI.
Highly Recommended Reads VertiPaq – “Brain & Muscles” behind Power BI
Practical Ways to Optimize Power BI Desktop
Keep Your Data Model Lean
Remove unused columns.
Avoid high-cardinality fields like GUIDs or detailed timestamps.
Use correct data types, such as whole numbers instead of decimals, Booleans instead of text.
Follow the Star Schema Model
Separate Fact and Dimension tables for better compression and query logic.
Avoid flat wide tables and snowflake joins.
Build clean one-to-many relationships using surrogate keys.
Use Measures Instead of Calculated Columns
Measures calculate on demand and are more efficient.
Calculated columns increase model size unnecessarily.
Use Variables in DAX for Efficiency
Avoid repeating logic by using VAR inside your DAX formulas.
It improves performance and keeps your code readable.
Limit the Number of Visuals
Each visual sends a query to the model or source.
Reduce visual overload and combine KPIs smartly.
Turn Off Auto Date/Time
Power BI creates hidden date tables by default.
Turn it off from: File > Options > Data Load > Time Intelligence > Auto Date/Time
Use Query Folding in Power Query
Push data transformations to the source system as much as possible.
Use “View Native Query” to check if folding works.
Avoid steps that break folding such as heavy custom columns.
Use Performance Tools to Profile
Use Performance Analyzer to track visual response time.
DAX Studio and VertiPaq Analyzer help check memory usage and column sizes.
Important Configurations to Avoid Refresh and Data Pull Issues
Many developers try to pull all data rows into Power BI, which causes slow refresh and memory overload. Here is what you can do:
Avoid Importing All Data by Default
Use filters in Power Query to bring only what is needed.
Example: Load data only for current quarter or a selected region.
Use Incremental Refresh for Large Tables
Refresh only new or updated rows instead of entire tables.
Saves time and avoids unnecessary load.
Manage Data Refresh Settings
Disable refresh on file open for heavy datasets.
Disable load for queries used only for transformations or lookups.
Is Starburst Really Slower Than a BI Warehouse?
Many report developers notice slower performance when connecting Power BI to Starburst compared to a dedicated BI Warehouse (BIW). However, the idea that Starburst is inherently slow or cannot handle BI workloads is a myth. The real reasons lie in how data is modeled and accessed.
Starburst’s Query Engine
Starburst is a powerful distributed SQL query engine, designed to access data lakes and federated data sources. It can handle complex queries well if used correctly.
Please watch the videos below to gain a better understanding of what Starburst is capable of:
Data Model and Pre-Aggregation
In BI Warehouse setups, pre-aggregated models and star schemas are already in place. These structures are built for analytics and help queries run fast.
In contrast, if your data in Starburst is not pre-aggregated or lacks proper dimensional modeling, your report performance will suffer.
Lack of Effective Query Folding
Power BI depends on query folding to reduce data load. Some transformations in Power Query may not fold properly when using Starburst, which means more data gets pulled into Power BI and slows things down.
BI Warehouse Advantages
BIW systems come with indexing, partitioning, and schema designs that are meant for BI tools. These give faster results for the same query.
What You Can Do
Apply filters early in Power Query to limit the data volume.
Avoid too many visuals and complex relationships when using Starburst.
Check if your data product on Starburst is designed with a star schema and necessary aggregations.
Use BI Warehouse for heavy reports that require quick turnaround and large dataset slicing.
Final Thoughts
Buying more RAM or a faster laptop will help to some extent, but it cannot fix a poorly designed Power BI report. To get smooth and fast performance, you need to:
Keep your data model optimized.
Use star schema structure.
Leverage measures and proper DAX practices.
Avoid bloated models and unnecessary transformations.
Design your backend (Starburst or BIW) with performance in mind.
Understanding how the VertiPaq engine works gives you the clarity to build models that are lean, scalable, and high performing. Whether you're using Starburst or a BI Warehouse, the goal is the same: design your data for analytics, not just for storage.