I have an issue on OSX where the entire game hangs for upwards of 2 minutes on first launch when I call the following code:
using (var fileStream = new FileStream("Content/img.png", FileMode.Open))
var LevelStartImage = Texture2D.FromStream(GraphicsDevice, fileStream);
I'm loading user-created levels which come with a screenshot which is why I'm not using the ContentManager. Calling 'Texture2D.FromStream' calls System.Drawing, which when it's first called on a fresh install, is causing the entire game to hang for upwards of 2 minutes.
I've narrowed it down to a font-cache being built during that first launch when System.Drawing is called. This has happened on DesktopGL, Xamarin.Mac and Mac Classic builds.
I've had users complain and note that they thought the game had frozen. While this is a Mono bug, it's arrising from a call in MonoGame (Texture2D.FromStream(...)) and so I'm wondering if others here have had/found a work around/solution to this issue. I can add a notification to the user saying "building cache, please wait..." but this is an absolute last-resort.