Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

[Bug] Adding/Re-Adding Children To RelativeLayout Takes Longer Every Time #15318

Open
TheCaveOfWonders opened this issue Apr 18, 2022 · 1 comment
Labels
partner/cat 😻 partner Issue submitted by partner or related open source project s/unverified New report that has yet to be verified t/bug 🐛

Comments

@TheCaveOfWonders
Copy link

TheCaveOfWonders commented Apr 18, 2022

Description

This sample app demonstrates how adding/re-adding children to a relative layout, takes longer and longer every time.
Sample app based on the default Xamarin Forms shell app template, we added a button on the login page that re-creates the same amount of children to a relative layout (so we always have the same amount of children, we clear the old and add the new ones), and shows how long it took to do so.

Steps to Reproduce

  1. Logout, so that we can navigate to the login page.
  2. Press the 'Re-Create Children' button multiple times; this will create some dummy images in the title (note if you're on iOS16 you won't see any images in the title). Notice how the timing results are relatively unchanged between each execution.
  3. Login, so that we navigate to a different page.
  4. Logout to navigate back to the login page.
  5. Press the 'Re-Create Children' button multiple times and notice how each time it takes longer to execute; this is also reflected in the timing results.

Expected Behavior

Re-adding children to the layout should not take longer and longer every time we do so.

Actual Behavior

Re-adding children to the layout takes longer every time we do it.

Basic Information

  • Platform Target Frameworks:
    • iOS: 15.8.0.5
  • Affected Devices: iPhone, iPad

Environment

Show/Hide Visual Studio info
Microsoft Visual Studio Professional 2022 (3)
Version 17.1.4
VisualStudio.17.Release/17.1.4+32407.343
Microsoft .NET Framework
Version 4.8.04084

Installed Version: Professional

.NET Core Debugging with WSL   1.0
.NET Core Debugging with WSL

ASP.NET and Web Tools 2019   17.1.358.51495
ASP.NET and Web Tools 2019

ASP.NET Web Frameworks and Tools 2019   17.1.358.51495
For additional information, visit https://www.asp.net/

Azure App Service Tools v3.0.0   17.1.358.51495
Azure App Service Tools v3.0.0

Azure Functions and Web Jobs Tools   17.1.358.51495
Azure Functions and Web Jobs Tools

C# Tools   4.1.0-5.22165.10+e555772db77ca828b02b4bd547c318387f11d01f
C# components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Common Azure Tools   1.10
Provides common services for use by Azure Mobile Services and Microsoft Azure Tools.

Extensibility Message Bus   1.2.6 (master@34d6af2)
Provides common messaging-based MEF services for loosely coupled Visual Studio extension components communication and integration.

Microsoft JVM Debugger   1.0
Provides support for connecting the Visual Studio debugger to JDWP compatible Java Virtual Machines

Microsoft Library Manager   2.1.161+abc97ecc7d.RR
Install client-side libraries easily to any web project

Microsoft MI-Based Debugger   1.0
Provides support for connecting Visual Studio to MI compatible debuggers

Microsoft Visual Studio Tools for Containers   1.2
Develop, run, validate your ASP.NET Core applications in the target environment. F5 your application directly into a container with debugging, or CTRL + F5 to edit & refresh your app without having to rebuild the container.

Mono Debugging for Visual Studio   17.1.10 (65f98f5)
Support for debugging Mono processes with Visual Studio.

NuGet Package Manager   6.1.0
NuGet Package Manager in Visual Studio. For more information about NuGet, visit https://docs.nuget.org/

Razor (ASP.NET Core)   17.0.0.2206201+62a2c1d6162f828801565a7ca26d9d48b810a05b
Provides languages services for ASP.NET Core Razor.

SQL Server Data Tools   17.0.62203.25080
Microsoft SQL Server Data Tools

TypeScript Tools   17.0.1229.2001
TypeScript Tools for Microsoft Visual Studio

Visual Basic Tools   4.1.0-5.22165.10+e555772db77ca828b02b4bd547c318387f11d01f
Visual Basic components used in the IDE. Depending on your project type and settings, a different version of the compiler may be used.

Visual F# Tools   17.1.0-beta.21610.4+07b5673e4f2fa7630e78abe37f16b372353a7242
Microsoft Visual F# Tools

Visual Studio Code Debug Adapter Host Package   1.0
Interop layer for hosting Visual Studio Code debug adapters in Visual Studio

Visual Studio Container Tools Extensions   1.0
View, manage, and diagnose containers within Visual Studio.

Visual Studio IntelliCode   2.2
AI-assisted development for Visual Studio.

Visual Studio Tools for Containers   1.0
Visual Studio Tools for Containers

Visual Studio Tools for Unity   17.1.0.0
Visual Studio Tools for Unity

VisualStudio.DeviceLog   1.0
Information about my package

VisualStudio.Foo   1.0
Information about my package

VisualStudio.Mac   1.0
Mac Extension for Visual Studio

Xamarin   17.1.0.329 (d17-1@bc74cf0)
Visual Studio extension to enable development for Xamarin.iOS and Xamarin.Android.

Xamarin Designer   17.1.0.87 (remotes/origin/main@d50fb5635)
Visual Studio extension to enable Xamarin Designer tools in Visual Studio.

Xamarin Templates   17.1.8 (590388a)
Templates for building iOS, Android, and Windows apps with Xamarin and Xamarin.Forms.

Xamarin.Android SDK   12.2.4.3 (d17-1/fc1125e)
Xamarin.Android Reference Assemblies and MSBuild support.
    Mono: adf1bc4
    Java.Interop: xamarin/java.interop/d17-1@7ac33610
    ProGuard: Guardsquare/proguard/v7.0.1@912d149
    SQLite: xamarin/sqlite/3.37.1@0893b3b
    Xamarin.Android Tools: xamarin/xamarin-android-tools/d17-1@db125a7


Xamarin.iOS and Xamarin.Mac SDK   15.8.0.5 (cc19b50de)
Xamarin.iOS and Xamarin.Mac Reference Assemblies and MSBuild support.

Reproduction Link

Performance degradation when re-creating relative layout children.zip

@TheCaveOfWonders TheCaveOfWonders added s/unverified New report that has yet to be verified t/bug 🐛 labels Apr 18, 2022
@TheCaveOfWonders
Copy link
Author

Any updates on this? should be straight forward to reproduce, the attached demo project clearly shows the issue.

@jfversluis jfversluis added partner/cat 😻 partner Issue submitted by partner or related open source project labels Nov 1, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
partner/cat 😻 partner Issue submitted by partner or related open source project s/unverified New report that has yet to be verified t/bug 🐛
Projects
None yet
Development

No branches or pull requests

2 participants