deflore08 wrote: ↑August 6th, 2020, 3:57 pm
I made some tests with different types and sizes of a cursors. If i use *.cur files for cursors - it is okay, influence on performance are minimal. But with *.ani cursors it leads you right to the hell. Now i talk about 80+ "cursored" meters. Ironically, weight of cursors is not important. Some *.ani cursors that i have used has less weight than *.cur files.
In addition, it not depends on Update frequency. No matter how much i set it - 100 or 2000, *.ani cursors causes work everything slow and it works same in the both cases. As example - Fade effect based on action timer.
That's great. So this means using .cur cursors doesn't cause the issues you experienced, right? At least not at the level they were while using .ani cursors, correct? If so, all you need to do is find a tool to convert those .ani cursors into .cur cursors (if .cur files support animation, that is) and problem solved, I suppose, isn't it?
EDIT: Just checked it out, it appears that the .CUR format is not so friendly to animations. I saw that you can create your own cursors with
RealWorld Cursor Editor and convert what you can either
here or
here. In any case, since the .ANI seems to be the problem, one possibility is that it's because of the animations in the .ANI files, like we talked about earlier (I have no idea why the issue is present even when the meter doesn't have an animated cursor over it though). What you can do is use an .ANI editor to reduce the number of frames in the .ANI. I just opened up a .GIF resulted from a conversion from .ANI in Photoshop and it appears to have 20 frames - that's probably a bit too much. Some movements can even be reduced to just 2 frames and that should considerably alleviate the problem, if it's indeed about the animations in the .ANI that overworking your already animated and complex skin. If it's not and it's just the .ANI format or files that cause this in your skin, just replace them with .CUR cursors and be done with it. Animation is fine and dandy as long as it doesn't prevent the skin from behaving like it should. Later on after you
seriously optimize your code (e.g. a "normal" update rate since you perform the animations with ActionTimer and mouse actions don't need fast update rates anyway, a reduced number of meters, etc.), you might try to reintroduce animated cursors and see if it breaks things again - my impression is that on a properly optimized skin it won't happen.