Release Video Explorer 3.0.0.61: Critical Bug Fixes
#35
NOTE RE: Object Caching

VideoExplorer uses what I refer to as object caching to drastically speed things up and make movie loading ridiculously fast after they'e been loaded at least once without caching (to be cached).

The caching is a simple concept. When I load a movie the normal way, not from cache, it takes time because I have let MediaInfo interrogate the movie and then I have to unpack the resutls of that interrogation into a whole hierarchy of objects in memory, which are then in turn bound to the various grids in VideoExplorer.

Obviously, if you can get away with doing all that only once, and from then on just keep reloading that same object hierarchy from somewhere directly, without MediaInfo getting involved again, things will be a LOT faster.

In an application like VideoExplorer you can get away with that because most of the time users will be re-loading movies they've already loaded before, a lot, because people will tend to load entire folders full of movies at a time, that aren't really changing very often.

I take advantage of that fact and I serialise the object hierarchy that contains all the information returned by MediaInfo to disk so that the next time that same movie is loaded again I can just deserialise that info straight from disk and NOT do a full MediaInfo parse on that movie file again.

The speed improvement from doing that is dramatic.

THE PROBLEM is that you need to be aware that this is going on because IF something does change about a given movie, then obviously any cached data about that movie will NOT be valid any longer.

If you remux a movie or remove header stripping from movies from within VideoExplorer that will trigger an automatic update of the cache for the relevant movies so that any changes made to the movie as a result of the remuxing will automatically be persisted to the cache.

In addition to that, VideoExplorer caters for you relocating movies and moving them around on your disks. If it has a movie cached and you relocate that movie, it will STILL use the correct cached object when you load that movie from it's new location AND VideoExplorer will automatically update the cached object to reflect the new location immediately. In other words, it automatically updates and repairs the cache for you, to a certain extent.

And in addition to that. sometimes when I release a new version of Video Explorer I do something that alters the way a particular value that appears in a particular column on one of the grids is calculated or derived internally, or I add a new column altogether, and that can also make any cached data become at least partially invalid.

To work around those problems there are several things I've done:

1. I give you the tick box labelled "Use Info Cache" (top right under the Search Filter) to allow you to very easily force VideoExplorer to ignore the cache and do a full re-load and full MediaInfo interrogation on all Movies that you load.

2. When I release a new version of VideoExplorer and I know that I've done something that is going to invalidate some of the information in the cache, I flip a special switch on my side that forces VideoExplorer to clear your object cache completely ONCE ONLY after the new version runs for the first time. It will ONLY do that once and then the flag resets to off.

That will happen without you knowing or being prompted and I make that decision.

3. I have added an option to the right-click menu of the main grid to allow you to "Clear Object Cache" whenever you like. That will instantly delete every single cache object for you and ensure that ANYTHING you load form that point on will be parsed by MediaInfo again and re-cached.

IN SUMMARY

If you are seeing any weird values on the grids, or suddenly a particular column on one of the grids has no values in it after an update, or anything similar, always clear the object cache (or untick the "Use Info Cache" tickbox) and reload your movies and see if that resolves the issues.

I try my best to make things backward compatible and to make upgrades seamless, but it's hard to always get it perfectly right for everybody.

If, after clearing your cache and reloading, you are still having issues, then please post your issues here so that I can look into it for you and fix it.
Reply


Messages In This Thread
RE: Video Explorer v2.1.5.0: Quick Remux to remove streams, batch analysis with MediaInfo - by SiliconKid - 2014-01-26, 07:55
RE: Video Explorer v2.1.6.1 - by MasterPhW - 2014-01-27, 14:15
RE: Video Explorer v2.3.0.0: - by SiliconKid - 2014-02-05, 22:31
RE: Video Explorer v3: RELEASED ! - by LEDFan - 2014-03-26, 17:31
RE: Video Explorer v3: RELEASED ! - by LEDFan - 2014-03-26, 17:56
RE: Video Explorer v3: RELEASED ! - by LEDFan - 2014-03-26, 18:04
Logout Mark Read Team Forum Stats Members Help
Video Explorer 3.0.0.61: Critical Bug Fixes1