RPTroll wrote: ↑Sat Apr 17, 2021 2:43 pm
Hopefully, threading won't be an issue.
It's pretty efficient from what I can tell so far. Since it's all run with timers, there's virtually no cpu usage except during the callbacks, and since I'm splitting them on threads and using tail deferred calls, it actually seems to be easier on the garbage collector than having one thread process everything.
With JUH v0.1a, it was pretty easy to make 1 CPU pin to 100% with just a few animations, with the upcoming threading modifications to "lib:timer", you can run at least twice as many animations much more smoothly (no conflict stutter) for the same overall CPU cost, but spread out across available CPUs instead of pinning a single one. And as I said above, having more threads and stacks seems to make the garbage collector more efficient than having a bunch of long running stuff all using the same thread and stack space.
In the end I anticipate an order of magnitude increase in animation performance, for an equivalent resource cost.
By the beta, it will all be set with configurable thread pool sizes, so the end user will be able to set reasonable caps on thread usage themselves.
"Joe's Ugly Hacks - Get 'em while their hot! Guaranteed ugliest hacks around or your money back!"