dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
22.06k stars 1.73k forks source link

Veeeery poor performance in ScrollView #17257

Open South2AK opened 1 year ago

South2AK commented 1 year ago

Description

I do have a ScrollView with many components in it. When scrolling it is laggy and jittering all over (also in Release Mode) As of now I don´t even have Bindings or am setting anything but displaying labels on it (it´s not even finished yet)

Tested in .NET 7 and .NET8.

 <ScrollView  >

     <Grid x:Name="ctrlGrd" RowDefinitions="20,auto,auto, auto,auto,auto,auto,auto,auto,auto,auto,auto,auto,auto,auto,50">

         <Border Grid.Row="1" BackgroundColor="White"  Margin="20,10,20,10" StrokeShape="RoundRectangle 20,20,20,20" StrokeThickness="0" >
             <Border.Shadow>
                 <Shadow Radius="30" Brush="lightblue" Opacity="0.4"/>
             </Border.Shadow>

             <Grid RowDefinitions="auto,*">
                 <Label LineBreakMode="WordWrap" HeightRequest="30" FontSize="18" Margin="5" FontAutoScalingEnabled="True" HorizontalOptions="Center" VerticalOptions="FillAndExpand" VerticalTextAlignment="End" FontFamily="Nexa"  Text="Text" />

                 <Grid MinimumHeightRequest="95"  RowSpacing="5" IsVisible="true" Margin="5,0" RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,10" Grid.Row="1" ColumnDefinitions="*,*">

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="1" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="1"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="2" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap"  VerticalOptions="End" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="2"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="3" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="3"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="4" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="4"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  FontSize="14" HorizontalTextAlignment="End" Grid.Row="5" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="5"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                 </Grid>

                 <Button Grid.RowSpan="2"  CornerRadius="30" BackgroundColor="Transparent"  Command="{Binding OpenPageCommand}" CommandParameter="PageFahrzeugdaten"   VerticalOptions="Fill" HorizontalOptions="Fill" />

             </Grid>

         </Border>
         <Border Grid.Row="2" BackgroundColor="White"  Margin="20,10,20,10" StrokeShape="RoundRectangle 20,20,20,20" StrokeThickness="0" >
             <Border.Shadow>
                 <Shadow Radius="30" Brush="lightblue" Opacity="0.4"/>
             </Border.Shadow>

             <Grid RowDefinitions="auto,*">
                 <Label LineBreakMode="WordWrap" HeightRequest="30" FontSize="18" Margin="5"  FontAutoScalingEnabled="True" HorizontalOptions="Center" VerticalOptions="FillAndExpand" VerticalTextAlignment="End" FontFamily="Nexa"  Text="Text" />

                 <Grid MinimumHeightRequest="95"  RowSpacing="5"  IsVisible="true" Margin="5,0" RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,10" Grid.Row="1" ColumnDefinitions="*,*">

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  FontSize="14" HorizontalTextAlignment="End" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14"  HorizontalTextAlignment="End" Grid.Row="1" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="1"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="2" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="2"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="3" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="3"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="4" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="4"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="5" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="5"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="6" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="6"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="7" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="7"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="8" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="8"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                 </Grid>

                 <Button BackgroundColor="Transparent" Grid.RowSpan="2" Command="{Binding OpenPageCommand}" CommandParameter="PageAuftraggeber" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>

             </Grid>

         </Border>
         <Border Grid.Row="3" BackgroundColor="White"  Margin="20,10,20,10" StrokeShape="RoundRectangle 20,20,20,20" StrokeThickness="0" >
             <Border.Shadow>
                 <Shadow Radius="30" Brush="lightblue" Opacity="0.4"/>
             </Border.Shadow>

             <Grid RowDefinitions="auto,*">
                 <Label LineBreakMode="WordWrap" HeightRequest="30" FontSize="18" Margin="5" FontAutoScalingEnabled="True" HorizontalOptions="Center" VerticalOptions="FillAndExpand" VerticalTextAlignment="End" FontFamily="Nexa"  Text="Text" />

                 <Grid MinimumHeightRequest="95"  RowSpacing="5" IsVisible="true" Margin="5,0" RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,10" Grid.Row="1" ColumnDefinitions="*,*">

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="1" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="1"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="2" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap"  VerticalOptions="End" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="2"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="3" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="3"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="4" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="4"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  FontSize="14" HorizontalTextAlignment="End" Grid.Row="5" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="5"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  FontSize="14" HorizontalTextAlignment="End" Grid.Row="6" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="6"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  FontSize="14" HorizontalTextAlignment="End" Grid.Row="7" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="7"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                 </Grid>

                 <Button BackgroundColor="Transparent" Command="{Binding OpenPageCommand}" CommandParameter="PageUnfallgegner" Grid.RowSpan="2" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>

             </Grid>

         </Border>
         <Border Grid.Row="4" BackgroundColor="White"  Margin="20,10,20,10" StrokeShape="RoundRectangle 20,20,20,20" StrokeThickness="0" >
             <Border.Shadow>
                 <Shadow Radius="30" Brush="lightblue" Opacity="0.4"/>
             </Border.Shadow>

             <Grid RowDefinitions="auto,*">
                 <Label LineBreakMode="WordWrap" HeightRequest="30" FontSize="18" Margin="5" FontAutoScalingEnabled="True" HorizontalOptions="Center" VerticalOptions="FillAndExpand" VerticalTextAlignment="End" FontFamily="Nexa"  Text="Text" />

                 <Grid MinimumHeightRequest="95" RowSpacing="5"  IsVisible="true" Margin="5,0" RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,10" Grid.Row="1" ColumnDefinitions="*,*">

                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="1" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="1"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="2" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap"  VerticalOptions="End" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="2"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="3" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="3"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="4" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="4"  Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" Text="Text"/>

                 </Grid>

                 <Button BackgroundColor="Transparent" Command="{Binding OpenPageCommand}" CommandParameter="PageGegnerischeVersicherung" Grid.RowSpan="2" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>

             </Grid>

         </Border>
         <Border Grid.Row="5"  BackgroundColor="White" Margin="20,10,20,10" StrokeShape="RoundRectangle 20,20,20,20" StrokeThickness="0">
             <Border.Shadow>
                 <Shadow Radius="30" Brush="lightblue" Opacity="0.4"/>
             </Border.Shadow>

             <Grid RowDefinitions="auto,*">
                 <Label LineBreakMode="WordWrap" HeightRequest="30" FontSize="18" Margin="5" FontAutoScalingEnabled="True"   HorizontalOptions="Center" VerticalOptions="FillAndExpand" VerticalTextAlignment="End" FontFamily="Nexa" Text="Text" />

                 <Grid MinimumHeightRequest="380" RowSpacing="5" IsVisible="true" Margin="5,0" RowDefinitions="Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,Auto,10" Grid.Row="1" ColumnDefinitions="*,*">

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="1" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="1" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="2" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  Margin="8,0" Grid.Row="2" Grid.Column="1" FontSize="14"  FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="3" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" Margin="8,0" Grid.Row="3" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg"   />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="4" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="4" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="5" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  Grid.Row="5" Grid.Column="1" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="7" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" Margin="8,0" Grid.Row="7" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg"   />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="8" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="8" Grid.Column="1" FontSize="14" FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="9" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  Grid.Row="9" Grid.Column="1" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="10" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="10" Grid.Column="1" FontSize="14" FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="11" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  Grid.Row="11" Grid.Column="1" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="13" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" Margin="8,0" Grid.Row="13" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg"  />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="14" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center"  Grid.Row="14" Grid.Column="1" />
                 </Grid>
                 <Button BackgroundColor="Transparent"  Command="{Binding OpenPageCommand}" CommandParameter="PageBesichtigung"  Grid.RowSpan="2" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
             </Grid>
         </Border>
         <Border Grid.Row="6" x:DataType="models:Schaden" BackgroundColor="White" Margin="20,10,20,10" StrokeShape="RoundRectangle 20,20,20,20" StrokeThickness="0">
             <Border.Shadow>
                 <Shadow Radius="30" Brush="lightblue" Opacity="0.4"/>
             </Border.Shadow>
             <Grid RowDefinitions="auto,*">
                 <Label LineBreakMode="WordWrap" HeightRequest="30" FontSize="18" Margin="5" FontAutoScalingEnabled="True"   HorizontalOptions="Center" VerticalOptions="FillAndExpand" VerticalTextAlignment="End" FontFamily="Nexa" Text="Text" />
                 <Editor MinimumHeightRequest="60" AutoSize="TextChanges"  FontFamily="Nexareg" FontSize="14"  Margin="15,0,15,15"  Grid.Row="1" Placeholder="Beispiel: : Kotflügel ersetzen stark deformiert, Seitenteil instandsetzen-5cm Delle-2h" TextColor="Black" HorizontalOptions="Fill" VerticalOptions="Fill" />
             </Grid>
         </Border>
         <Border Grid.Row="7"  BackgroundColor="White" Margin="20,10,20,10" StrokeShape="RoundRectangle 20,20,20,20" StrokeThickness="0">
             <Border.Shadow>
                 <Shadow Radius="30" Brush="lightblue" Opacity="0.4"/>
             </Border.Shadow>
             <Grid RowDefinitions="auto,*">
                 <Label LineBreakMode="WordWrap" HeightRequest="30" FontSize="18" Margin="5" FontAutoScalingEnabled="True"   HorizontalOptions="Center" VerticalOptions="FillAndExpand" VerticalTextAlignment="End" FontFamily="Nexa" Text="Text" />

                 <Grid RowSpacing="5" IsVisible="true" Margin="5,0" RowDefinitions="Auto,Auto,Auto,Auto,Auto,auto,auto,auto,auto,10" Grid.Row="1" ColumnDefinitions="*,*">

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" Text="Text" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="1" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="1" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="2" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  Margin="8,0" Grid.Row="2" Grid.Column="1" FontSize="14"  FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="3" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" Margin="8,0" Grid.Row="3" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg"   />

                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="4" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="4" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="5" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="5" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="6" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  Grid.Row="6" Grid.Column="1" />
                 </Grid>
                 <Button BackgroundColor="Transparent"  Command="{Binding OpenPageCommand}" CommandParameter="PageStundensätze"  Grid.RowSpan="2" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
             </Grid>
         </Border>
         <Border Grid.Row="8" x:DataType="models:Schaden" BackgroundColor="White" Margin="20,10,20,10" StrokeShape="RoundRectangle 20,20,20,20" StrokeThickness="0">
             <Border.Shadow>
                 <Shadow Radius="30" Brush="lightblue" Opacity="0.4"/>
             </Border.Shadow>
             <Grid RowDefinitions="auto,30,30,30,20">

                 <Label LineBreakMode="WordWrap" HeightRequest="30" FontSize="18" Margin="5" FontAutoScalingEnabled="True"   HorizontalOptions="Center" VerticalOptions="FillAndExpand" VerticalTextAlignment="End" FontFamily="Nexa" Text="Text" />

                 <RadioButton  BorderColor="Blue"  Grid.Row="1" Margin="15,0" Content="Fiktive Abrechnung" GroupName="Abrechnung"/>

                 <RadioButton  BorderColor="Blue" Grid.Row="2"  Margin="15,0"  Content="Konkrete Abrechnung" GroupName="Abrechnung"/>

                 <RadioButton BorderColor="Blue" Grid.Row="3"  Margin="15,0"  Content="Unbekannt" GroupName="Abrechnung"/>

             </Grid>
         </Border>
         <Border Grid.Row="9"  BackgroundColor="White" Margin="20,10,20,10" StrokeShape="RoundRectangle 20,20,20,20" StrokeThickness="0">
             <Border.Shadow>
                 <Shadow Radius="30" Brush="lightblue" Opacity="0.4"/>
             </Border.Shadow>
             <Grid RowDefinitions="auto,*">
                 <Label LineBreakMode="WordWrap" HeightRequest="30" FontSize="18" Margin="5" FontAutoScalingEnabled="True"   HorizontalOptions="Center" VerticalOptions="FillAndExpand" VerticalTextAlignment="End" FontFamily="Nexa" Text="Text" />

                 <Grid  RowSpacing="5" IsVisible="true" Margin="5,0" RowDefinitions="Auto,Auto,Auto,Auto,Auto,auto,auto" Grid.Row="1" ColumnDefinitions="*,*">

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" Text="Text" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="1" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="1" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="2" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  Margin="8,0" Grid.Row="2" Grid.Column="1" FontSize="14"  FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="3" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" Margin="8,0" Grid.Row="3" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg"   />

                 </Grid>
                 <Button BackgroundColor="Transparent"  Command="{Binding OpenPageCommand}" CommandParameter="PageReparaturfirma"  Grid.RowSpan="2" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
             </Grid>
         </Border>
         <Border Grid.Row="10"  BackgroundColor="White" Margin="20,10,20,10" StrokeShape="RoundRectangle 20,20,20,20" StrokeThickness="0">
             <Border.Shadow>
                 <Shadow Radius="30" Brush="lightblue" Opacity="0.4"/>
             </Border.Shadow>
             <Grid RowDefinitions="auto,*">
                 <Label LineBreakMode="WordWrap" HeightRequest="30" FontSize="18" Margin="5" FontAutoScalingEnabled="True"   HorizontalOptions="Center" VerticalOptions="FillAndExpand" VerticalTextAlignment="End" FontFamily="Nexa" Text="Text" />

                 <Grid  RowSpacing="5" IsVisible="true" Margin="5,0" RowDefinitions="Auto,Auto,Auto,Auto,Auto,auto,auto" Grid.Row="1" ColumnDefinitions="*,*">

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" FontFamily="Nexareg" Text="Text"/>
                     <Label LineBreakMode="WordWrap" Text="Text" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="1" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" FontAutoScalingEnabled="True" Margin="8,0" Grid.Row="1" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="2" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap" VerticalOptions="Center"  Margin="8,0" Grid.Row="2" Grid.Column="1" FontSize="14"  FontFamily="Nexareg" />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="3" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" Margin="8,0" Grid.Row="3" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg"   />

                     <Label LineBreakMode="WordWrap" VerticalOptions="Center" FontSize="14" HorizontalTextAlignment="End" Grid.Row="4" FontFamily="Nexareg" Text="Text" />
                     <Label LineBreakMode="WordWrap"  VerticalOptions="Center" Margin="8,0" Grid.Row="4" Grid.Column="1" FontSize="14" HorizontalTextAlignment="Start" FontFamily="Nexareg"   />

                 </Grid>
                 <Button BackgroundColor="Transparent"  Command="{Binding OpenPageCommand}" CommandParameter="PageRechtsanwalt"  Grid.RowSpan="2" HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
             </Grid>
         </Border>
         <Border Grid.Row="11"  BackgroundColor="White" Margin="20,10,20,10" StrokeShape="RoundRectangle 20,20,20,20" StrokeThickness="0">
             <Border.Shadow>
                 <Shadow Radius="30" Brush="lightblue" Opacity="0.4"/>
             </Border.Shadow>
             <Grid RowDefinitions="auto,*">
                 <Label LineBreakMode="WordWrap" HeightRequest="30" FontSize="18" Margin="5" FontAutoScalingEnabled="True"   HorizontalOptions="Center" VerticalOptions="FillAndExpand" VerticalTextAlignment="End" FontFamily="Nexa" Text="Text" />

             </Grid>
         </Border>

     </Grid>
 </ScrollView>

Steps to Reproduce

No response

Link to public reproduction project repository

No response

Version with bug

7.0.92

Is this a regression from previous behavior?

Not sure, did not test other versions

Last version that worked well

Unknown/Other

Affected platforms

iOS, Android

Affected platform versions

No response

Did you find any workaround?

No response

Relevant log output

No response

South2AK commented 1 year ago

So after changing the Grid for a StackLayout it performs a little bit better.

But what made it wayy better is setting the LineBreakMode to NoWrap on all Controls except for the once which most likely need it. As the line break is dependent on the device used this should be looked after...

xtuzy commented 1 year ago

I try run your code on net8-pre7, i feel it is ok

https://github.com/dotnet/maui/assets/17793881/aa92b648-2bd7-4e30-bdd6-5da485b0bff9

South2AK commented 1 year ago

@xtuzy Try it with a longer text which needs a wrapping -- It will slow down

ghost commented 1 year ago

Hi @South2AK. We have added the "s/needs-repro" label to this issue, which indicates that we require steps and sample code to reproduce the issue before we can take further action. Please try to create a minimal sample project/solution or code samples which reproduce the issue, ideally as a GitHub repo that we can clone. See more details about creating repros here: https://github.com/dotnet/maui/blob/main/.github/repro.md

This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

ghost commented 1 year ago

This issue has been automatically marked as stale because it has been marked as requiring author feedback to reproduce the issue but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment. If it is closed, feel free to comment when you are able to provide the additional information and we will re-investigate.

South2AK commented 1 year ago

A Sample Source has been provided...

ghost commented 11 months ago

We've added this issue to our backlog, and we will work to address it as time and resources allow. If you have any additional information or questions about this issue, please leave a comment. For additional info about issue management, please read our Triage Process.

mattleibow commented 11 months ago

@jonathanpeppers should scrolling a scrollview with lots of labels have performace issues? Aren't all the UI elements inflated and in position?

jonathanpeppers commented 11 months ago

Are we testing in Release mode? The comment above (says it's ok), but the video is Debug mode: https://github.com/dotnet/maui/issues/17257#issuecomment-1711012838

Unless you turn it off, Debug mode will be using the interpreter by default -- in addition to any optimizations made for Release mode.

South2AK commented 11 months ago

@jonathanpeppers It is better in Release mode, but is still inacceptible

jonathanpeppers commented 11 months ago

So is the problem specific to LineBreakMode="WordWrap"?

South2AK commented 11 months ago

@jonathanpeppers I suspect the problem to be because of the calculation when the WordWrap hits on the grid which is on autosize. It is better when using Stacklayout, nowhere near a good performance but atleast passible