CPU Processing Priority Click menu Setup | Charts and observe the check box option to Give Priority to Data Feed, Less on Graphics.

When this box is checked, the pace at which chart graphics are updated will change from the pace of 3 times per second to a slower pace of once per second. The savings in the CPU burden doing the chart graphics will permit the CPU to process the data feed, which may be a needed reallocation of CPU resources when markets are extremely active. The objective is to give more priority to processing the data feed to keep the CPU from lagging behind because of heavy volume.
In normal markets, it is suggested the box be unchecked so the chart graphics update at the intended pace of 3 times a second. On those occassional days when volume is very heavy and the feed experiences lag because the CPU is overburdened, you can use this option to reallocate CPU processing. The trade off is to reduce the frequency of the chart image updating in favor of more CPU bandwidth to process the inbound ticks.
# Bars Shift Chart Leftward This feature controls how far a chart shifts leftward when it has reached the right side edge of the chart. Moving the chart leftward a greater distance increases the right side margin. The right side margin space is then filled with bars before the chart needs to move leftward again. Reducing the frequency of the leftward shift is a savings in CPU burden. If the entry as a value of 1, then it behaves as before and there is no CPU burden benefit.
Optimize Speed The Optimize Speed option on the Chart Property form is a flag to skip doing study recalculations when the price has not changed. The Give Priority option just changes the pace at which the graphics will be updated to change from the current 3 times a second, if needed, to once a second, if needed.
Efficient Real-Estate The next savings in CPU burden comes from a behind the scene improvement to be smarter on the size of the chart's graphics rectangle that was changed by an update to the chart. In the past, the design was to have a bit map in memory of the full right margin of the chart, and in this margin the last 2 bars are drawn and the study line segments that represents the current line curve are drawn. When the margin is wide, the majority of the area is a static image of the grid background.
The speed improvement is to use the minimal size rectangle that needs to be replaced on the chart that represents the last 2 bars and the studies on the chart. This minimal size rectangle of graphic real-estate can be considerably smaller than redrawing the full right margin. By working with the smaller rectangle, there is a CPU burden savings when it is copied from the memory bitmap to the display graphics. This can be a huge savings in CPU burden, depending on the size of the right side margin and if the chart graphics are rather simple and tightly contained.
Large Symbol Lists Some users, typically eSignal or IQfeed users, have over 400 symbols on the Setup | Manager list. In the past, Ensign maintained tick and minute data bases for all symbols on the Setup | Manager, and a huge symbol list creates a big CPU burden. The change was to maintain database files for databases that exist, instead of for all symbols on the Setup | Manager list.
When a user has 400+ symbols, I really doubt they have looked at tick or minute based charts for all these symbols. Most likely, they have the high symbol count for the sake of having prices on quote pages, or for daily, weekly or monthly charts. So, it would benefit the CPU burden issue to not build tick and minute database files when they are not being used.
If you open a tick, range, volume, seconds, or intra-day chart, the building of the databases will be initiated and you need do nothing more. The symbol's databases will be created and continue to be updated. If you put a symbol on the Setup | Manager list, but never open one of the tick or intra-day bar charts, then the database will not be initiated, and the CPU burden will be saved by not doing the databases.
The idea is simple enough. If you open a chart that uses the databases, they will be created and maintained. A daily, weekly and monthly chart do not use the tick or minute databases. Their chart database is the individual daily, weekly or monthly chart file. The chart file is the database, and this file gets updated from the quote page, and not from a tick or minute database file.
This change in the data feed processing will be a huge CPU burden savings to customers with hundreds of symbols on their Setup | Manager list. Ensign still has to process the inbound data stream for all symbols to update the quote pages, test for price alerts, etc, but possibly can skip an unnecessary task of building tick and database files when they are never used.
Delete Database Folders Now those who have used Ensign for the past year have been building lots of database files with a folder for each symbol. Many of these are futures symbols that have expired. Expired symbol are removed from the Setup | Manager symbol lists and replaced with currently trading futures symbols. But the database folders for the expired symbols are still present on the computer's hard disk.

On the Setup | Charts | Maintanance form is task #3, which reads: Delete Database folders for symbols no longer on the Setup | Manager list. By checking box #3 and clicking the Perform Selected tasks button, the program will compare the database folders in the \Ticks\ and \Minutes\ directories with the six symbol lists. These six lists are the 6 tabs on the Setup | Manager form. On the Setup | Manager form, the list on tab 1 may contain eSignal symbols, tab 2 may have IQFeed symbols, and tab 3 may have Interactive Broker symbols, etc. If a database folder is found for a symbol that is NOT on any symbol list, then the folder is deleted as well as the database files that were in that folder.
On the Maintanance form is task #4, which reads: Delete Database folders for symbols that do not have intra-day or tick based charts. By checking box #4 and clicking the Perform Selected tasks button, the program will compare the database folders in the \Ticks\ and \Minutes\ directories with the files in the chart folders, which are \Tick\, \Tick2\, \Range\, \Range2\, \Volume\, \Volume2\, \Second\, \Second2\, \Minute\, and \Minute2\. If a folder is found for a symbol that is NOT building an intra-day chart or a tick based chart, then the database folder is deleted as well as the database files that were in the folder.
Performing tasks #3 and #4 will keep Ensign database folders in sync with how you use the program, and minimize the CPU burden by not building database files when they will not be utilized.
In summary, the CPU speed improvements are these:
1) You can change the frequency of the chart graphical update to be once per second, and this would be done when markets are very heavy and the CPU bandwidth needs to be shifted to processing the data feed.
2) Updating chart graphics will use a smaller rectangle of chart margin area, as needed, instead of repainting the entire right margin. This savings can be significant depending on the complexity of the graphics to be repainted and the size of the right margin.
3) Database building will be more intelligent to skip building databases for symbols without tick or intra-day based charts. This will benefit those with several hundred symbols on the Setup | Manager lists where the purpose of the symbols was to update quote pages.
And new management tools to delete obsolete database folders on the Setup | Charts | Maintenance form have been added. You are encouraged to use the latest version and provide feedback about the effort to make Ensign Windows more efficient and able to perform well in the high volume markets seen more frequently of late, and probably will be the case more frequently in the future.
read more » Tune-up Ensign read more » CPU Burden
Last modified 11/19/08 8:14 PM
|