Question

A project I have been working on for several years apparently has gotten so large that the tooltip evaluation of symbols and expressions when in design mode is very sluggish. Despite having a quad core with 4GB of RAM (only 3 GB is relevant since it's Windows XP), when I hover the mouse over code items the tooltip look-ups can frequently take 3 to 7 seconds. Every now and then I hit some part of the code that causes a big hit on the hard drive and those can take up to 15 seconds to complete. I can only assume that the data structures that Delphi uses for symbol tables and other code items involved in tooltip driven look-ups has gotten unwieldy.

I don't want to turn off tooltip evaluation because it is invaluable to my work. Is there a technique or IDE plug-in that could help speed up the tooltip evaluation in the Delphi 6 IDE?

Was it helpful?

Solution

The first thing to try is Andreas Hausladen's DelphiSpeedUp. Frankly, if that doesn't do anything for you there's not much else left to try.

Oh, and for what it's worth, your Delphi IDE will only be able to see 2GB of address space since it is a 32 bit process which does not mark itself as LARGEADDRESSAWARE.

OTHER TIPS

A code clean up of unused units could help. It can be done with the free / open source tools cnWizards (Uses Cleaner wizard) and Icarus. (Icarus also shows which units can be moved from interface to implementation).

It also helps to reduce project build and link time (in one project, it dropped from 30+ seconds to 5).

This happens to me too. A guy I work with has implemented his own custom code-completion system, which I am not at liberty to share, but which is pretty cool. The closest commercial thing that I have seen to what you're asking for is Castalia, although it focuses on speeding up code-completion, rather than code-insight and tooltips, I believe it does both.

Note that my experience is on much newer versions of Delphi. In my opinion, Delphi 6 and Delphi 7 code completion can't be much improved upon except by abandoning Delphi 6 and Delphi 7.

You might find that adding all your units to your project .dpr file and reducing and eliminating as many folders from your search path, and your library path as possible helps. Also, you might want to make your component folders all use a common DCU output folder, and keep only that one DCU-based folder in your library path. That always speeds up Delphi 6/Delphi 7 for me.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top