Thursday, October 24, 2013

GIMP is Slow - And So Are We To Act - Part Two


There is hope for a Windows GIMP user wanting to further reduce the amount of time spent waiting for GIMP to display the application window. Unfortunately, the steps required of you will have a negative affect on your operating system and applications.

I don't recommend you do what I describe here. I only undertake discussing it in Erratalog because I have done it, and I have found that I can live with the results. You, on the other hand, may get quite angry should you do what I tell you not to do.

If you follow the instructions outlined in this blog post, you will lose system and application functionality. Therefore, you should consider these steps as being harmful to your computer.

Again, I do not recommend you follow these instructions. Any harm you cause to you or your system are your doing. This blog post is simply a tool to set that harm in motion, with you being the fool wielding that tool.

The task involves moving a great many and specific system protected True Type Font and True Type Font Collection files out of the Windows system fonts folder. If you installed Windows to the default location of a hard drive whose letter is "C", this folder is situated at C:/Windows/Fonts. All of the moved fonts support foreign language characters and are very much invisible to us if we never require or use them, with a few exceptions.

You will not be using a font manager to move these files since they will be of no help. Even if they display these protected foreign character fonts, they won't remove them from the system fonts folder.

The specific font files moved out of this folder are installed at the time Windows is installed, or subsequently if you ask Windows or other applications to provide or enable language support for foreign languages, or if they require it. These font files are both protected and hidden by the system by default, for the most part. So you may be totally unaware they are there, or you've seen them and shrugged your shoulders wondering what in hell they are doing on your computer.

When you visit a Chinese web site, you see the very same Chinese text the web site developer sees in your uni-lingual English Windows operating system and in browser applications and the like. If you install a Chinese developed Windows application that permits you to switch between an English-language application interface or a Chinese one, you'll also enjoy the benefit of having these font files. They allow you to make your application look just like it does in the screenshots featured on the Chinese developer's native language web site.

If the ReadMe.txt or Help.chm or Help.htm file accompanying this application is Chinese-only, these fonts allow you to view the text as actual Chinese characters. You can cut and paste this text into other files, applications, or into search engine or translator web site input fields.

Other fonts enable your Windows to employ Arabic language text in file names and extensions, such as when you save an Arabic web page whose title is totally Arabic to your hard drive. It exposes and enables you to work in a tremendous number of languages, even if you only work in one language. The system supports it even though you personally don't work on the computer in that language.

Moving the fonts out of the Windows system folder breaks all this unique functionality in your system, and much more. The above paragraphs provide a small sampling of what can or may be lost to you and your system. You won't see foreign language characters. Instead, you'll see garbage characters replacing them since the system no longer has character data with which to place on your screen - so it throws up whatever is handy, and usually, it's quite ugly to look at. Lots of little square boxes with numbers in them, all perfectly uniform in appearance, and all positively useless.

This specific  thread  is where I discovered the method discussed here. The reply by "support-ing" on February 11, 2010 is the specific entry where the method is described. You should visit his web site and get the most up-to-date version of the 2manyfonts batch file he created and the very necessary instructions you need to follow in order to make it work correctly. Save the instructions to a file. Write them down. Memorize them. You know what works best for you.

These instructions are solely for those whose Windows install supports US-English, UK-English, or any uni-lingual English variant that is nearly identical, and whose user only requires support for this language and it's characters alone. Those whose systems support creoles/krios, pidgins, or other variants whose roots are English and/or other languages should not follow these instructions. ie: If your mother or father use the system and require krio support, even if you don't, these instructions will harm their use of the computer.

You need to have administrative priviledges on the system in order to use the batch file. If the computer isn't yours, or you are not the administrator, I highly advise you to get permission from the administrator or owner of the system you are using. Most system administrators, if not all, will recommend that you do NOT do this to your system, for very good reasons. They certainly won't like the idea of you doing it to a company or shared computer. If you are uncomfortable doing it, get the administrator to do it for you. Once you see the admin do it, you'll see how easy it is.

The batch file references over one hundred True Type Font and True Type font Collection (TTF and TTC) font files, and moves them all out of the Windows font folder. All of the font files it references are fonts that are protected by Windows in certain Windows installations. Many of them will exist in your Windows fonts folder. Those that do not will exist in other Windows computers. The commonality is that they all have the system protecting and/or hiding them.

Here's why I used the 2manyfonts batch file.

Each time a change is detected in your collection of active font files by GIMP, it is forced to interrogate all of the font files in the system when GIMP is starting up. Many of these foreign character font files protected by the system are very large, occupying many megabytes of storage, and add a significant amount of time to GIMP start-ups. By moving them out of the Windows font folder, you'll notice a significant reduction in font interrogation time whenever GIMP interrogates fonts. Any other applications that have this font interrogation behaviour benefit in the same manner.

Less files to interrogate means less time and CPU spent interrogating. GIMP loads faster. You get to use GIMP faster. You are more productive because you aren't leaving the office to have a beer or cigarette or coffee while GIMP loads.

Here are all the TTF/TTC fonts that resided in my Windows font folder before I ran the 2manyfonts batch file procedure on my system. I had already removed a great many fonts using the MainType font manager, some two hundred plus. The files marked with !!! after the modification date/time were moved by 2manyfonts. Note the file sizes of what gets moved, and what stays.

Filename.............................File Size.....Modification Date

batang.ttc                          16,264,732    10/06/2009 5:26 PM!!!
gulim.ttc                           13,524,972    10/06/2009 5:26 PM!!!
meiryo.ttc                           9,533,888    10/06/2009 5:26 PM!!!
meiryob.ttc                          9,749,256    10/06/2009 5:26 PM!!!
mingliu.ttc                         32,217,124    10/06/2009 5:25 PM!!!
mingliub.ttc                        33,805,700    10/06/2009 5:25 PM!!!
msgothic.ttc                         9,176,636    10/06/2009 5:26 PM!!!
msmincho.ttc                        10,057,108    10/06/2009 5:26 PM!!!
simsun.ttc                          15,323,200    10/06/2009 5:25 PM!!!
arial.ttf                              778,552    10/05/2011 6:38 PM
arialbd.ttf                            749,004    16/01/2011 7:35 PM
arialbi.ttf                            561,924    16/01/2011 7:35 PM
ariali.ttf                             555,884    16/01/2011 7:35 PM
cour.ttf                               709,600    10/06/2009 5:26 PM
courbd.ttf                             710,192    10/06/2009 5:26 PM
courbi.ttf                             530,336    10/06/2009 5:26 PM
couri.ttf                              618,240    10/06/2009 5:26 PM
ebrima.ttf                             304,428    10/06/2009 5:26 PM!!!
ebrimabd.ttf                           298,952    10/06/2009 5:26 PM!!!
estre.ttf                              110,436    10/06/2009 5:25 PM!!!
euphemia.ttf                           172,656    10/06/2009 5:26 PM!!!
gautami.ttf                            256,384    10/06/2009 5:26 PM!!!
gautamib.ttf                           221,268    10/06/2009 5:26 PM!!!
himalaya.ttf                           610,104    10/06/2009 5:26 PM!!!
iskpota.ttf                            548,036    10/06/2009 5:26 PM!!!
iskpotab.ttf                           368,924    10/06/2009 5:26 PM!!!
kalinga.ttf                            212,356    10/06/2009 5:26 PM!!!
kalingab.ttf                           205,636    10/06/2009 5:26 PM!!!
kartika.ttf                            131,264    10/06/2009 5:26 PM!!!
kartikab.ttf                           126,460    10/06/2009 5:26 PM!!!
KhmerUI.ttf                            330,464    10/06/2009 5:26 PM!!!
KhmerUIb.ttf                           263,864    10/06/2009 5:26 PM!!!
LaoUI.ttf                               97,516    10/06/2009 5:26 PM!!!
LaoUIb.ttf                              88,700    10/06/2009 5:26 PM!!!
latha.ttf                              120,848    10/06/2009 5:26 PM!!!
lathab.ttf                             119,848    10/06/2009 5:26 PM!!!
lucon.ttf                              115,016    10/06/2009 5:26 PM
malgun.ttf                           4,337,296    10/06/2009 5:26 PM!!!
malgunbd.ttf                         4,515,044    10/06/2009 5:26 PM!!!
mangal.ttf                             206,260    04/11/2010 9:59 PM!!!
mangalb.ttf                            191,892    04/11/2010 9:59 PM!!!
marlett.ttf                             26,672    10/06/2009 5:26 PM
micross.ttf                            652,664    10/06/2009 5:26 PM
monbaiti.ttf                           356,576    10/06/2009 5:26 PM!!!
msjh.ttf                            21,663,376    10/06/2009 5:25 PM!!!
msjhbd.ttf                          14,512,072    10/06/2009 5:26 PM!!!
msyh.ttf                            21,767,952    10/06/2009 5:25 PM!!!
msyhbd.ttf                          14,602,860    10/06/2009 5:25 PM!!!
msyi.ttf                               342,124    10/06/2009 5:26 PM!!!
mvboli.ttf                              84,940    10/06/2009 5:25 PM!!!
ntailu.ttf                              82,864    10/06/2009 5:26 PM!!!
ntailub.ttf                             75,552    10/06/2009 5:26 PM!!!
nyala.ttf                              438,016    10/06/2009 5:26 PM!!!
phagspa.ttf                            146,496    10/06/2009 5:26 PM!!!
phagspab.ttf                           150,228    10/06/2009 5:26 PM!!!
plantc.ttf                             118,824    10/06/2009 5:26 PM!!!
raavi.ttf                               94,300    10/06/2009 5:26 PM!!!
raavib.ttf                              93,800    10/06/2009 5:26 PM!!!
segoeui.ttf                            516,560    16/01/2011 7:34 PM
segoeuib.ttf                           497,372    16/01/2011 7:34 PM
segoeuii.ttf                           385,560    16/01/2011 7:34 PM
segoeuil.ttf                           330,908    10/06/2009 5:26 PM
segoeuiz.ttf                           398,148    16/01/2011 7:34 PM
seguisb.ttf                            406,192    10/06/2009 5:26 PM
seguisym.ttf                           842,104   04/07/2012 11:13 AM
shruti.ttf                             270,172    10/06/2009 5:26 PM!!!
shrutib.ttf                            235,340    10/06/2009 5:26 PM!!!
simsunb.ttf                         15,406,288    10/06/2009 5:25 PM!!!
sylfaen.ttf                            228,348    10/06/2009 5:26 PM!!!
tahoma.ttf                             700,180    10/05/2011 6:38 PM
tahomabd.ttf                           648,008    16/01/2011 7:35 PM
taile.ttf                               72,008    10/06/2009 5:26 PM!!!
taileb.ttf                              63,364    10/06/2009 5:26 PM!!!
times.ttf                              834,240   04/11/2010 10:00 PM
timesbd.ttf                            840,736   04/11/2010 10:00 PM
timesbi.ttf                            619,972   04/11/2010 10:00 PM
timesi.ttf                             661,244   04/11/2010 10:00 PM
tunga.ttf                              188,908    10/06/2009 5:26 PM!!!
tungab.ttf                             174,896    10/06/2009 5:26 PM!!!
verdana.ttf                            191,344   25/08/2011 10:59 PM
vrinda.ttf                             259,520    10/06/2009 5:26 PM!!!
vrindab.ttf                            257,672    10/06/2009 5:26 PM!!!


Here is what remained after running 2manyfonts.

Filename..........................File Size.....Modification Date

arial.ttf                           778,552    10/05/2011 6:38 PM
arialbd.ttf                         749,004    16/01/2011 7:35 PM
arialbi.ttf                         561,924    16/01/2011 7:35 PM
ariali.ttf                          555,884    16/01/2011 7:35 PM
cour.ttf                            709,600    10/06/2009 5:26 PM
courbd.ttf                          710,192    10/06/2009 5:26 PM
courbi.ttf                          530,336    10/06/2009 5:26 PM
couri.ttf                           618,240    10/06/2009 5:26 PM
lucon.ttf                           115,016    10/06/2009 5:26 PM
marlett.ttf                          26,672    10/06/2009 5:26 PM
micross.ttf                         652,664    10/06/2009 5:26 PM
segoeui.ttf                         516,560    16/01/2011 7:34 PM
segoeuib.ttf                        497,372    16/01/2011 7:34 PM
segoeuii.ttf                        385,560    16/01/2011 7:34 PM
segoeuil.ttf                        330,908    10/06/2009 5:26 PM
segoeuiz.ttf                        398,148    16/01/2011 7:34 PM
seguisb.ttf                         406,192    10/06/2009 5:26 PM
seguisym.ttf                        842,104   04/07/2012 11:13 AM
tahoma.ttf                          700,180    10/05/2011 6:38 PM
tahomabd.ttf                        648,008    16/01/2011 7:35 PM
times.ttf                           834,240   04/11/2010 10:00 PM
timesbd.ttf                         840,736   04/11/2010 10:00 PM
timesbi.ttf                         619,972   04/11/2010 10:00 PM
timesi.ttf                          661,244   04/11/2010 10:00 PM
verdana.ttf                         191,344   25/08/2011 10:59 PM


The real gain, for me, is in moving out two hundred and forty-two megabytes of TTF/TTC font data, leaving behind a paltry eighteen megabytes. Your mileage may differ. It is not uncommon to have over three hundred megabytes of these foreign fonts. On my netbook computer with an anemic first generation Atom CPU that always struggles to fire up GIMP, or anything for that matter, a several minute wait while GIMP interrogated fonts was reduced to less than twenty seconds interrogating fonts. You can imagine how much I hated firing up GIMP on that P.O.S. system (No, it's not used as a point of sale device).

The 2manyfonts batch file does not address the numerous FON files on a system. These files are also problematic with respect to moving them out of the Windows font folder. A number of FON-type files are system critical, and Windows may not boot without them. The FON-type font files don't affect GIMP font interrogation nearly as much since they are all very small. But they do clutter up the Text tool in GIMP if you have over a hundred of them as I do on my box.

I didn't add these 100+ FON files to Windows. They're there as part of the Windows install and/or in support of specific hardware/devices and driver software associated with them. So I suspect many others out there have the same issue.

I'll leave discussion about FON-type files for another day.