Application is very slow to load GleamTech components.
Problem reported by Alberto Ghislandi - 8/5/2026 at 3:20 AM
Resolved
When I start my application pool and open my application, it takes 9 seconds to load GleamTech components. It seems that the loading of DocumentUltimate is the bottle neck.
My GleamTech version is 9.6.3 for ASP.NET
Removing GleamTech components my application starts in 1 sec
using GleamTech.AspNet.Core;

builder.Services.AddGleamTech();
app.UseGleamTech();
Is it possible to do something to speed up the loading?
Thanks
Regards
Cem Alacayir Replied
Employee Post
9 seconds is not normal especially for an ASP.NET Core application (but ASP.NET Classic cold-start may take time as it shadow-copies app files).

FileUltimate Version 9.6.3 - May 6, 2025 - This is an old version, first update to the last available version for your license key which is Version 9.8.7 - December 23, 2025

Other things to check:
1. In IIS, edit your application pool "Basic Serttings" and choose "No Managed Code" for .NET CLR Version. If your app is a pure ASP.NET Core app, you don't need this, it's for .NET Framework (ASP.NET Classic) based apps only.

2. On startup, GleamTech may be trying to remove temp folders to new locations (e.g. if you updated your old version and locations were changed). Maybe it fails on some files at some point and retries them on every startup? Is 9 seconds recurrent every time you recycle your application pool?
See here for temp folder location for newer and older versions:
https://support.gleamtech.com/kb/a32/gleamtech-component-temporary-folder-locations-and-issues.aspx
You may need to manually clean up those folders.
Alberto Ghislandi Replied
Thank you for your quick response.
I updated the version and my application pool was already No Managed Code.
I deleted all the temporary folders.
In the App_Data\Temporary folder there is a GleamTech.log file that is populated when I start my application. I noticed that from the inizialization to the licence check it takes 7 seconds. Is it normal?
[06/08/2026 11:10:12] [Information]  Initialized GleamTechConfiguration:
                                     Assembly Name: GleamTech.Common, Version=6.7.5.0, Culture=neutral, PublicKeyToken=XXXXXX
                                     App Name: XXXXX
                                     App Base: XXXXX
                                     Current Identity: XXXXX
                                     Operating System: XXXXX
                                     Runtime Identifier: win-x64
                                     Framework: .NET 10.0.3
                                     Web Framework: ASP.NET Core 10.0.3
                                     Process Memory: 110 MB (64-bit)
[8/6/2026 11:10:20 AM] [Information]  FileUltimateConfiguration -> Successfully set license key:
                                      Key: XXXXX

The server is recording these processes:

09:10:10  GleamTech.AssemblyResolver
09:10:12  DLL native creation
09:10:13  PdfOfficeEngine
09:10:17  PresentationEngine
09:10:18  SpreadsheetEngine
09:10:19  WordProcessingEngine
09:10:19  GraphicsEngine
09:10:20  VideoEngine
09:10:20  Licensing

I found in the file AssemblyResolver.log these processes (this is a follow-up test):
[06/08/2026 14:59:04] [Information]  Initialized assembly resolver:
                                     Assembly Name: GleamTech.AssemblyResolver, Version=7.1.0.0, Culture=neutral, 
                                     Operating System: Microsoft Windows 10.0.17763 (64-bit)
                                     Runtime Identifier: win-x64
                                     Framework: .NET 10.0.5
                                     Web Framework: ASP.NET Core 10.0.5
                                     Process Memory: 44,9 MB (64-bit)
                                     Process Architecture: Windows x64
[06/08/2026 14:59:04] [Information]  Registered AssemblyResolve event
[06/08/2026 14:59:04] [Information]  Registering container assembly:
                                     File Name: GleamTech.Common.dll
[06/08/2026 14:59:04] [Information]  GleamTech.Common.dll -> Found 10 merged managed/mixed-mode assemblies for win-x64:
                                     ZipEngine, Version=3.1.0.0, Culture=neutral, (Managed, AnyCPU)
                                     Newtonsoft.Json.Internal, Version=13.0.0.0, Culture=neutral, (Managed, AnyCPU)
                                     Microsoft.Azure.Storage.Blob.Internal, Version=11.2.3.0, Culture=neutral, (Managed, AnyCPU)
                                     SharpCompress.Internal, Version=0.40.0.0, Culture=neutral, (Managed, AnyCPU)
                                     AWSSDK.S3.Internal, Version=4.0.0.0, Culture=neutral, (Managed, AnyCPU)
                                     SixLabors.ImageSharp.Drawing.Internal, Version=1.0.0.0, Culture=neutral, (Managed, AnyCPU)
                                     BitMiracle.LibTiff.NET.Internal, Version=2.4.660.0, Culture=neutral, (Managed, AnyCPU)
                                     FluentScheduler.Internal, Version=5.5.1.0, Culture=neutral, (Managed, AnyCPU)
                                     UAParser.Internal, Version=3.1.47.0, Culture=neutral, (Managed, AnyCPU)
                                     Licensing, Version=1.6.0.0, Culture=neutral, (Managed, AnyCPU)
[06/08/2026 14:59:04] [Information]  GleamTech.Common.dll -> Found 0 merged native assemblies for win-x64:
                                     
[06/08/2026 14:59:04] [Information]  GleamTech.Common.dll -> Added path to process environment variable PATH for resolving native assemblies:
                                     ...\wwwroot\App_Data\Temporary\AssemblyResolver\GleamTech.Common.dll-win-x64
[06/08/2026 14:59:06] [Information]  Registering container assembly:
                                     File Name: GleamTech.VideoUltimate.dll
[06/08/2026 14:59:06] [Information]  GleamTech.VideoUltimate.dll -> Found 1 merged managed/mixed-mode assemblies for win-x64:
                                     VideoEngine, Version=5.1.1.0, Culture=neutral, (Managed, AnyCPU)
[06/08/2026 14:59:06] [Information]  GleamTech.VideoUltimate.dll -> Found 4 merged native assemblies for win-x64:
                                     avcodec-61.dll (Native, x64)
                                     avutil-59.dll (Native, x64)
                                     avformat-61.dll (Native, x64)
                                     swscale-8.dll (Native, x64)
[06/08/2026 14:59:06] [Information]  GleamTech.VideoUltimate.dll -> Added path to process environment variable PATH for resolving native assemblies:
                                     ...\wwwroot\App_Data\Temporary\AssemblyResolver\GleamTech.VideoUltimate.dll-win-x64-4upkeru553x5
[06/08/2026 14:59:06] [Information]  GleamTech.VideoUltimate.dll -> Pre-extracting native assemblies...
[06/08/2026 14:59:06] [Information]  GleamTech.VideoUltimate.dll -> Assembly already extracted:
                                     avcodec-61.dll
[06/08/2026 14:59:06] [Information]  GleamTech.VideoUltimate.dll -> Assembly already extracted:
                                     avutil-59.dll
[06/08/2026 14:59:06] [Information]  GleamTech.VideoUltimate.dll -> Assembly already extracted:
                                     avformat-61.dll
[06/08/2026 14:59:06] [Information]  GleamTech.VideoUltimate.dll -> Assembly already extracted:
                                     swscale-8.dll
[06/08/2026 14:59:06] [Information]  Registering container assembly:
                                     File Name: GleamTech.ImageUltimate.dll
                                     Assembly Name: GleamTech.ImageUltimate, Version=6.6.5.0, Culture=neutral, 
[06/08/2026 14:59:06] [Information]  GleamTech.ImageUltimate.dll -> Found 1 merged managed/mixed-mode assemblies for win-x64:
                                     GraphicsEngine, Version=12.7.2.0, Culture=neutral, (Managed, AnyCPU)
[06/08/2026 14:59:06] [Information]  GleamTech.ImageUltimate.dll -> Found 1 merged native assemblies for win-x64:
                                     GraphicsEngineNative-gt.dll (Native, x64)
[06/08/2026 14:59:06] [Information]  GleamTech.ImageUltimate.dll -> Added path to process environment variable PATH for resolving native assemblies:
                                     ...\wwwroot\App_Data\Temporary\AssemblyResolver\GleamTech.ImageUltimate.dll-win-x64-4ur695iya3os
[06/08/2026 14:59:06] [Information]  GleamTech.ImageUltimate.dll -> Pre-extracting native assemblies...
[06/08/2026 14:59:06] [Information]  GleamTech.ImageUltimate.dll -> Assembly already extracted:
                                     GraphicsEngineNative-gt.dll
[06/08/2026 14:59:06] [Information]  Registering container assembly:
                                     File Name: GleamTech.DocumentUltimate.dll
                                     Assembly Name: GleamTech.DocumentUltimate, Version=7.7.5.0, Culture=neutral, 
[06/08/2026 14:59:06] [Information]  GleamTech.DocumentUltimate.dll -> Found 11 merged managed/mixed-mode assemblies for win-x64:
                                     CadEngine, Version=4.0.4.0, Culture=neutral, (Managed, AnyCPU)
                                     DiagramEngine, Version=5.5.0.0, Culture=neutral, (Managed, AnyCPU)
                                     fo-dicom.core.Internal, Version=5.2.2.0, Culture=neutral, (Managed, AnyCPU)
                                     EmailEngine, Version=7.0.0.0, Culture=neutral, (Managed, AnyCPU)
                                     ImagingEngine, Version=4.5.0.0, Culture=neutral, (Managed, AnyCPU)
                                     PdfOfficeEngine, Version=5.0.5.0, Culture=neutral, (Managed, AnyCPU)
                                     PresentationEngine, Version=7.4.0.0, Culture=neutral, (Managed, AnyCPU)
                                     ProjectManagementEngine, Version=7.7.0.0, Culture=neutral, (Managed, AnyCPU)
                                     SpreadsheetEngine, Version=7.7.0.0, Culture=neutral, (Managed, AnyCPU)
                                     WordProcessingEngine, Version=7.7.0.0, Culture=neutral, (Managed, AnyCPU)
                                     SkiaSharp.Internal, Version=3.116.0.0, Culture=neutral, (Managed, AnyCPU)
[06/08/2026 14:59:06] [Information]  GleamTech.DocumentUltimate.dll -> Found 4 merged native assemblies for win-x64:
                                     DicomNative-gt.dll (Native, x64)
                                     libHarfBuzzSharp-gt.dll (Native, x64)
                                     libSkiaSharp-gt.dll (Native, x64)
                                     libpdfium-gt.dll (Native, x64)
[06/08/2026 14:59:06] [Information]  GleamTech.DocumentUltimate.dll -> Added path to process environment variable PATH for resolving native assemblies:
                                     ...\wwwroot\App_Data\Temporary\AssemblyResolver\GleamTech.DocumentUltimate.dll-win-x64-4ur1n71rwdc7
[06/08/2026 14:59:06] [Information]  GleamTech.DocumentUltimate.dll -> Pre-extracting native assemblies...
[06/08/2026 14:59:06] [Information]  GleamTech.DocumentUltimate.dll -> Assembly already extracted:
                                     DicomNative-gt.dll
[06/08/2026 14:59:06] [Information]  GleamTech.DocumentUltimate.dll -> Assembly already extracted:
                                     libHarfBuzzSharp-gt.dll
[06/08/2026 14:59:06] [Information]  GleamTech.DocumentUltimate.dll -> Assembly already extracted:
                                     libSkiaSharp-gt.dll
[06/08/2026 14:59:06] [Information]  GleamTech.DocumentUltimate.dll -> Assembly already extracted:
                                     libpdfium-gt.dll
[06/08/2026 14:59:06] [Information]  Received AssemblyResolve event -> No match for assembly. Further events for this assembly will be ignored:
                                     Assembly Name:
                                     Microsoft.DotNet.PlatformAbstractions, Culture=neutral, PublicKeyToken=null
                                     Requesting Assembly:
                                     <unknown>
[06/08/2026 14:59:06] [Information]  Received AssemblyResolve event -> Successfully loaded and returned assembly:
                                     Assembly Name:
                                     Newtonsoft.Json.Internal, Version=13.0.0.0, Culture=neutral, 
                                     Requesting Assembly:
                                     <unknown>
                                     File Name:
                                     Newtonsoft.Json.Internal.dll
                                     Container File Name:
                                     GleamTech.Common.dll
[06/08/2026 14:59:06] [Information]  Received AssemblyResolve event -> Successfully loaded and returned assembly:
                                     Assembly Name:
                                     ZipEngine, Version=3.1.0.0, Culture=neutral, 
                                     Requesting Assembly:
                                     <unknown>
                                     File Name:
                                     ZipEngine.dll
                                     Container File Name:
                                     GleamTech.Common.dll
[06/08/2026 14:59:07] [Information]  Received AssemblyResolve event -> Successfully loaded and returned assembly:
                                     Assembly Name:
                                     SixLabors.ImageSharp.Drawing.Internal, Version=1.0.0.0, Culture=neutral, 
                                     Requesting Assembly:
                                     <unknown>
                                     File Name:
                                     SixLabors.ImageSharp.Drawing.Internal.dll
                                     Container File Name:
                                     GleamTech.Common.dll
[06/08/2026 14:59:07] [Information]  Received AssemblyResolve event -> Successfully loaded and returned assembly:
                                     Assembly Name:
                                     BitMiracle.LibTiff.NET.Internal, Version=2.4.660.0, Culture=neutral, 
                                     Requesting Assembly:
                                     <unknown>
                                     File Name:
                                     BitMiracle.LibTiff.NET.Internal.dll
                                     Container File Name:
                                     GleamTech.Common.dll
[06/08/2026 14:59:07] [Information]  Received AssemblyResolve event -> Successfully loaded and returned assembly:
                                     Assembly Name:
                                     PdfOfficeEngine, Version=5.0.5.0, Culture=neutral, 
                                     Requesting Assembly:
                                     <unknown>
                                     File Name:
                                     PdfOfficeEngine.dll
                                     Container File Name:
                                     GleamTech.DocumentUltimate.dll
[06/08/2026 14:59:12] [Information]  Received AssemblyResolve event -> Successfully loaded and returned assembly:
                                     Assembly Name:
                                     PresentationEngine, Version=7.4.0.0, Culture=neutral, 
                                     Requesting Assembly:
                                     <unknown>
                                     File Name:
                                     PresentationEngine.dll
                                     Container File Name:
                                     GleamTech.DocumentUltimate.dll
[06/08/2026 14:59:14] [Information]  Received AssemblyResolve event -> Successfully loaded and returned assembly:
                                     Assembly Name:
                                     SpreadsheetEngine, Version=7.7.0.0, Culture=neutral, 
                                     Requesting Assembly:
                                     <unknown>
                                     File Name:
                                     SpreadsheetEngine.dll
                                     Container File Name:
                                     GleamTech.DocumentUltimate.dll
[06/08/2026 14:59:15] [Information]  Received AssemblyResolve event -> Successfully loaded and returned assembly:
                                     Assembly Name:
                                     WordProcessingEngine, Version=7.7.0.0, Culture=neutral, 
                                     Requesting Assembly:
                                     <unknown>
                                     File Name:
                                     WordProcessingEngine.dll
                                     Container File Name:
                                     GleamTech.DocumentUltimate.dll
[06/08/2026 14:59:15] [Information]  Received AssemblyResolve event -> Successfully loaded and returned assembly:
                                     Assembly Name:
                                     GraphicsEngine, Version=12.7.2.0, Culture=neutral, 
                                     Requesting Assembly:
                                     <unknown>
                                     File Name:
                                     GraphicsEngine.dll
                                     Container File Name:
                                     GleamTech.ImageUltimate.dll
[06/08/2026 14:59:15] [Information]  Received AssemblyResolve event -> Successfully loaded and returned assembly:
                                     Assembly Name:
                                     VideoEngine, Version=5.1.1.0, Culture=neutral, 
                                     Requesting Assembly:
                                     <unknown>
                                     File Name:
                                     VideoEngine.dll
                                     Container File Name:
                                     GleamTech.VideoUltimate.dll
[8/6/2026 2:59:16 PM] [Information]  Received AssemblyResolve event -> Successfully loaded and returned assembly:
                                     Assembly Name:
                                     Licensing, Version=1.6.0.0, Culture=neutral, 
                                     Requesting Assembly:
                                     <unknown>
                                     File Name:
                                     Licensing.dll
                                     Container File Name:
                                     GleamTech.Common.dll
[8/6/2026 2:59:17 PM] [Information]  Received AssemblyResolve event -> No match for assembly. Further events for this assembly will be ignored:
                                     Assembly Name:
                                     Microsoft.Data.SqlClient.resources, Version=5.0.0.0, Culture=en-US, 
                                     Requesting Assembly:
                                     <unknown>
[8/6/2026 2:59:17 PM] [Information]  Received AssemblyResolve event -> No match for assembly. Further events for this assembly will be ignored:
                                     Assembly Name:
                                     Microsoft.Data.SqlClient.resources, Version=5.0.0.0, Culture=en, 
                                     Requesting Assembly:
                                     <unknown>


Thoughts?

Thanks
Regards
Cem Alacayir Replied
Employee Post Marked As Resolution
FYI, we have a new release which fixes the performance problem:

Version 10.4.0 - August 18, 2026

  • Improved: Vastly improved startup performance:

    • Optimized internal AssemblyResolver, it now avoids pre-extracting native DLLs for modern .NET and subscribes
      to AssemblyLoadContext.Default.ResolvingUnmanagedDll event to extract a native DLL only when it's requested.
      This improves the cold-startup time of the host app for modern .NET.
      .NET Framework still needs to pre-extract native DLLs as it does not have that event but other optimizations
      in AssemblyResolver still improves that runtime.
      AssemblyResolver.log now includes more details about resolved assemblies and has more readable/neat text structure.

    • Minimized reflection type scanning in GleamTech assemblies to prevent early loading of dependency assemblies.

    • Considerably reduced size of GleamTech DLLs to decrease memory footprint and improve loading time.
      (further reducing will be done in next versions by minimizing dependencies)

  • Improved: Upgraded AspNetCoreCS example projects of all products from net6.0 to net8.0 (Visual Studio 2022+ (17.8+)).
    Updated Getting Started docs and made code samples up-to date.

  • Changed: Removed implicit operators for casting to/from other libraries (e.g. ImageSharp, SkiaSharp),
    from ImageColorFont and Rectangle classes in GleamTech.Drawing namespace,
    and made them extension methods in another class to prevent reflection method scanning to unnecessarily probe assemblies.
    Also shortened the names of the conversion methods:

    • ToGleamTechDrawingImage() -> ToGleamTechImage()

    • ToSystemDrawingBitmap() -> ToSystemBitmap()

    • ToSystemDrawingImage -> ToSystemImage()

    • ToSkiaSharpBitmap -> ToSkiaBitmap()

    • ToSkiaSharpBitmap -> ToSkiaBitmap()

Reply to Thread

Enter the verification text