Compressed textures for FanArt - testing here with XBMC 2009-10-05 (r23431) or newer

  Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
galvanash Offline
Senior Member
Posts: 102
Joined: Jan 2010
Reputation: 0
Location: Mostly my couch
Post: #371
Marcus263 Wrote:I'm in the middle of writing up a comprehensive guide for optimising the performance of Apple TV; so far I've taken the Alaska Revisited skin stripped it down to the core, repacked the textures for speed, written up some startup scripts to disable unnecessary services (Printer, Airtunes, Network Time, PBS etc) and given XBMC a 'nice' high priority, optimised all image and XML files to take up a small footprint and it seems to be working. We only have 250megs of RAM to work with and a bad processor but so far so good.

I'm on the bit where I'm optimising the fan art, I've temporarily disabled DDS in advancedsettings.xml so that I can optimise the JPG files (currently set at .tbn). My question is this; A current fan-art downloaded with a file size of 100kb, when optimised with certain tools gives me a 50-60% optimisation, so let's say it's reduced to 50kb in file size. If I then enable DDS in advancedsettings.xml, will it re-encode the existing optimised 50kb file or will it download the original file, re-encode, then save as a DDS, ultimately negating the initial optimisation?

Thank you.

Two things...

1. Optimizing image size (i.e. size in bytes) by tweaking the jpeg/png compression settings is not going to have much if any impact on performance on an Apple TV. It will save disk space of course, but it won't make the images load much faster. The time delta between reading a 100kb file and a 50kb file is going to be virtually zero - the disk i/o (which is actually pretty fast since it is flash based) is completely eclipsed by the rendering overhead. The bottleneck is in the GPU, and everything ends up being a bitmap eventually so the byte size of compressed images is mostly irrelevant.

No matter how much you compress the on disk version of an image, it's size once it reaches the framebuffer is width x height x bitsPerPixel (with the exception of native GPU compression formats - see 2). If you want to increase performance, you should be reducing the resolution of the images, not optimizing the compression.

2. Apple TV's using OpenGL ES and do not support DXT textures (which is what xbmc produces currently when the useddsfanart option is set). As things are now, useddsfanart won't work on an Apple TV. Support for PVR texture compression (which is similar to DXT and serves roughly the same purpose on Apple devices) may be added in the future, but as of right now it is not supported.

Anway, to answer your specific question (caveats mentioned above aside): If you enable dds xbmc will compress the version of the image it already has in it's cache - it will not re-download the image.
find quote
davilla Online
Team-XBMC Developer
Posts: 10,397
Joined: Feb 2008
Reputation: 58
Post: #372
galvanash Wrote:2. Apple TV's using OpenGL ES and do not support DXT textures (which is what xbmc produces currently when the useddsfanart option is set). As things are now, useddsfanart won't work on an Apple TV. Support for PVR texture compression (which is similar to DXT and serves roughly the same purpose on Apple devices) may be added in the future, but as of right now it is not supported.

Actually, on OpenGLES devices, DDS compression does benefit. XBMC will still compress them and while CPU is used to decompress, this seems faster than using png/jpg decompression.

I'm looking into PVR compression but it does have more restrictions than DDS, w must equal h and both must be a power-of-two. PVR can also suffer from boundary edge ringing. The one disadvantage of PVR compression is there is no way to compress on the fly on the native ARM device.


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
jackmeehan Offline
Member
Posts: 82
Joined: Jan 2010
Reputation: 0
Post: #373
This may have been covered before, but is there a way to export the DDS images as well as TBN when exporting Libraries?
find quote
kiboy6 Offline
Fan
Posts: 607
Joined: Mar 2009
Reputation: 0
Post: #374
I have the advanced setting working perfectly for all my fanart - way snappier than it was before.

Way back in this thread I read
Quote:"It's already done by default for skins, through the .xbt file."

Is this definitely the case for all skins? With my puny atom processor, changing between screens with different wallpapers can be quite sluggish. I would love to be sure that as much work as possible is being offloaded to the ION GPU.

There are no .dds files in my skin folder. Are there any files I could manually convert to .dds to get snappier performance? (running BackRow)

Thanks!
find quote
Paraffin Offline
Senior Member
Posts: 139
Joined: Mar 2011
Reputation: 0
Post: #375
I am planning on following this guide

http://htpcguide.info/index.php?option=c...&Itemid=62

After the initial conversion do I need to schedule the conversion regularly or will XBMC handle this
find quote
kiboy6 Offline
Fan
Posts: 607
Joined: Mar 2009
Reputation: 0
Post: #376
I followed the same guide.

After conversion, XBMC will handle it as long as you have "useddsfanart" enabled in advance settings Smile

Not sure if that will do all skin background images as well though...waiting for an answer on that from my post above you ...
find quote
vdrfan Offline
Team-XBMC Developer
Posts: 2,782
Joined: Jan 2008
Reputation: 7
Location: Germany
Post: #377
There's no need to manually convert it. Once the useddsfanart option is set to true via advancedsettings.xml, it will be handled automagically while browsing/caching the library

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules
For troubleshooting and bug reporting please make sure you read this first.
find quote
kiboy6 Offline
Fan
Posts: 607
Joined: Mar 2009
Reputation: 0
Post: #378
Is there any way to set a particular folder to be excluded from the "useddsfanart" rule?

Ronies's excellent Last.fm artist slideshow addon places the cached slideshow images in a folder named "ArtistSlideshow" within the userdata/thumbnails folder.

There's really no need for the dds images to be created here. Most of the images aren't very big anyway, and image loading time isn't an issue within the slideshow.

Therefore I would rather spare the CPU processing effort to make the .dds files, and also save a lot of extra diskspace (this addon rapidly caches 1000s of images).

Any advanced setting possible now / in the future to exclude this folder?

Thanks very much...
find quote
vdrfan Offline
Team-XBMC Developer
Posts: 2,782
Joined: Jan 2008
Reputation: 7
Location: Germany
Post: #379
Ideally 'userdata/thumbnails' is ONLY touched from core. Add-ons usually store their data in the addon_data folder. Anyway, i think you should open a new thread for this _special_ issue.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules
For troubleshooting and bug reporting please make sure you read this first.
find quote
lucifer1306217 Offline
Junior Member
Posts: 1
Joined: Jul 2011
Reputation: 0
Post: #380
Hi,

I was wondering if someone would be kind enough to write a batch file (for WINDOWS) to convert all the .tbn files in the fanart directory to dds. nvcompress or makedds will work since I have both executables.

Appreciate any help.

Thanks,
find quote
Post Reply