Xion Audio Player

Massive Skin Rendering performance

Discuss potential bugs with other users or try to find out a solution to an existing bug

Postby logokas » May 19th, 2009, 10:19 pm

There are a couple non-discussed issues that may possibly, in the future, start to disrupt Xion alot.

For one, Font AA performance, is poor in certain situations.

I never noticed this until today, when i reopened a full screen project i put on hold and added a couple things to it.

Then i noticed an incredible slowdown, and realised it was the title of the song. Since it was too long for the title box and pretty huge in size, it started scrolling. An AA-d font that scrolls, takes ALOT of performance away. You can only notice this if you have a good eye for Frame Per Second evaluation. Looking at the task manager, there was no change between having a large font scroll, or not.

Second thing, is that the bigger it gets, the more power a skin requires, it seems. It doesn't sound like a big thing, because all the usual sized skins barely take anything at all, but the amount of necessary power goes up very steeply from a certain point.

A skin that is designed to work on a 1280x1024 resolution, has three track lines that are keyworded to display AA-d fonts at a large scale, two time layers, also at a ridiculous size, and a visualization layer, puts the CPU usage at 40%. Considering the functionality of the player is rather small, and scrolling titles makes it even worse, this creates a problem for those who want to create skins at large sizes, as there is too much of a performance drop to include all features available / wanted to implement into the skin.

I don't know how much these things have been optimized, or if they even CAN be optimized any fruther, but if possible, some workarounds may have to be found for this.
I shoot and ask questions later.

Take no offense of it.
User avatar
logokas
Xion Addict
 
Posts: 668
Joined: February 25th, 2008, 8:44 am
Location: Estonia

Postby Cliff Cawley » May 20th, 2009, 9:06 am

I have one answer for you.

Software.

Xion currently uses a Software rendering engine I wrote. It is highly optimized however its reaching the limits when you make massive skins. I use dirty rectangles as well for optimization however for each dirty rectangle it has to re-render all layers below that dirty rectangle, if they are transparent.

When I eventually am able to switch to DirectX (i.e. Hardware rendering) you won't have to worry about any of the things you raised. I just need to do some tests to make sure it can properly do desktop alpha blending.

Until then, the larger your skin, the slower it is. Hence the reason I haven't gotten totally behind full screen skins yet.

Cliff :)
Cliff Cawley
Creator of Xion
r2 Studios
http://www.r2.com.au
http://xion.r2.com.au
User avatar
Cliff Cawley
Creator of Xion
 
Posts: 1955
Joined: September 3rd, 2006, 11:33 am
Location: Brisbane, Australia

Postby logokas » May 20th, 2009, 9:19 am

Hahaha, that's impressive. I wasn't expecting something that used software rendering to work that good. Nice one, Cliff.

Well, if you're gonna use DX, i guess you'll have to abandon the possibility of multiplatforming. At this state, Xion could probably run under Wine once it supports the API calls Xion uses. DX instantly makes it a Win-only. Not that i'd dislike that, but i'd have to stick with some crappy Amarok or some other, much poorer audio player.
I shoot and ask questions later.

Take no offense of it.
User avatar
logokas
Xion Addict
 
Posts: 668
Joined: February 25th, 2008, 8:44 am
Location: Estonia

Postby Cliff Cawley » May 20th, 2009, 7:38 pm

logokas Wrote:Hahaha, that's impressive. I wasn't expecting something that used software rendering to work that good. Nice one, Cliff.


Thanks :)

logokas Wrote:Well, if you're gonna use DX, i guess you'll have to abandon the possibility of multiplatforming. At this state, Xion could probably run under Wine once it supports the API calls Xion uses. DX instantly makes it a Win-only. Not that i'd dislike that, but i'd have to stick with some crappy Amarok or some other, much poorer audio player.


Actually I'm fairly sure Wine has also emulated the DirectX library, so it'd still work. I could be wrong, I haven't investigated it.

Cliff :)
Cliff Cawley
Creator of Xion
r2 Studios
http://www.r2.com.au
http://xion.r2.com.au
User avatar
Cliff Cawley
Creator of Xion
 
Posts: 1955
Joined: September 3rd, 2006, 11:33 am
Location: Brisbane, Australia

Postby xonenine » May 21st, 2009, 7:16 am

I intended to take my full screen to the point where it bogged down, and it was mostly an experiment. But I did get to play w/ it for like 2 months, during which I have to admit I noticed that certain fonts slow Xion down way out of proportion, and I just assumed it was me picking "bad fonts".

Any of the ornamental or "webding" type fonts slow it down enough to make it stutter, even in some smaller skins, so I just figured they weren't a good choice...
User avatar
xonenine
Xion Freak
 
Posts: 875
Joined: February 8th, 2008, 1:29 pm
Location: NY

Return to Bugs (Release Build)

Who is online

Users browsing this forum: No registered users and 4 guests

cron