Questions for Stu:
1. I assume the number of CUSTOMGRAPH$ and GAUGE$ affects the workload of WC. Would setting the update/uploading times for those two groups to different times (say, 2 and 3 minutes, or some other small Prime number) help 'spread the load'?
2. Does the uploading of the webcam movie usually take more time than it's 'construction'?
3. I assume reducing the number of movie 'frames' (individual camera jpeg images) will speed up the movie creation time.
1. Not much.
2. There isn't anything to construct - it's already constructed - the MOVIE$ will only upload on the first upload past the hour - it'll upload the movie for the previous hour.
3. No, the movie is constructed as time moves forward (at the rate you set in the webcam preferences), so at the end of the hour, it's all done (and ready for upload by the MOVIE$ tag).
Here's a little background into how it all works.
WeatherCat is highly multithreaded - internally it is made up of a bunch of managers, each of these runs on its own thread - typically there'll be 30 or 40 whilst WeatherCat is running. There are managers for the webcam, movie creation, stats, data management, time, weather station hardware, plugins, custom web, simple web and so on.
(In addition, there are a bunch of plug-ins that plug into WeatherCat (via the plugin manager) - the station driver for your hardware, banner generator, on-line services (weather bug for example), live data view, SQL driver, current conditions calculator - again, these all run on their own threads)
When a manager (or plug-in) in WeatherCat wants some information (or to do something), it sends a message to another manager (or plugin) to get the data or perform the action - the reply will come in some time later (either with the data it was after or the result of the action it wanted carried out).
This has two benefits - 1: It spreads the workload across your processing cores, 2: it means there are no dependencies between these things - they have to have defined interfaces with defined messages, which makes programming easier for me
So in the case of processing your custom web templates, the custom web manager will start reading your files - as it sees a tag, it'll dispatch it to the right manager to get the data - for example a STAT$ tag is dispatched to the stats manager. Sometime later the result comes in - in this case it'll be very quick but the custom web processing doesn't wait for this result - it moves on to the next tag. As a side note, this is the reason why a tag like DOTSEPARATORS$ (forces decimal points to be a full stop character rather than localised) applies to the whole file - WeatherCat will look for these kind of tags before doing any other processing.
Anyway, once it has all the results, it does the replacement of the tags, saves the resulting file then moves on to the next file in your template set.
Some tags take longer than others to process - I think the longest one to process is any of the webcam image tags (WCAM$ for example). The custom web manager sends a message to the webcam manager saying get me the current image please. The webcam manager starts looking at the images coming in from the camera - when they are consistent (i.e. for black level, colour balance, contrast etc) it saves an image then replies back the custom web manager that the image is ready - the tag result is now available and the custom web manager will add the image to the upload queue.
This analysis of the images can take a long time - if the images are coming from a URL or a file on disk, then it doesn't take much time at all. If however it's a locally connected USB camera then it can take longer - USB webcams when not in use may go to sleep and when they wake up it can take a while for the image to stabilise - this is what the webcam manager is looking for before it grabs an image (it actually does this every time it grabs an image for whatever client - whether it be custom web, the movie manager, wunderground or just to save an image to disk (as set in your webcam preferences).
Clients of the webcam manager can also request the image is scaled in some way i.e. WCAM320$ - it'll do this processing after the above analysis and capture before returning the result to the client.
You can track the custom web processing in WeatherCat's log window - you'll see messages like:
08:27:56 29-Aug-2015: CustomWeb: Generating web cam picture.
08:27:56 29-Aug-2015: CustomWeb: Waiting for web cam picture to stabilise.
08:28:02 29-Aug-2015: CustomWeb: Getting web cam image files.
Finally, MenuMeters is pretty good -
http://www.ragingmenace.com/software/menumeters/ - everything here runs these (doesn't run on 10.11 however, possibly due to system integrity protection?).
Speaking of 10.11 - I wouldn't recommend it for WeatherCat at the moment - you will have issues. I have a beta build incoming which fixes all the problems as of 10.11 beta 7, which you should wait for if considering trying the 10.11 beta.
Hope that helps!