Hi Byron On Tuesday 11 May 2004 08:45 am, Byron Q. Desnoyers Winmill wrote: > Is read_comm_pipe_pvoid_blocking() supposed to halt the execution > of filesys_thread() until there is something in the pipe? (If so, > it would appear to be the problem.) Yes. Here's an idea. Trying adding the line #undef UAE_FILESYS_THREADS to the top of filesys.c (after the #include directives). This should build a non-threaded version of the virtual filesystem (hard file support cannot currently be built without threads). > > The performance of the thread layer is not significant to the > > performance of UAE. > > This is because there is only n+1 threads, where n is the number > of hardfiles? If there are no hardfiles, which was the case when > I was using the SDL linked version, then there is no impact on > performance? The virtual filesystem layer will also use threads if the UAE_FILESYS_THREADS macro is defined (the build scripts currently define it by default - this could be changed). So, yes, there'll be n+1 threads, where n is the number of emulated drives. The bsdsocket emulation and the SCSI emulation both use threads, too. In most cases, these systems are not critical to the overall performance of UAE, though. The major bottlenecks are the CPU emulation and the chipset emulation (including the rendering of the native display). Which of these two is the most significant depends on what kind of software you are running in the emulation. > I haven't done a quantitative comparison, but it is very evident > that the redraws are slower in SDL. Whether this impacts on the > performance of the rest of the emulator is an open question. By 'redraws' you mean general screen update speed? This will affect the speed of UAE. > Or perhaps the problem is with how SDL is being used. I would > imagine that the X version is still dealing with Quartz because I > am using Apple's X server (in rootless mode, though I doubt that > makes a difference). I have also used the SDL version of Kegs > (Apple IIgs emulator) without seeing a significant degredation of > performance. I'll have a look at UAE's SDL layer again. It's possible that it's doing some naive things. I know much more about the internals of SDL now then when I last worked on it (I've been hacking on the AmigaOS 4.0 port of SDL), so it's quite possible that things can be improved. Cheers, Rich