Phpthumbof tends to be slow uncached. You may be able to improve that by turning off the phpThumbOfCacheManager plugin, which clears your cache folder every time you clear the cache. That means every time you clear the cache you have to regenerate your thumbnails, which can be pretty slow especially if the original image is big. So if you don't clear the cache folder when clearing the site cache, the thumbnails are still there and phpThumbOf doesn't have to regenerate them.
I don't think you need to render your TVs to use output filters. They're basically just snippets, just feed them the raw TV. However, using nested snippets inside getResources will slow it down a lot for sure. I think your uncached performance is unlikely to get much better with this setup.
I use Amazon S3 and have a lot of thumbnails. I use getPage and getResources and lots of nested snippet calls because I'm doing fancy things with my thumbs. Uncached, my pages take about 5 sec to render -- that's with every optimization I can think of, and it's a huge improvement over not using the includeTVList parameter.
That's why I use a bit of JS to regenerate my cache when I'm done working. It looks like this (requires jquery):
<script type="text/javascript">// <![CDATA[
allcats = new Array();
[[!getResources? parents=`52,1565,70,1564,80` &tpl=`allcats.tpl` &limit=`0`]];
var m=0;
for (x in allcats) {
m++;
}
function milliDif()
{
var d = new Date();
return d.getTime()
}
function catfetch(m,i) {
var t=setTimeout(function(){
$('#url-list').append('<p>fetching '+allcats[i]+'...</p>');
start = milliDif();
$.get(allcats[i], function() {
end = milliDif();
elapsed = end - start;
$('#url-list').append('<p>'+allcats[i]+' regenerated in '+elapsed+' ms</p>');
i++;
if (i<=m) catfetch(m,i);
});
},100);
}
catfetch(m,1);
// ]]></script>
<div id="url-list"></div>
Where the parents are my main category pages, and allcats.tpl looks like this:
n = [[+idx]];
allcats[n] = '[[~[[+id]]]]';
I have a page with nothing but this code on it, and I leave it unpublished. After I clear the cache, I just view the page and it regens all of my category pages.
As for a better way to display images, the only thing I can think of is to make a plugin that uses phpThumbOf to create the thumb when you save a resource, and then store the name of the thumbnail file in a TV. Then just call the TV straight. I haven't implemented this though. Cached performance is fine, and improving uncached performance isn't the highest priority.