Jump to content

Ironcad Performance Tips


Mike Twining

Recommended Posts

Recently there have been some complaints about computer performance with respect to IronCAD around our office...unfortunately coming from people who received "hand-me-down" computers (never meant for CAD). Although I didn't think those individuals would in any way need more power for what they were working on, I was wrong. The following are some of the tweaks made to the computers to try to extract every possible ounce of performance out of 'em.

 

#1: DISABLE HYPERTHREADING!!!!

WHAT IT IS:- Hyperthreading is a little "feature" introduced by Microsoft to trick your computer into thinking that it has more processors than it really does. It helps a lot if you are doing multiple small tasks, but it hurts a TON when you are doing one single computationally intensive tasks. It is controlled by the BIOS of your computer (enabled/disabled) only.

 

WAYS TO TELL IF IT IS ON:- You need to know a little about your computer to tell if hyperthreading is enabled. Easyest way (in my opinion) is to open up the taskmanager (taskmgr.exe, or Ctrl-Alt-Del 1 time), and go to the tab labled "Performance". Take a look at the top graph. You should have one section for every physical processor you have. If you have 1 processor and 2 CPU History graphs, Hyperthreading is on. If you have a fancy new "Core Duo" or a multi-core processor, you should only see 1 graph per core. 2 graphs per core, and hyperthreading is enabled. In the photo below, I am showing 4 processors; which is 2 x Dual core processors. Hyperthreadding is disabled in this case.

 

-Then, there is the direct approach, which is to just go into your bios and take a look. If you know what you are doing, this is the easyest way because if it is on, you can just turn it off immediately.

 

HOW TO TOGGLE IT:- Again, Hyperthreading is controlled by your BIOS, therefore you will need to gain access to it. This is (generally) achieved by pressing some button (F1, F10, Insert, Delete... it depends on the manufacturer) while the computer is booting up, AFTER the video card posts, and BEFORE you see any Windows marking). Then you make your way through the menu structure (every one is different, and it can change with BIOS updates). If you think you have Hyperthreading enabled, but you cant find the setting, try updating your BIOS to the latest version.

 

#2: MINIMIZE THE SWAP!!!!

WHAT IT IS:- The windows swpafile (or pagefile) is space available on your hard drive to fake memory. Your worst enemy in performance is when you memory needs exceed the available RAM. Windows with then begin to use your hard drive as memory. Your hard drive is SOOOOO much slower than your RAM it is ridiculous.

 

WAYS TO TELL IF YOU ARE SWAPPING:- If you are sitting around waiting for IronCAD to do some work and still waiting and waitingtake a look at the Taskmanager again. On the same Performance tab, the bottom graph, titled Page File Usage History shows you how much of your pagefile (or swapfile) you are using. If the yellow line is ramping up while you are waiting for IronCAD, you are swapping.

 

post-1137-1208450562_thumb.jpg

Notice the yellow line "ramping" up.... that is the swap working away.

 

WHAT TO DO ABOUT IT:- Unfortunately there is not much you can to solve this problem other than increasing your physical RAM. DO NOT try to adjust the size of the pagefile in windows as a solution your problem is RAM size NOT pagefile size. My personal recommendation is to fill every single available memory slot in your motherboard with the biggest and fastest memory you can get your hands on. Memory is the single most efficient way you can spend your money to get return on performance.

 

#3: BOOT WITH THE /3GB SWITCH!!!

WHAT IT IS:- Windows is a hog. Until we can get IronCAD to run on Linux, we are stuck with it. By default, Windows reserves ½ of your physical RAM for use for itself (just the operating system), leaving the other ½ of your RAM for your applications (like IronCAD). The /3GB switch alters the ratios (the figures escape me right now) in your favor. Now that you have more memory than you know what to do with, you want to use as much of it as possible in IronCAD. Boot using the /3GB switch, and you are going to get as much as you can. Using this switch will cause windows to use the swap file later rather than sooner (see #2 above).

 

WAYS TO TELL IF YOU ARE USING THE /3GB SWITHC ON BOOT:- This is both easy and hard. The /3GB switch is NEVER used by default, meaning that someone would have had to go in and make the change manually. If you didnt do it, or instruct anyone else to, you are probably are not using it. You can view your BOOT.ini file (which controls the windows startup options) various ways (it is a hidden system file), which I will leave up to you.

 

WHAT YOU NEED TO USE IT:- The /3GB switch generally works with the 32-bit version of Windows 2000/XP (64-bit Operating systems have it built inkinda.). You will need 2Gb of physical RAM before you will benefit from the switch. You should have Windows XP SP 2 installed before making the attempt cause there was a bug in previous releases that could render your computer un-bootable when using the switch (and the potential is there even with SP2 installed).

 

HOW TO DO IT:- This has been discussed numerous times on this forum, so I will just provide some links:

 

Link #1

 

HOW I DO IT:- Ive been burned bad by the switch. No-boot, re-install, data loss all the IT horror stories have hit me because I was over-confident. I recommend to ANYONE attempting to use the switch to do it like this and save yourself the pain that I went through ( I am still looking for the source code for the last version of my IronCAD EasySave program.). The following is a copy of my boot.ini file:

 

[boot loader]

timeout=10

default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP /3GB" /noexecute=optin /fastdetect /3GB

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Pro" /noexecute=optin /fastdetect

 

Notice that I have two entries under operating system. This gives me the choice at startup of using the switch or not. If you are a CAD-most-of-the-time kinda person, I recommend having the /3GB switch line first. The fist entry on the list (matching the Default definition) gets run when the timeout time has expired. If Bill Gates decides that your computer needs to re-boot in the middle of the night, the /3GB option will be started if it is the first matching entry.

 

If you are still having problems after implementing the /3GB switch, you can try to adjust the "USERVA" setting (which provides specific adjustment of how much memory goes where when used with the /3GB switch). Much more about what it does, and what has worked for people in the past can be found on this thread.

 

#4: UPDATE YOUR VIDEO DRIVERS!!!

If you call any Tech support with software related issues, the first thing on the list to say is: Do you have the latest video drivers installed?. As frustrating as that is to hear, especially when you KNOW that is not the problem, I have seen instances where updating the drivers actually solved problems. Just do it it cant hurt.

 

#5: ONLY USE WHAT YOU NEED!!!

This relates mainly to problems encountered (or time spent) waiting for drawings to update to the scenes. In 3D, IronCAD has 2 Kernels available (ACIS and Parasolid). In the drawing mode, there are 2 type of rendering (Draft and Precise). As it turns out, the primary Kernel used to draw a part in 3D (r.c.-> Part Properties) is loosely tied to the quality of the view in 2D. You can gather from the names that the Draft drawing mode is much faster than the Precise drawing mode in 2D. What you might not know is that the Precise drawing mode works flawlessly* with a Parasolid part, and the Draft drawing mode works flawlessly* with ACIS parts. If you cross paths (ACIS-Precise or Parasolid-Draft) oddities can creep into your views. If performance is an issue, and the ACIS kernel (in combination with the Draft drawing mode) can handle your geometry AND you dont need any of the 2D features that the Precise mode provides, you should make the attempt to be an ACIS-Draft person (that coming from a Parasolid-Precise guy). That should save you some time.

 

A sub part of this section would be to close all the application that you dont need, which are taking a portion of all the nice memory you just had installed away from IronCAD.

 

#6: WHEN IS DOUBT, BACK IT OUT!!!

WHAT IT MEANS:- Applications normally give and take RAM as required. IronCAD is tight when it comes to memory and as long as the application is running, it is not going to give up the memory it has reserved. This is normally a good thing except when the gremlins start showing up. If weird things start happening to you in IronCAD, do yourself a favor: Save, Close the File, and EXIT IRONCAD. Most Gremlins get scared away when IronCAD exits, but if you press too long, the Gremlins can turn into bugs, and errors in your save files. When that happens you are screwed.

 

#7A: SMOKE 'EM IF YOU GOT 'EM!!!

WHAT IT MEANS:- These days, more people have TRUE multiple processors or multiple "core" processors than not. This is TOTALLY seporate from the "Hypethreading" issue up top (in which Windows trys to make ONE processor act like multiple). Windows makes every attempt to balance the processing load across all the CPU "cores" that it can see, by default allowing every program or service running to utilize any of the available CPU's. This is great if you are doing 100 different simple things, but works against you if you are doing a few difficult things. IronCAD, being a single threaded program (new advanced rendering feature excluded) which utilizes a lot of CPU power, would work a lot better if it could have one of those cores to itself and let every other process wait in line for the other one. Kina like a traffic-free carpool only lane just for IronCAD.

 

HOW TO DO IT (THE HARD WAY)- Within the windows Taks Manager (taskmgr.exe), under the "Processes" tab, is a list of ever single process that your conputer is working on. If you right-click and one of those processes, you will see a "Set Affinity..." option. When you select this you will see a list of all the available processors/cores with a check box (check by default) next to every one of them. This is where you can allow/deny a process to use a specific core. The basic idea of the whole thing is to go through every singe one of these processes and remove (for example) the check box next to CPU 1 (leaving CPU 0 checked...cause a process needs to be run somewhere)...EXCEPT for Ironcad.exe, which you should CHECK CPU 1 and UNCHECK CPU 0 (basically the inverse of every other process). The result is that IronCAD gets CPU 1 all to itself while everything else has to share CPU 0.

 

HOW TO DO IT (THE EASY WAY)- There is a program that I have used in the past called "SMP SeeSaw" (official link here) which can do all of this with a couple clicks. Note, that if you go this route, there is a different version of the program for 2-processors (the easy interface) and for more than 2 processors (the hard interface).

 

NOTE TO RENDERERS: The new Ioroncad external renderer is aparently a "multithreaded" application, meaning it can take advantage of using multiple processors at the same time. If you plan on rendering some images using this feature, you will likely want to "allow" IronCAD to use all your processors in order to finish the rendering faster. Keep in mind though, IronCAD may decide it wants to drive in the slow lane (as opposed to the Carpool lane) some and you may take a performance hit in the program itself.

 

#7B: FAKE IT IF YOU DON'T

Company too cheap to get you a fancy multi-core computer? There is one thing you can do to try to compensate for that, however it is definately a "use at your own risk" option. Windows Taskmanager will allow you to set the "Priority" rating of an individual process. On the "Processes" tab, simply right-click the process (i.e. ironcad.exe) you want to adjust. By default programs are set to "Normal" priority, but you will notice that there are 3 higher options. Each one of those will allow IronCAD to "cut" in line for the processor... they just determine how far you can cut. I would definately avoid setting IC to "Realtime" as all your other processes and applications will likely slow to a crawl. I only recommend increasing this one notch at a time until there is no further performace gain. If you do change the setting Windows will let you know that you may cause other applications to crash...

Edited by Mike Twining
Link to comment
Share on other sites

YES.. good tips... I need to go back an reset some things...so I may need to buy another computer since with my luck I will probably turn this one into junk..

 

 

 

On another note.. I wonder what Kevin did to get his rating knocked down to a cylinder.. HA HA... newbie!

 

 

Link to comment
Share on other sites

  • 1 year later...

 

"#7B: FAKE IT IF YOU DON'T

............I only recommend increasing this one notch at a time until there is no further performace gain. If you do change the setting Windows will let you know that you may cause other applications to crash..."

 

HA..HA..HA... always a trap behind the door..

Link to comment
Share on other sites

  • 1 year later...
  • 1 year later...

Howdy, first post here. I am trying to implement the "Disable Hyperthreading" tip from the first post on this thread. My computer is deliberately weak (an Asus Eee Netbook running Windows XP, single Intel Atom CPU N270 @ 1.60 GHz, 1024 MB installed RAM) with an American Megatrends BIOS (ASUS 1005HA ACPI BIOS Rev 1401, Core Version 1401, Build Date 02/26/10, EC Firmware Version EPCD-034). I haven't been able to find any reference to hyperthreading in the BIOS. The only configurable setting that I can find that might apply is on the "Advanced" tab, under "CPU Configuration", there is a "Max CPUID Value Limit" which is set (default) to "Disabled" for Windows XP. When I set this to "Enabled" then boot the computer and run Task Manager (Performance tab) I still show one CPU profile with two graphs that I know are separate because the graphs have slightly different shapes as they move along over time. Family of questions:

 

- Is disabling hyperthreading still the correct approach to improve Inovate (2009 PU1 and 2011) performance on a single core machine?

- Is disabling hyperthreading possible on my machine at all?

- If disabling hyperthreading is correct and possible, are there required steps that need to be performed that I'm not doing?

 

For now I have set the BIOS back to the factory settings. Thanks,

- Osa Fitch

osa.fitch@lunacityenterprises.com

Link to comment
Share on other sites

  • 6 months later...
  • 4 years later...
  • BSTAFF unpinned this topic

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...