Hello Ben :)
First thanks for investing 1 hour of your precious time to look through my code. I really appreciate it . If there is one thing I love about pharo is the super amazing community.
Yes definetly my fault as always :D
I did not know about this profiling, I used it for the creating of my Morphs but it did not occur to me to google like you did and go with profiling all processes.
A huge thank you to latsaben and the rest of you guys. I downgraded down to Pharo 4 and again I agree 5 is the unstable version anyway but I loved using the new tools and could not wait till April for the Pharo 5 release :)
The problem is battling without documentation is very hard and I have spent at least 10 hours trying to understand how taskbar works and I still fail.
Your code solves my problem , apart from 1. Loading those pngs is sloowwwww, one would expect that accesing the files themselves to get the binary data is what is slow for pharo but no, thats is fast enough. What is slow , because I profiled this is converting the binary data to�� form is consuming a ton of time. The result is that to load a GUI with only 1 mb of pngs takes 1 second.
Also with your solution I lose the ability to update my taskbar icon, by the way the non optimised code I was using is a direct copy from SystemWindow class, which means that class should be optimised too.
Another problem is the scaling of images, really bad with morphic though Athens must be better.
Auto completion problems are well knows, sometimes autocompletion does not show all methods, sometimes autocompletion shows every character you type so for example ChronosManager open will show
ChronosManager o
ChronosManager op
ChronosManager ope
ChronosMAnager open
Sometimes it shows methods that do not even belong to the class forcing me to use Spotter to find the correct method. Its a a mess.
I am not abandoning pharo, I love it even with its flaws. But I try to outsource as much as I can my workflow from pharo to external libraries and apps that are way more mature and efficient for what I am trying to do.
I always inteded to make Blender work with Pharo, I accomplished that now I want to make Unreal engine to work with pharo, so I can make a triangle of love, Blender for asset creation, Unreal for real time rendering of 2d and 3d graphics , Pharo as the brain of the logic and advanced scripting of the other 2. This is was my dream and goal all along. So I will be moving my GUI to Unreal that will allow me much more advanced and performance orientated features that mix 2d with 3d but I will keeping my main logic in pharo.