An abundance of startup programs is a common cause of long login delays on Windows systems. Windows includes a few background apps, such as OneDrive, while many third-party programs add their own utilities. If it takes a while for your PC to become usable, checking the loading time of startup programs is a good place to start.
Launch Task Manager (Ctrl+Shift+Esc) and click the "Startup" tab at the top of the screen. This displays a list of all the programs which run automatically after you login. Many of these programs will run in the background, so you may not necessarily recognise them.
A high-level indication of the startup slowdown each app causes is shown in the "Startup impact" column. A "High" startup impact suggests the app could be significantly increasing the login time of your desktop session.
To get more detailed information, right-click the column headings and then select the "CPU at startup" metric. This will show the total CPU time consumed by the app as it starts up. A high figure here (typically anything above 1,000ms) indicates the app might be running an intensive process upon login.
Another useful metric to check is the "Disk I/O at startup". This is particularly relevant to older devices with a spinning magnetic hard drive. If a program - or several programs - demand high disk usage at startup, it can quickly become a bottleneck which prevents more important programs from loading.
You can disable slow-running apps which don't need to run on startup. Once you've found a suspect, click it in the list and then press the "Disable" button at the bottom of the Task Manager window. Combined with other metrics, such as the last BIOS time of your device, startup app CPU times are a good way of understanding what's contributing to slow boots.