If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Well, as I said the built-in NPVR screensaver causes a temporary power spike when it moves the fixed image around so I imagine if it did this every second instead of every several seconds I would see the same constant extra power usage.

Did you try my suggestion of adding a logging message in GetRenderList() function of your plugin and your screen saver?

Did you try my suggestion of adding a logging message in GetRenderList() function of your plugin and your screen saver?

I just did and you are of course right. It calls it once a second for several seconds and then starts calling it ~40 times each second when the power usage spikes. What issue in NeedsRendering() could cause this?

Its probably something to do with NeedsRendering() returning true, but not getting a chance to render because of the screensaver being on top and gets rendered instead, so it gets in a bit of a tight loop.

There is a few ways to fix it, but given your code isnt in front of me, the easiest fix is probably what Martin suggested. at the top of your plugin's NeedsRendering() method add:

If it's not the plugin, and seems to be caused by the screensaver (ie, happens regardless of what screen it's sitting on), then you'd need to take a look at your screen saver NeedsRendering() call to see what exactly is returning true continually and modify it to only true in the situations where you want the screen updated.

I put another logging message in for GetRenderList() on the plugin screen (not the popup/screensaver). I then put in the check at the top of NeedsRendering() that you and Martin suggested. Testing with the default NPVR "FixedImage" screensaver, GetRenderList() for the plugin screen is still being called multiple times even with NeedsRendering() returning false? I also am logging when it returns false so I have verified it is returning false when the screensaver is active.

I know the built in screensaver isnt very optimal. With some options it produces a hole through which you can see the plugin below, so it renders the plugin too. Wattage wasnt high on my list of considerations. You're probably better off just focusing on your own plugin.