Option to give more CPU to IA

were is it??

I have searched my game in options and new game menu but i cannot find the option to give more CPU to IA.
i run the 1.11 version of the game, as far as i know still the latest version.
i saw a stardock guy say it was already in this version however i haven't found it.
can anybody plz tell me were to find it and what exactly does it do, yea it gives the IA more time to calculate things but exactly what does get better with that option.
but most omportant were is the option

7,825 views 17 replies
Reply #1 Top
I think the changelog said the option didn't do anything yet. So don't worry about until the next patch.
Reply #2 Top
well i jsut read the thread were 1.2 beta is announced and one guy asked if this option would be in 1.2 patch
one stardock guy said it was already in 1.11 and said it was in one of the first screens in a new game menu.
but i cannot find it.
Reply #3 Top
i am no tech expert, but shouldn't it be possible, to use some of the cpu-time wasted while the player makes his turn to prepare AI tactics which aren't influenced by the player's actions?

as far as i see, the cpu isn't used while the player interacts, and i can't imagine that the display of the UI eats it all up... i guess the AI could do lots of economy tweaking, planet building and ship development during this time, making the time in between turns shorter or rather the AI better.

just an idea from someone who doesn't know much about it
Reply #4 Top
To Wolf0726:

The processor is indeed used less during a player's turn, and it wouldn't suprise me in the least if a bit of this functionality was already in place, but from a design point of view, that idea can get tricky:

What happens if the play mashes the turn button?
Also, reactions would have to be based on what the player did the previous turn, which may not be the way that the Design of the Game is supposed to function.

This aside, yes, maybe some of these lower cycles could be used for things such as Ship Design, but there's a balance with performance.

Just an idea from a University student in Computer Science.
Reply #6 Top
Yeah, I been looking for that pesky option too. Well, I can wait till 1.2.

Yeah, Tandonmiirs got it right about the why its not done during the turn, but i'm concentrating on the reaction part. Even though the game is already slow on my dinosaur of a computer I'd happily give more time to the AI if it will mean a richer game.
Reply #7 Top
I think that there could be times during player's turn where certain things could be calculated. One of those things is the design of ships. Since it is time consuming, it is done once every year which is once every 52 turns. There are some screens where a player only reads from screan (weekly report, technology researched...) and even if a player does not read it, it takes maybe even 1-2 second until a player starts doing something. During that time, computer could design new ships and this thing can be limited to once every 5 or 10 turns. This way computer will be more competitive.
Reply #8 Top
Why does Iowa need more CPU's?


i lol'd

I think that there could be times during player's turn where certain things could be calculated. One of those things is the design of ships. Since it is time consuming, it is done once every year which is once every 52 turns. There are some screens where a player only reads from screan (weekly report, technology researched...) and even if a player does not read it, it takes maybe even 1-2 second until a player starts doing something. During that time, computer could design new ships and this thing can be limited to once every 5 or 10 turns. This way computer will be more competitive.

that would be nice, it would definately help make the game more interesting
Reply #9 Top
Yeah sounds good, but there is one problem, if it takes two/three turns to build one decent ship, how will the AI decide whether or not to build those ships or upgrade them mid build or aaargh! Even I don't redesign my ships that much. Every 13 weeks or so should be more than enough.

What would make the AI more effective is to spend the time duiring players turns looking at its colonies and making them more efficient with regards to production and research.
Reply #10 Top
The only time the AI needs to design new ships is if it just finished researching a new tech that affects ship design. That's when I do it and that' probably when the AI should do it. It only makes sense.
Reply #11 Top
well without going futher into the debate, stardock already said such an option was already implented in 1.11.
its just, i cannot find it and by the looks of it its not even there.
so my question to stardock now is, will it be in 1.2 and what exactly will it do?
Reply #12 Top
It may depend on whether the program is multi-threaded or not. If it is a single thread, it will be difficult to go off and do other things and keep the UI responsive due to the event driven nature of Windows programming. If it is multi-threaded, you could have a thread in the background crunching some of this stuff but multi-threaded programming has its own set of problems to overcome. Last time I looked into it, most game programming has not moved toward multi-threaded applications yet but I am not an expert in game programming so I could be wrong.
Reply #13 Top
No, the multi-thread option has been in from the beginning. It is an entry in the Prefs.ini, as is the AI setting.
But the AI setting is not working yet, I'm pretty sure. There has been some other threads on it as well. Setting the value to 1 gets changed back to 0 by default.

These are the two entries in the Prefs.ini:
HyperthreadEnhancement=1
AllowCPUIntensiveAlgorithms=0

It already does use dual CPU's, I have verified it on my machine. And the dev's have said so as well.
Reply #14 Top
No, the multi-thread option has been in from the beginning. It is an entry in the Prefs.ini, as is the AI setting.
But the AI setting is not working yet, I'm pretty sure. There has been some other threads on it as well. Setting the value to 1 gets changed back to 0 by default.

These are the two entries in the Prefs.ini:
HyperthreadEnhancement=1
AllowCPUIntensiveAlgorithms=0


You don't understand the difference. Hyperthreading is an Intel CPU ability that is not the same as Multi-threaded programs. Below is a quick explanation of the difference. Keep in mind this is a basic version with no guarantees that it is complete nor accurate in all cases. It also does not insinuate that any of this stuff was invented on PCs or by Microsoft.

Before Hyperthreading and dual cores, a PC ran by executing a single instruction at a time. Even with multi-tasking under windows, it still only exectued a single instruction at a time but switched between programs (called a context switch) so quickly that to the user it was doing multiple things at once but in reality it was only doing 1. Each thread got what was called a timeslice, basically a small part of the CPUs time, to do something. Now a thread is a single execution path in a program. Earlier programs were all single threaded which meant the program only did one thing at a time. Later versions of Windows introduced multi-threaded programming to mainstream PCs. A multi-threaded program is multiple execution paths inside a single process (program) so that multiple things can be happening at the same time from a programs perspective. Whether or not it is simultaneous depends on the hardware but the program does not know about that. But basically the program could have one thread calculating an algorithm while another is drawing a window in the same program. Care has to be taken with multi-threading to avoid things like one thread changing a variable that another is using etc.

Hyperthreading is the ability to run more than one thread simultaneously (well kind of simultaneously) by Intel CPUs that has this capability. It is a hardware capability. This is similar to but not quite the same as a dual core processor. It can be threads from two different programs or two threads from the same program. They are executing in parallel with some exceptions such as access to shared system resources such as memory.

A dual core processor has two distinct cores with their own cache memory such that they as close as can be to executing two (or however many cores there are) things simultaneously but still has a single path access to certain things like drives.

So, hyperthreading is the hardware capability to run multiple threads but does not give a single threaded program the ability to do multiple things at once (multi-threaded capability). It just runs multiple threads from whatever program the OS gives it and improves in some cases the responsiveness of those programs that are multi-threaded. Dual cores take the hyperthreading a step further but again does not give a single threaded program any additional capabilities.

Windows programming is based on events. You press a button on a mouse and you get a message from the OS saying the button has been pressed. If your code is not watching closely for events such as that, the program might seem sluggish because you are doing other things and occasionally looking for messages from the OS. While that gives you the ability to do other things in the background such as the AI, it usually means an unresponsive UI (user interface) which is annoying to users. This is why I say it may have to do with whether the program is multi-threaded. If not, doing things with the AI during a turn might cause UI problems. Unfortunately, multi-threaded programs are more complicated to do and can introduce bugs that are difficult to find.

For those interested, this relates somewhat to the discussion about PS3 and its CPU design. It is a multi-core design and there are a lot of discussions out there about if/why this is more difficult to program than XBox etc.

For those that have a background in what I have discussed above, I realize that I have taken some liberties in what I have said and left some things out. I did this for clarity or at least an attempt at it.
Reply #15 Top
I know between hyperthreading and multi cpu's.
I have been building and using multi cpu systems far longer than hyperthreading has been around.

My current system is a dual core, and my last was a dual processor P3.
Reply #16 Top
nice replies, i just don't understand a thing from them haha
so in short, were can i activite the function and what does it do?
Reply #17 Top
I don't think it is working yet, but it is supposed to allow the AI to do more complicated calculations, I think.
So, if it does get implimented it will take longer for each turn to complete, but the result may be a more competitive AI.