4 ms·
>To see what I'm talking about, just run something extremely lightweight like mspaint, then right click it in your task bar... >I'm looking for a snappy UI. P
by Rury 7y ago
>To see what I'm talking about, just run something extremely lightweight like mspaint, then right click it in your task bar...
>I'm looking for a snappy UI.
Problems like these I think stems from poor design decisions made at Microsoft as a whole.
Take ARC compared to Garbage Collection as an example. Not sure why Microsoft chose a Garbage Collector design when implementing .NET, but given how Garbage Collection works, there's always risk of it causing UI stutter when it's doing its thing. Apple in comparison chose an ARC design when implementing Swift to avoid potential responsive UI issues... even if ARC is overall less performant.
Then you also have the decisions to support backwards compatibility and you have a mess on your hands.
Frankly, I hate it somedays when I click on my windows calculator app and it opens a blank window and just sits there. I have to kill it and restart it 2-3 more times before it actually opens up. Stuff like this should never happen!
- pjmlp 7y agoReference counting is garbage collection. Same UI issues can happen in reference counting with deeply nested data structures.
- Rury 7y ago>Reference counting is garbage collection. Sorry you're right, I meant tracing garbage collection. >Same UI issues can happen in reference counting with deeply nested data structures. Only if done poorly. The difference is this is deterministic and therefore an issue you can control and avoid with ARC (albeit at a cost to overall performance). The point was that ARC doesn't have the potential for a uncontrollable random process kicking in, stopping your app and causing UI stutter as it cleans up memory, whereas tracing GC does. A good comparison: http://developer-toolbox.blogspot.com/2017/12/garbage-collection-vs-automatic.html http://developer-toolbox.blogspot.com/2017/12/garbage-collec...
- pjmlp 7y agoThis one is more up to date, https://github.com/ixy-languages/ixy-languages https://github.com/ixy-languages/ixy-languages