OK, I have completed my test. And have seen that the user interface performance has improved significantly. The ribbon no longer causes screen flickers and crashes.
It all seemed like it was finally going to allow me to touch type and a decent speed; up until a few minutes its CPU usage starts to rise and rise; peaking at 90% even when I am not using it or doing anything.
The worst experience comes when you compile. After that, then starts the status bar flashing and 10-15 words per minute type speed with no auto complete (except for UDT period completion).
I ended up installing Indigo 1.33; which works about 3 times faster than 1.4. 1.33 is about half as fast as the Synergy IDE, but it packs better features although I am back with the unhighlighted local types etc; but that is more bearable than 10-15 words per minute.
Log file crash
Sometimes the error report is still in use and the program tries to access it, but throws this exception:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.IO.IOException: The process cannot access the file 'G:\TGC\TEMP\ErrorReport.txt' because it is being used by another process.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share)
at System.Windows.Forms.RichTextBox.LoadFile(String path, RichTextBoxStreamType fileType)
at frmCompile.(Object , EventArgs )
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.296 (RTMGDR.030319-2900)
CodeBase: file:///c:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Indigo
Assembly Version: 1.4.0.6
Win32 Version: 1.4.0.6
CodeBase: file:///G:/Indigo%20v1.4.0%20Beta%206/Indigo.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 10.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1001 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.225 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1002 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1001 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Qios.DevSuite.Components
Assembly Version: 4.0.0.20
Win32 Version: 4.0.0.20
CodeBase: file:///G:/Indigo%20v1.4.0%20Beta%206/Qios.DevSuite.Components.DLL
----------------------------------------
WeifenLuo.WinFormsUI.Docking
Assembly Version: 2.5.0.2000
Win32 Version: 2.5.0.2000
CodeBase: file:///G:/Indigo%20v1.4.0%20Beta%206/WeifenLuo.WinFormsUI.Docking.DLL
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.225 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Design
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.225 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Design/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Design.dll
----------------------------------------
System.Management
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
ScintillaNet
Assembly Version: 2.2.4568.17413
Win32 Version: 2.2.0.1
CodeBase: file:///G:/Indigo%20v1.4.0%20Beta%206/ScintillaNet.DLL
----------------------------------------
System.Web
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.272 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
DBA crash
You can't open a .DBA file; period. It will crash immediately with the following:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at frmCodeElements.updateCodeSolution(Int32 thisInclude)
at frmCodeElements.(Object , EventArgs )
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.296 (RTMGDR.030319-2900)
CodeBase: file:///c:/WINDOWS/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
Indigo
Assembly Version: 1.4.0.6
Win32 Version: 1.4.0.6
CodeBase: file:///G:/Indigo%20v1.4.0%20Beta%206/Indigo.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 10.0.0.0
Win32 Version: 10.0.30319.1 built by: RTMRel
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1001 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.225 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1002 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1001 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
Qios.DevSuite.Components
Assembly Version: 4.0.0.20
Win32 Version: 4.0.0.20
CodeBase: file:///G:/Indigo%20v1.4.0%20Beta%206/Qios.DevSuite.Components.DLL
----------------------------------------
WeifenLuo.WinFormsUI.Docking
Assembly Version: 2.5.0.2000
Win32 Version: 2.5.0.2000
CodeBase: file:///G:/Indigo%20v1.4.0%20Beta%206/WeifenLuo.WinFormsUI.Docking.DLL
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.225 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Design
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.225 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Design/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Design.dll
----------------------------------------
System.Management
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
ScintillaNet
Assembly Version: 2.2.4568.17413
Win32 Version: 2.2.0.1
CodeBase: file:///G:/Indigo%20v1.4.0%20Beta%206/ScintillaNet.DLL
----------------------------------------
System.Web
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.272 built by: RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.1 (RTMRel.030319-0100)
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Observation of performace
I tried to make a report of how the performance is and this is what I came up with.
Observing the process list and after frequently using Indigo in a work session, there are two behaviours of performance that have been spotted.
A: When Indigo has UI focus, it consumes 80-90% of the CPU, leaving 20% for the compiler, which simply stalls. When you take the focus away from indigo, and select another window in another program, the compiler consumes the usual high level of CPU use, and indigo’s usage drops to 20-30%.
Something is running which is slowing things down when the window has focus; it might be the whole update pipeline but should this be burning rubber calculating things whilst nothing is being done?
B: In other cases, indigo simply uses more of the CPU than the compiler.
Giving the compiler high priority, forces the system to speed it up thus a given compilation that takes 40 seconds, ends up taking 10 seconds.
In both scenarios, the performance declines the more you often you fire that compile command. I do not understand why there are two behaviours I am seeing here, perhaps one is related to UI, and the later is related to communication with the compiler. It used to be possible to use Visual Studio and Indigo at the same time, but now when VS is in focus, indigo still uses up more of the CPU than VS.
This is not the case with 1.33; its CPU usage is moderate at 50-70%. Perhaps some plugin or component is performing a recursive calculation repetitively, who knows.
At least the difference between the two versions indicates where the issue is.
Hopefully I'll be getting some funds in a few weeks so I can donate more for this thing.
Auto-complete bug
It is case sensitive to a degree. If you type something in different case, instead of auto completing, it appends the command at the end of what should have been the command. EG: position objPosition Object.
Minor ideas for features for the future {* = priority}
*** Bookmarks!
*** Multi-declaration on single line syntax highlight. EG: Local x#, y#, z# : Global Left, Right, Up, Down
![](/images/smilies/cry.gif)
** Find and replace with match case sensitivity, and whole word.
** Function parameter count error check
** Plugins (.Net) I think that was asked for before
![](/images/smilies/lick.gif)
** Performance debugger list; something that lists the tick rate of Indigo's features so that more effective testing can be performed; at least during Beta stages.
* An error list, so that you can see that there are errors in an unopened project file.
* No auto-complete when you paste text. EG: No need to auto complete loads of lines of code simply pasted from a document.
* An option (or forced like in VS) to display auto-complete in alphabetical order, so scrolling up or down means you can actually look for the entry.
* No error reporting of code in comments
* Search wildcard check box option(* any characters up until. \n new line. \t tab. +One or more. ? zero or more)
* Cancel key button or click button for open all includes; what happens when you accidentally click it with over 100 includes in a project? The rest is history.