Problem with updating TCanvas

Dear ROOTERS,

I wrote a small GUI program that reproduces a performance issue with Root. The issue is that Root continuously does a FASTIO_READ operation on the font file arialbd.ttf when updating a histogram.

Attached is the program to keep filling the histogram with random data and display the histogram on the TCanvas continuously. The TCanvas is updated every 1000 ticks. I also put a TText object as the title of the histogram on the TCanvas. The TText object is only updated once at the beginning. I use Procmon (Process Monitor) to monitor the operations that ROOT does each time when the TCanvas is updated. It turns out that ROOT only does one operation: keeps doing FASTIO_READ on an arialbd.ttf file (…\root\fonts\arialbd.ttf) when the TCanvas is updated.
Even when I remove the TText object from the TCanvas, ROOT still do FASTIO_READ. I also trace the stack for the operation of FASTIO_READ and put it in the attachment (StackFASTIO_READ.xls).

My question is why the arialbd.ttf is always being called when update the histogram?
Is there a way to cache the font files to prevent this extra disk i/o? Or use some other font?
My OS is Win7 (both 32 and64 bit). The ROOT version I use is 5.28.00.b (both debug and non-debug)

Thank you very much for your advice.

Cheers
StackFASTIO_READ.xls (37 KB)
samplegui.C (23.2 KB)

In principal there is a caching system implemented in the TTF management.
One thing you can do is to not use the TTF fonts by setting:

Unix.*.Root.UseTTFonts: false

in $ROOTSYS/etc/system.rootrc

I have changed the setting to false. But it still call the .ttf file. I am using Windows7 64 bit computer.

Thank you.

[quote=“couet”]In principal there is a caching system implemented in the TTF management.
One thing you can do is to not use the TTF fonts by setting:

Unix.*.Root.UseTTFonts: false

in $ROOTSYS/etc/system.rootrc[/quote]

does the look of the test changes a bit ?

In fact you are on windows… so TTF is always used … sorry I did not see it …

Any ideas on how to resolve the continual file read of the .ttf font file when updating a canvas?
Or maybe a contact name for TTF support?

buddy

Yes, it looks like a TTF matter…

FT_Load_Glyph does that each time it is called.