WPF DataGrid speed hinges on fetch and render. Use async data virtualization to free the UI thread and row recycling to cut visual churn. In .NET 8 with 1,000,000 rows, we saw smooth fast scroll, ~60 FPS, sub-50 ms input, and bounded memory via windowed paging. Turn on virtualization/recycling, fetch off-UI, keep templates light, and verify with ETW/WPA. Smoothness wins.