Disclaimer

Kronos plugin is released under the GPL license. You must agree to the terms of 'Copying.txt' before using the plugin or its source code.


Description

This is a filter for Avisynth 2.5 that provides a simple and easy way to benchmark or profile filter chains (i.e. combination of several filter calls, like mfToon). This is done by using 2 functions, StartTimer() and StopTimer() that should called respectively before the filter chain, and after it:

Hence, the difference is the time the filter chain really took to execute. This time however doesn't only account for the real execution time:

The first point can be reduced by the use of GetThreadTimes, as suggested by Kassandro in this thread about his own filter AVSTimer, while the second can't be eliminated; still as suggested by Kassandro, running the benchmark on a sufficient number of frames should reduce a part of this error. This is even more true as the filter's initialization often go through a particular process, and caching can produce very variable measures on a few frames.
This is disabled for now, as the accuracy of this function brings worse results than a very precise measure that doesn't account for multithreading.

Last very usefull addition hinted by Kassandro is the use of explicit timers. As you can run up to 6 timers in the same script file, it is needed to distinguish them, by using a required parameter, timer, which is the name you want to give to the timer, most probably a name linked to the filter chain you're benchmarking (like "deen").

In order to provide easy access to the results, several means are offered:


Before getting started

(otherwise known as Nota Bene)

There are several points you must know before getting into trouble. Although you would have found thme by yourself, here is an exhaustive list:


Syntax

I assume you are sufficiently familiar with AviSynth to build your own filters, otherwise I suggest you read the AviSynth's FAQ.

StartTimer(string timer)
StopTimer(string timer, boolean full, boolean mb, string logfile)

Options are:


Examples

As it is contains graphics, I leave you the possibility to disable viewing of pictures before opening the example page.


File download

Purposedly, the package are put last. So, get on of those files!

[Kronos 1.4 - with help] - 142Ko (examples.html and this page included)
[Kronos 1.4] - 27Ko (just the dll, source and txt file)


Yet it should be obvious, you can reach me here: kuroso (at) inforezo (dot) org