Yeah openGL is hard, I also trying a way to make resolution change fullscreen. (Like MUGEN) but is harder than I expected.
Also great news! Remember that if you compile the engine in golang 1.12 (The newest version) it crashed?
Well I found the problem.
Is the garage collector deleting data before it could load the data.
If you disable it it will never crash.
According to golang 1.12 patch notes.
Go 1.12 significantly improves the performance of sweeping when a large fraction of the heap remains live. This reduces allocation latency immediately following a garbage collection.
The Go runtime now releases memory back to the operating system more aggressively, particularly in response to large allocations that can't reuse existing heap space.
The Go runtime's timer and deadline code is faster and scales better with higher numbers of CPUs. In particular, this improves the performance of manipulating network connection deadlines.
So a large allocation happens in the boot time so the GC goes on a rampage deleting the stuff that needs to be parsed to openGL.
GO garbage collector is incredibly fast it takes microseconds others languages GC take milliseconds. So we can't be faster than the GC, the only way I can think is reduce manually the GC rate at the load screens (And only at load screens we can restore the GC rate at other parts)
So well I will find a way to reduce the aggressiveness of the GC at boot time so it does not crash anymore.
I will inform of the progress.
I found this after trying everything else...
I fixed it!
So now can automate the windows builds.
Now AppVeyor also gives windows build. (Mac and Linux were here before)
It even gives the script files on a zip!
What does this mean? You ask.
Now the process is automated and the user can get the builds without depending on someone to compile them.
If I made a commit to the repo (Or someone makes a pull request) AppVeyor compiles it automatically.
I need Windows users to test if this crashes. (On my end works but I need a bigger sample to see if is really fixed)
WARNING: Tag mode backend is still incomplete I'm making changes to lifebar loading...
Spoiler, click to toggle visibilty