ALAS Wrote:SLoB Wrote:they are handled as rectangles afaik which explains the same cost regardless
just saw that CPU is more relaxed after i deleted some pixel area in the track layers..
If you could send me a copy of this high CPU skin, I could take a look at it and give you some feedback as to why its using so much. Possibly its a bug in the Xion rendering code.
Xion's rendering works as follows:
When a layer is marked as dirty (such as the track name scrolling), then Xion will calculate a dirty rectangle for that entire layer. It then uses this dirty rectangle to redraw ALL layers underneath that layer, and then above that overlap that dirty rectangle. It doesn't redraw the entire layer though, only what overlaps within the dirty rectangle.
There is a bunch of optimization to split and combine rectangles to eliminate overlap, but since its all in software, having many layers to render is very CPU intensive.
The more individual overlapping layers that are below the dirty layer, the more Xion will have to render.
Therefore it is a good optimization idea as an artist, to flatten and merge multiple layers into one to save on redraw. I.e. if you have a steel surface with many little bolts then instead of leaving the bolts on separate layers, merge them into the steel surface.
Of course there are limitations to doing this. I do hope to have some time soon to investigate using DirectX for hardware acceleration so that skins take almost no time at all to render, even with many layers.
If this is successful, it will ensure that slower CPUs can render the skins at full speed, consuming 0-1% of CPU, if that
Cliff