Update on JPEG feature

Informal forum to keep you all informed on development progress

Moderators: aemulor, admin

Post Reply
admin
Site Admin
Posts: 381
Joined: Wed Oct 23, 2002 11:25 pm
Location: Cambridge, England
Contact:

Update on JPEG feature

Post by admin » Mon Mar 27, 2006 3:55 am

Okay, I've collected a few points about the JPEG decoding and I thought it worth posting them here:

- Geminus's JPEG decoding can't accelerate applications that don't use it ;)
A couple of people have commented that JPEG-manipulation apps that they use show no appreciable speed up. Only those applications that (can be configured to) use SpriteExtend will be faster.

- I intend to release updates the open source applications 'djpeg' and 'jpegtrans' to use a Geminus-provided API for faster decoding where possible. This should accelerate those applications which have employed these programs to work around the limitations of SpriteExtend.

- The quoted 3x speed increase applies at 100% scale. Scaled plotting has not been optimised to the same extent, though further improvements will likely be made in future updates.

- Transforming large JPEGs to certain angles, especially 90 degrees clockwise caused rendering to be very slow oweing to an oversight in my code. I am very grateful to Colin Granville for bringing this to my attention and it has now been fixed.

- Extremely small (eg. 8x8) JPEGs were being rejected as invalid images, leading to JCut failing to render. This too has been corrected.

- If, on the IYONIX pc, there is no appreciable speed up, and doubly so if you find that JPEGs render from the bottom to the top of the screen then you are not using Geminus; please check that the 'Accelerate JPEG decoding and plotting' feature is turned on in !GemConfig's Settings pane.

- On the A9home or RiscPC it will be faster than the SpriteExtend module but not as much because those machines have relatively poor screen access (the CPU is spending a lot of time writing the decoded image to the screen) and the SpriteExtend code has already been improved. There should, however, be a visible difference on large JPEGs, say 1600 x 1200 upwards. I've been careful to make this clear in the documentation. Geminus does, however, provide new functionality on these machines by allowing JPEGs to be rotated/reflected/skewed.

- None of the JPEG code is NVidia-specific; it should work equally well on any NVidia card so, unlike the Graphics acceleration feature, there is no reason to suppose that one card should be any faster or slower than another. Having said that, cards and machines apparently do vary quite a bit in their rectangle copying performance; an issue that you should take up with Castle not us; I didn't build the hardware ;)

Adrian

admin
Site Admin
Posts: 381
Joined: Wed Oct 23, 2002 11:25 pm
Location: Cambridge, England
Contact:

Post by admin » Wed Mar 29, 2006 9:25 am

The promised update, version 1.31, is now wending its way to the webserver and should be making an appearance shortly.

This fixes the reported bugs with the JPEG feature, excepting the PhotoFiler conflict for which I cannot see any faults in the code and have no clues to go on at the moment. (Sorry Mike. Please let me know the answers to my questions in the support forum, and anything else that you discover which you think may help.)

I've also tweaked the cache RAM code so that it - fingers crossed! - will do something more useful on large screens such as Dave Ruck's 2048 x 1536 mode. Please let me know - politely! ;) - what happens.

There are a couple of other minor bug fixes too, plus an install script (full version only) for those who like such things, and GemConfig will now load the new version of the Geminus module automatically, when this is possible. Some confusion was caused to users who downloaded the new version, ran GemConfig and found that their old module was still running.

I had implemented it this way because it is not always possible to replace the Geminus module whilst other modules (eg. Aemulor, SpecialFX, DeskDebug and DDT) are active. GemConfig will now try to load the newer version and give a helpful error message if it can't.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest