mirror of
https://github.com/xivdev/Penumbra.git
synced 2025-12-30 12:23:41 +01:00
Try to improve launch times somewhat.
This commit is contained in:
parent
98bc14882b
commit
f29bdee010
5 changed files with 147 additions and 117 deletions
|
|
@ -1,5 +1,8 @@
|
|||
using Penumbra.UI.Classes;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Penumbra.Mods;
|
||||
|
||||
|
|
@ -87,14 +90,22 @@ public sealed partial class Mod
|
|||
|
||||
if( Valid && BasePath.Exists )
|
||||
{
|
||||
foreach( var modFolder in BasePath.EnumerateDirectories() )
|
||||
var options = new ParallelOptions()
|
||||
{
|
||||
var mod = LoadMod( modFolder, false );
|
||||
if( mod == null )
|
||||
MaxDegreeOfParallelism = Environment.ProcessorCount / 2,
|
||||
};
|
||||
var queue = new ConcurrentQueue< Mod >();
|
||||
Parallel.ForEach( BasePath.EnumerateDirectories(), options, dir =>
|
||||
{
|
||||
var mod = LoadMod( dir, false );
|
||||
if( mod != null )
|
||||
{
|
||||
continue;
|
||||
queue.Enqueue( mod );
|
||||
}
|
||||
} );
|
||||
|
||||
foreach( var mod in queue )
|
||||
{
|
||||
mod.Index = _mods.Count;
|
||||
_mods.Add( mod );
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue