Long time passing...

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:

Long time passing...

Post by admin » Tue Jun 15, 2004 4:44 pm

It's probably about time I posted a quick update, especially since - with Aemulor Pro first release out of the way - I'm actively working on Cino again now.

The version we demoed at Wakefield (somewhat reluctantly on my part, oweing to lack of progress) was only a marginal improvement on the Guildford code.

So, where are we now? Well, I've done a bit of work on the audio decoding which - since we were using ported Linux code for demo purposes - was eating a fair bit of CPU time. It's now much less prone to breaking up when the compression ratio's low or there's a lot of video decoding to be done.

The video decoding hasn't changed much yet, just odd tweaks here and there, but playing from RAM (having prefetched a good few MB of the data stream into memory) Cino manages an even 10fps now.

Cheating, you may think? Well, assuming I can get DMA going for DVD access then the CPU shouldn't be involved in reading the data, so we should get this performance playing from DVD too. (Interestingly, when poking around, I've discovered that the RAM disc only returns data at 17MB/s! :o A bit embarrassing for someone.)

So, we should definitely get 12.5fps, but I'm still aiming for the full complement of 25 and there's still plenty of ways to speed up the code. Dropping B-type frames, as discussed earlier, means that most sequences actually play pretty well already.

BTW, don't expect 64-bit maths in C to be efficient; I've about quartered the number of instructions used in the IFFT that lies at the heart of Dolby decoding!

timothy
Posts: 6
Joined: Tue Aug 05, 2003 8:52 am
Location: Godalming, Surrey

Post by timothy » Fri Jun 18, 2004 11:31 pm

Regarding this RAM speed you mention, is this a known problem. I assume it should be faster. Do you know if it's just a bug in the OS that can be fixed?

It's important to understand the difference between normal RAM access (CPU <-> DRAM) which affects the performance of almost everything, and access to the RAM Filing System (which is used very little) and goes through FileSwitch, FileCore and then RAMFS.

I'd say it's not so much a bug, as maybe a design oversight in the software (it's probably doing something inappropriate, like copying the data into a cache as well as reading it...which is pointless, indeed probably harmful, when the data's already held in RAM). You could argue that it's not very important, however, since RAMFS isn't used too often, and certainly I'd rather see development effort concentrated elsewhere.

However, I'd like to be sure that this silliness doesn't impact the performance of other filing systems - ADFS, CDFS, SCSIFS and - of course! - DVDFS ;) - so I may explore further.

I have wondered if there was a bottleneck somewhere in the Iyonix. Compared to my SA233 RiscPC it's got 2.5x faster processor, supposedly 25x faster memory and a graphics card but some programs just don't run as fast as I would think.


The 2.5x CPU speed increase is a best case which is attained only by reworking the code for the XScale pipeline. This is something most programmers won't do and tends to be most beneficial in performance-critical code like Aemulor, Cino and JPEG compression/decompression.

I'd say 2.2x increase seems about right if the code's CPU-intensive, which Quake probably is.

In your experience of poking around with an Iyonix are there any parts which are slower than a SA RiscPC which offsets the speed increases?

Only screen reading AFAIK, which really isn't done much by the OS in normal use, though PCI bus writes for plotting to the screen could be improved in a number of areas, or better still offloaded to the graphics card.

I can't offer you any performances figures for screen reading, however. I just observed it to be very slow and completely avoided it in Pro & Cino :E

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

Post by admin » Sat Jun 19, 2004 11:08 pm

Well, look at that, I seem to have managed to edit your post, rather than reply to it, Timothy. Sorry for any confusion!

Never trust a low-level programmer with admin access to a web forum!
And I don't know enough to be able to restore it, if that's even possible, sorry! :(

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest