Database Handicapping Software- JCapper

JCapper Message Board

          JCapper 101
                      -- Data Window Set Affinity

Home Register
Log In
By Data Window Set Affinity
jeff
12/11/2020
10:35:21 AM

Background Info
There is a procedure called SETTING AFFINITY whereby you bring up Windows Task Manager and command Windows which processors you want it to use when running a specific app. By Setting Affinity for the Data Window, and telling Windows to run the Data Window using processors 0 and 1 only – you avoid conflicts that can arise between the JET database driver and today’s newer machines that have 8 or more core processors. (Note: At the time the JET database driver was created personal computers with 8 or more core processors had not yet been invented.)



Link to an illustrated web tutorial for setting affinity:
http://www.addictivetips.com/windows-tips/how-to-set-processor-affinity-to-an-application-in-windows/

Alternately, do your own Google search for the phrase "Set Affinity" to come up with a different web tutorial for the same procedure.




BASIC OPERATING INSTRUCTIONS - How to Set Affinity for the Data Window:

1. Using the CTRL-ALT-DELETE keyboard combination – launch Windows Task Manager.

2. Click the Processes Tab of the Windows Task Manager Interface and find the process for the JCapper Data Window. Hint: The image name for the JCapper Data Window is VBTally2004.exe.

3. RIGHT-CLICK the process for the JCapper Data Window (again it is named VBTally2004.exe) and select SET AFFINITY.

4. You will be presented with a list of core processors on your machine.

--Hint: If your machine has 8 processors they will likely be numbered 0 through 7. YOUR GOAL is to command Windows to run the Data Window using no more than two processors.

What you need to do: UNCHECK all processors except processor 0 and processor 1 and click OK.

From here, operate the Data Window in the normal manner (closing it down in the normal manner when you are done using it.)

Note: Setting Affinity for the Data Window (or any app) from inside of Task Manager lasts only as long as that app's current session. When you shut an app down any Affinity settings you made for that app self terminate along with the app itself. That means that when you launch that same app again (including the JCapper Data Window) you will want to repeat the above steps to and re-set Affinity for that app.

Note: You will probably never need to Set Affinity for the Data Window if your machine has fewer than 8 processors.

Update posted on 12-11-2020: I recently purchased some older machines that have four core processors. The processors on those machines are numbered from 0 to 3.

I've found I can improve performance on those older machines by setting affinity to a single processor only.

After studying cpu and memory usage during various JCapper routines (Calc Races, Data Window Queries, Build Database, .JCP File Build Routines, etc.) is to change affinity for open JCapper program windows from the Windows default of 0-1-2-3 to processor 0 only.

I say that because other open program windows (Firefox, my email client, etc.) seem to hog a lot of the machine's capacity by running not so much on processor 0 - but on processors 1-2-3.

Important note about desktop shortcuts: I've manually created a number of desktop shortcuts:

  • Separate shortcuts for the HDW File Mgr (one for chart data and another for past performance data.)

  • A shortcut for the Main Module.

  • A shortcut for Scratch BOT.

  • A shortcut for the SQL UDM Plays Report.

  • A shortcut for the Data Window.


Fyi, I've embedded an affinity command in the launch instructions for each of those shortcuts.

Here's a link to a text file that contains command lines from the "Target" fields on the Shortcut tab in Task Manager after right clicking the above mentined shortcuts and selecting properties:
http://www.jcapper.com/messageboard/reports/datawindow_affinity.txt

The advantage of doing it this way is that affinity is automatically set when you double click the shortcut.

Imo, much easier than having to manually set affinity in Task Manager each time you open the Data Window.


-jp
.

~Originally posted by: jeff  on:  3/1/2013  at:  3:23:34 PM~

~Edited by: jeff  on:  12/11/2020  at:  10:35:21 AM~

Reply
jeff
12/12/2020
12:27:32 PM
To put a couple of fine points on this:

• On a lot of machines, the default in Task Manager, is to hide Windows System processes - many of which you may not be aware of - and many of which aren't really necessary and/or are eating up ridiculous amounts of CPU and RAM resources.

• To get past this, and see processes for ALL open program windows: Check the Show Processes All Users Box (usually located towards the bottom left of the Task Manager UI.)

• To Set Affinity for open program windows - you need to be on the Processes Tab.

• To Set Affinity for a specific open program window - right click the row for that process - and select Set Affinity.

To see what that looks like in Task Manager, have a look at the following two screenshots --

Here:
http://www.jcapper.com/messageboard/avatars/datawindowaffinity01.jpg

And here:
http://www.jcapper.com/messageboard/avatars/datawindowaffinity02.jpg

• If your Windows settings are such that Windows is hiding the Set Affinity option when you right click a process in Task Manager:

  • You might try using the method described towards the bottom of the main post (above) where I describe creating a new desktop shortcut for a specific JCapper Module like the Data Window - and pasting a valid launch command, for example C:\Windows\System32\cmd.exe /C start "" /affinity 01 "C:\JCapper\exe\VBTally2004.exe" into the Target box for the shortcut.

    And from there, launch that process (for example the JCapper Data Window) by double clicking the desktop shortcut.)


  • Alternately, you might try going into msconfig and checking "use original boot configuration" as posted by dsnyder24 on 04-04-2011 in a thread I found on a Microsoft Help Forum, here.


• The link to the Set Affinity tutorial in my main post (above) is specific to older (Win7 and earlier) operating systems.

• Here's a link to a Win10 Set Affinity tutorial:
How to Set CPU Affinity in Windows 10 with Task Manager or System Properties



-jp
.

Reply
jeff
12/14/2023
4:54:06 PM
For CPU's with 4 or more core processors, and that means pretty much every new machine these days:

I suggest Setting Affinity to either 1 or 2 core processors when running any JCapper module.

On each of my own machines I manually created a series of desktop shortcuts, one for the Main Module, one for the HDW File Mgr, one for the Data Window, one for Scratch BOT, one for the HTML Report Viewer, one for the SQL UDM Plays Report, etc. --

Each of the shortcuts has a Set Affinity command embedded in the properties text that launches the .exe file for that module.

That way when I double-click a shortcut, the .exe file for the individual JCapper module runs in the specified core processors only -- which is optimal for 32 bit apps written in Visual Basic 6.0 like JCapper.


Here's a link to a text file that contains a Set Affinity command embedded into the launch text for the .exe files for a handful of JCapper Modules:
http://www.JCapper.com/MessageBoard/Reports/datawindow_affinity.txt


How to use:

1. Right-click anywhere on your Desktop, select New, and select Shortcut.

2. When you get to the screen asking you for the shortcut's target file with text that says "Type the Location of the Item" -- hit the Browse button to the right of the box.

3. Simply cut and paste the line of launch text for the desired module from the above text file into the "Type the Location of the Item" box.

4. Hit Next, and finish creating the shortcut.

That's It!

When you double-click the new shortcut, the .exe file for that module will open in a new program window with Affinity already set.

And the JCapper module launched by the shortcut will run on the specified processor(s) only.


-jp
.


Reply
Reply

Copyright © 2018 JCapper Software              back to the JCapper Message Board              www.JCapper.com