{"id":23060961,"url":"https://github.com/syncfusionexamples/dot_net_maui_chart_performance_analysis","last_synced_at":"2026-06-28T18:31:45.387Z","repository":{"id":234201422,"uuid":"788305793","full_name":"SyncfusionExamples/dot_net_MAUI_Chart_Performance_Analysis","owner":"SyncfusionExamples","description":"This project validate the performance metrics of .NET MAUI SfCartesianChart.","archived":false,"fork":false,"pushed_at":"2025-11-28T13:21:26.000Z","size":332,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-11-29T07:07:56.669Z","etag":null,"topics":["chart-loading-time","chart-performance","charting-library","charts","data-visualization","maui-charts","performance-analysis"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SyncfusionExamples.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-04-18T06:55:23.000Z","updated_at":"2025-11-28T13:21:30.000Z","dependencies_parsed_at":"2024-04-18T13:31:29.438Z","dependency_job_id":"a65e4e8d-f46f-47fc-8da3-3913f02f2a17","html_url":"https://github.com/SyncfusionExamples/dot_net_MAUI_Chart_Performance_Analysis","commit_stats":null,"previous_names":["syncfusionexamples/dot_net_maui_chart_performance_analysis"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/SyncfusionExamples/dot_net_MAUI_Chart_Performance_Analysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyncfusionExamples%2Fdot_net_MAUI_Chart_Performance_Analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyncfusionExamples%2Fdot_net_MAUI_Chart_Performance_Analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyncfusionExamples%2Fdot_net_MAUI_Chart_Performance_Analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyncfusionExamples%2Fdot_net_MAUI_Chart_Performance_Analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SyncfusionExamples","download_url":"https://codeload.github.com/SyncfusionExamples/dot_net_MAUI_Chart_Performance_Analysis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SyncfusionExamples%2Fdot_net_MAUI_Chart_Performance_Analysis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34900367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-28T02:00:05.809Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chart-loading-time","chart-performance","charting-library","charts","data-visualization","maui-charts","performance-analysis"],"created_at":"2024-12-16T03:15:48.094Z","updated_at":"2026-06-28T18:31:45.374Z","avatar_url":"https://github.com/SyncfusionExamples.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Performance metrics sample for Syncfusion .NET MAUI charts\nThis repository provides a quick-start example to analyze the loading performance of Syncfusion .NET MAUI charts. It includes three buttons to generate and load different amounts of data: 10K, 50K, and 100K, respectively. Upon generating the data, a timer starts and records the elapsed time once the series is rendered. Here utilized the FastLineSeries of SfCartesianChart. This example allows you to understand the time taken to load varying amounts of data in .NET MAUI charts.\n\n## Steps to Run the Demo\n**Step 1**: Clone or download the `dot_net_MAUI_Chart_Performance_Analysis` repository. \n\n**Step 2**: Open the solution in your preferred IDE. \n\n**Step 3**: Build and run the project. \n\n**Step 4**: Click on the buttons (Load 10K Data, Load 50K Data, Load 100K Data) to generate data. \n\u003e Each button calls the LoadData method of the `DataGenerator` class, which builds a collection of Model objects (XValue, YValue). Values are randomized around a starting point to mimic realistic chart data. Based on the button clicked, [LoadData](https://github.com/SyncfusionExamples/dot_net_MAUI_Chart_Performance_Analysis/blob/3d3619a16c42dc8c914be5778050f793af9c5025/PerformanceMetrics/DataGenerator.cs#L71C9-L71C63) method generates `10000`, `50000`, or `100000` points, then binds them to the chart’s FastLineSeries to measure performance with different dataset sizes.\n\n**Step 5**: Observe the elapsed time displayed in the label once the chart series is rendered.\n\n## Output\n\u003cimg width=\"1420\" height=\"640\" alt=\"image\" src=\"https://github.com/user-attachments/assets/d0ce8ef0-8f08-4fd2-9d1e-8ae842bb5ad5\" /\u003e\n\n## Sample results\n| Data Size | Time Taken (ms) |\n|-----------|-----------------|\n| 10k       | 38.05           |\n| 50k       | 49.44           |\n| 100k      | 67.94           |\n\n### Specifications\n| | |\n|-----------|-----------------|\n| .NET version               | .NET 10.0        |\n| Syncfusion Charts version  | 31.2.15          |\n| RAM      | 16 GB        |\n\n### Guidelines to Optimize Performance in Syncfusion® MAUI Charts\n1. **Disable Anti-Aliasing**\n    - Description: Anti-aliasing smooths out jagged edges on lines but can increase rendering time.\n    - Implementation: Set the [EnableAntiAliasing](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Charts.FastLineSeries.html#Syncfusion_Maui_Charts_FastLineSeries_EnableAntiAliasing) property to false.\n    - Benefit: Disabling anti-aliasing reduces the rendering overhead, improving performance without significantly compromising visual quality.\n    ```xml\n    \u003cchart:FastLineSeries  \n                    ItemsSource=\"{Binding DataCollection}\"\n                    XBindingPath=\"Date\"\n                    YBindingPath=\"Value\"\n                    EnableAntiAliasing=\"False\"\u003e\n    \u003c/chart:FastLineSeries\u003e \n    ```  \n\n2.  **Reduce Stroke Width**\n    - Description: Thicker lines require more rendering effort.\n    - Implementation: Reduce the series [StrokeWidth](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Charts.XYDataSeries.html#Syncfusion_Maui_Charts_XYDataSeries_StrokeWidth) property to 1.\n    - Benefit: Using a thinner line ensures faster rendering while retaining clarity in the chart.\n    ```xml\n    \u003cchart:FastLineSeries \n                    ItemsSource=\"{Binding DataCollection}\"\n                    XBindingPath=\"Date\"\n                    StrokeWidth=\"1\"\n                    YBindingPath=\"Value\"\u003e\n    \u003c/chart:FastLineSeries\u003e \n    ```\n\n3. **Remove Data Labels**\n    - Description: Displaying data labels for each data point can significantly slow down rendering, especially with large datasets.\n    - Implementation: Avoid using data labels with the FastLine series. Set the [ShowDataLabels](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.Charts.ChartSeries.html#Syncfusion_Maui_Charts_ChartSeries_ShowDataLabels) property to false.\n    - Benefit: Eliminating data labels speeds up rendering and reduces visual clutter in high-density charts.\n    ```xml\n    \u003cchart:FastLineSeries \n                    ItemsSource=\"{Binding DataCollection}\"\n                    XBindingPath=\"Date\"\n                    ShowDataLabels=\"False\"\n                    YBindingPath=\"Value\"\u003e\n    \u003c/chart:FastLineSeries\u003e \n    ```\n\n4. **Choose the Appropriate Axis**\n    - Description: The choice of axis affects rendering performance. A CategoryAxis processes each label individually, which can be slower compared to NumericalAxis or DateTimeAxis.\n    - Implementation: Use DateTimeAxis or NumericalAxis based on the data type.\n    - Benefit: These axes streamline data processing, resulting in faster chart updates.\n    ```xml\n    \u003cchart:SfCartesianChart.XAxes\u003e\n        \u003cchart:DateTimeAxis\u003e\n        \u003c/chart:DateTimeAxis\u003e\n    \u003c/chart:SfCartesianChart.XAxes\u003e\n\n    \u003cchart:SfCartesianChart.YAxes\u003e\n        \u003cchart:NumericalAxis\u003e\n        \u003c/chart:NumericalAxis\u003e\n    \u003c/chart:SfCartesianChart.YAxes\u003e \n    ```\n\nBy following these strategies, you can optimize the performance of the [FastLine Series](https://help.syncfusion.com/maui/cartesian-charts/fastline) in .NET MAUI Cartesian Chart Control.\n\n## Troubleshooting\n\n### Path Too Long Exception\n\nIf you are facing a \"Path too long\" exception when building this example project, close Visual Studio and rename the repository to a shorter name before building the project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyncfusionexamples%2Fdot_net_maui_chart_performance_analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyncfusionexamples%2Fdot_net_maui_chart_performance_analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyncfusionexamples%2Fdot_net_maui_chart_performance_analysis/lists"}