Whenever we talk about performance, I always make the point that it is 
important to base analysis on careful measurements of performance in the field, 
and not rely entirely on intuition as to bottlenecks and optimisation 
strategies.

TiddlyWiki has some basic performance monitoring facilities built in: turn on 
“Performance instrumentation” in the “Settings” tab of control panel and you’ll 
see some basic performance stats about each refresh cycle in the browser 
developer console.

But I also wanted to answer Mat’s original post in a slightly different way.

Consider video games. Specifically, there’s a class of games where one controls 
a car whizzing around a 3D race track. If you play or watch such games you 
might notice a strange artefact whereby parts of the landscape pop into 
existence as you drive closer to them: a row of palm trees that suddenly 
appears as you go around a bend, or a mountain that flickers into existence as 
you draw closer.

It’s easy to understand what’s going on: even modern video game platforms are 
limited to the number of surfaces that they can draw in the brief time allowed 
for a frame. So, games typically arrange things so that only the surfaces that 
are visible are actually drawn, and any surfaces that are guaranteed to be 
invisible are simply skipped (eg because they are behind the observer, or 
obscured by another object). Then the entire “level” is designed to carefully 
control the number of surfaces that need to be drawn.

There’s a lot of complex and brittle logic behind all of this, and the 
flickering artefacts are the symptoms of the algorithms sometimes getting 
things wrong. But one key thing is that the designers of the game have a pretty 
high degree of control over all the factors that impact performance, and so can 
pretty effectively hide the limitations of the platform from most users.

That control is at all levels from the micro (like how the surfaces are drawn) 
to the macro (like regulating the track layout so that only a portion is ever 
visible at once).

TiddlyWiki, on the other hand is very different. Unlike a game, it allows the 
user to do anything that is allowed by the laws of physics. The system can try 
to optimise at the micro level, but there’s nothing stopping users doing things 
at a macro level that will kill performance.

What I’m driving at is that I think there is an aspect to TiddlyWiki’s 
“slowness” that is inevitable given the openness of it’s design. However much 
we manage to optimise specific use cases like the “recent” tab, it’ll always be 
possible to construct a TiddlyWiki that is both useful and slow.

Best wishes

Jeremy


> On 11 Dec 2017, at 22:28, Tobias Beer <beertob...@gmail.com> wrote:
> 
> Hi Mat,
> 
> Playing with it, I'm not sure. :D
> 
> Attached is a template for that.
> 
> Anyhow, I think limiting the recent tab should be slightly easier than it 
> currently is.
> 
> best -tb 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "TiddlyWikiDev" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to tiddlywikidev+unsubscr...@googlegroups.com 
> <mailto:tiddlywikidev+unsubscr...@googlegroups.com>.
> To post to this group, send email to tiddlywikidev@googlegroups.com 
> <mailto:tiddlywikidev@googlegroups.com>.
> Visit this group at https://groups.google.com/group/tiddlywikidev 
> <https://groups.google.com/group/tiddlywikidev>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/tiddlywikidev/27358fe7-215c-44dc-bb50-2636de0cefcf%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/tiddlywikidev/27358fe7-215c-44dc-bb50-2636de0cefcf%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.
> <$__core_ui_SideBar_Recent.tid>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/9A017165-C1A3-4AEB-A271-6F8FE5B3C282%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to