Skip navigation

Experiencing lagging with Particle Fire

Forum NavigationHome > Forum Index > Longbow Support > Experiencing lagging with Particle Fire
Level 10 Human
Alignment: True neutral
Posted on January 12, 2014 at 12:31 am

I haven't payed enough attention to recall whether this has been a problem previously, but today I noticed that there's quite a bit of lagging going on with Particle Fire. Adjusting the fade speed and number of particles doesn't appear to make any noticeable difference to the performance, while reducing the screensaver's resolution introduces a slight improvement, the lower I go. However, the native screen resolution is the only setting that will display the screensaver in widescreen. With that being said, though, I noticed that disabling the multi-coloured fire option made a drastic improvement to the performance, making everything run all smooth without any skips.

I have no clue what could be causing the screensaver to perform so poorly with the multi-coloured fire option enabled. My system is an Acer Aspire V5-573G notebook running Windows 8 64-bit on an Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz (4 CPUs), ~2.4GHz, with 8 GB RAM and DirectX 11. The current CPU usage is at ~2 %, as I write this, so I don't think there is anything devious running in the background. Also, if I preview the screensaver from Windows' screensaver settings, full screen, the CPU usage appears to peak at only 9% with the multti-coloured fire setting enabled.

I'm not sure what's going on ?

Level 14 Extraplanar Programmer
Alignment: Chaotic good
Location: Toronto
Posted on January 14, 2014 at 4:30 am

It's possible that it's legitimately running out of CPU.

So, I ran a quick test on my machine, and sure enough, Particle Fire is a lot more efficient with multi-coloured fire turned off. On my machine, it takes 6% of the CPU with it enabled, and only 4% with it disabled.

Even this might seem a little high. Back when Particle Fire was written some 16 years ago (!) it was written using Microsoft's GDI library, which was state-of-the-art at the time, and it was hardware accelerated until Microsoft redesigned the graphics stack with Windows Vista. Microsoft kind of abandoned GDI at that point; it still works, but they disabled hardware acceleration, which means it's putting a lot more strain on the CPU than it used to.

But why would it max out at only 9%?

Well, Particle Fire is a single-threaded program. Ten years ago if you had a 1.8GHz processor, a single app would be able to use 100% of the processor, but now your processor has four cores, so a single-threaded app can only use 25% of that.

But you're still nowhere near 25%, right? Well, now we bring in hyper threading. Your CPU has 4 physical cores, but hyper threading turns those into 8 logical cores, so a single-threaded app can only use 12.5% of the total CPU available. Now things are getting dicey; if you were reading 9%, it's not unreasonable to think that sometimes it gets up to 12.5%.

If you go into your BIOS, there might be a setting to turn off hyper threading. This should enable Particle Fire (and other single-threaded apps) to use a full 25% of the processor.

Level 10 Human
Alignment: True neutral
Posted on January 21, 2014 at 3:02 pm

Thanks for the informative reply ! I'm not very tech-savvy, but if I have understood this correctly, would disabling hyper threading result in any noticeably lower performance for applications that do use multi-core threading ?

Level 14 Extraplanar Programmer
Alignment: Chaotic good
Location: Toronto
Posted on January 22, 2014 at 8:06 pm

Noticeably? Probably not. Although it's very application-specific.