Bad Company 2 Beta Benchmark

Page 3 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

EvilComputer92

Golden Member
Aug 25, 2004
1,316
0
0
You don't know what you're talking about. I see other people already addressed that.



Does the term beta mean anything to you? :hmm:

Not this stupid excuse. There is about 4 weeks left until the game is released and the beta finishes on February 28. The game is shipped to manufacturing 3 weeks in advance so the game is going to be shipped to retailers very soon. That leaves little time to optimize if at all.

This Beta was a PR strategy to get more preorders. It's become a common thing with EA games. Anytime that a Beta is releasing this close to the final release date there is a problem. A normal beta thats not made by the PR team releases months before the game is final. Such as the PS3 beta.
 
Last edited by a moderator:

AzN

Banned
Nov 26, 2001
4,112
2
0
Okay, I "get some clue"...

Vista and Windows 7 does absolutely not "split up a single thread" across more cores. It simply isn't possible. It does bounce an entire thread of execution, in its entirety, from core to core as the scheduler sees fit. My comprehension is fine. Your English skills on the other hand are not.

However, in response to the conjecture that people are thinking threads that get bounced constitutes multithreading - yes, there could be some misunderstanding, especially given than any core at any given time could be executing any arbitrary thread that is currently scheduled on the system - not from any particular application. Hell, it could even look like Microsoft Word is multithreaded given the right scenario of machine load. So yes, I understand the confusion there. As I said, simply looking at the pretty graphs in Task Manager tells you absolutely nothing.

So you even understood what I was trying to say but you point fingers that I had implied single thread application to make the game multithreaded? :rolleyes: I never said my English skills are perfect but you seriously need to read what the other person is saying before you point fingers.

I wouldn't know, I'm not Crytek. However if they state they have optimized Crysis to be multithreaded, then I would tend to believe them.

You obviously know it's not quad optimized even though Crytek says it is. I suppose you would believe it if I told you I'm Queen of England. :?
 

schneiderguy

Lifer
Jun 26, 2006
10,801
91
91
Not this stupid excuse. There is about 4 weeks left until the game is released and the beta finishes on February 28. The game is shipped to manufacturing 3 weeks in advance so the game is going to be shipped to retailers very soon. That leaves little time to optimize if at all.

This Beta was a PR strategy to get more preorders. It's become a common thing with EA games. Anytime that a Beta is releasing this close to the final release date there is a problem. A normal beta thats not made by the PR team releases months before the game is final. Such as the PS3 beta.

According to the devs they already have a bunch of optimizations that didn't make it into the beta.

Normally I would agree with you but it seems like certain configurations run the game fine, and some get unexpectedly low performance -- this points to there being a few niggling bugs rather than the entire engine being "broken" performance wise.
 

schneiderguy

Lifer
Jun 26, 2006
10,801
91
91
Get some clue. I simply asked questions to people like schneiderguy and Phil who think single threaded application becomes dual core optimized because it spread between cores.

I think you are the one that needs to "get some clue".

Here's what I said:

The game gets 50%+ usage on my quad core. Unless Windows is having the same thread run concurrently on two of my cores just "for the lulz" then the game is multithreaded

Let's break down this statement for you:

1. The game uses over 50% of my "CPU time" in task manager
2. I have a quad core processor
3. There is no possible way for the application to be single threaded if it is using over 25% of a quad core processor or over 50% of a dual core processor.
 

AzN

Banned
Nov 26, 2001
4,112
2
0
Let's break down this statement for you:

1. The game uses over 50% of my "CPU time" in task manager
2. I have a quad core processor
3. There is no possible way for the application to be single threaded if it is using over 25% of a quad core processor or over 50% of a dual core processor.

Excuse me but Phil and I were discussing if the game is really quad optimized not if it's dual core optimized. When I said multithreaded that's what I meant. As the word multi can mean "more than two". Having said that did you actually look at your task manager while playing on your bc2beta.exe go over 50%? Not when you connect or disconnect with a server as that has effect on processor usage.

The evidence provided by Udgnim with his E8x00 CPU usage and PCgamer doesn't even show 100% CPU usage with dual core. How is it possible to use 50+% of quad cores? Can you explain? Can you post a screen shot like DBguy did.

edit:
BF2cpu.png


I took the liberty of taking a shot of BF2 in actual game play with my taskmanager that is single threaded getting at times more than 50% CPU usage with my dual core. Does 54% CPU usage mean it's dual core optimized even though it's only optimized for 1 thread? So your argument is flawed and wrong by the evidence shown. It's clear that you are the one who don't know what you are talking about.
 
Last edited:

AzN

Banned
Nov 26, 2001
4,112
2
0
According to the devs they already have a bunch of optimizations that didn't make it into the beta.

Normally I would agree with you but it seems like certain configurations run the game fine, and some get unexpectedly low performance -- this points to there being a few niggling bugs rather than the entire engine being "broken" performance wise.

You call this needing optimizations? They need to rewrite the whole engine when threads aren't maxing out on dual cores concurrently. That is a huge problem! It's not something that can be fixed over night.
 
Last edited:

toyota

Lifer
Apr 15, 2001
12,957
1
0
You call this needing optimizations? They need to rewrite the whole engine when threads aren't maxing out on dual cores concurrently. That is a huge problem! It's not something that can be fixed over night.
Quake 4 had an update that added better threading for dual cores and hyper threaded cpus.
 

Scionix

Senior member
Feb 25, 2009
248
0
0
I didn't read the whole thread, but is there a reason the GTX 295 isn't included? Is it safe to assume it'd be up near the top, with somewhat better performance than the 285?
 

RussianSensation

Elite Member
Sep 5, 2003
19,458
765
126
Well, this should shut up people yammering about a 4890 being enough for any game this year. Even a 5870 struggles at 1920x1080.

The more interesting part is that "someone" predicted how demanding future games will be in all of 2010. That's black magic right there! :eek:

Looks like this game enjoys NV's architecture. Although 5850/5870 series are faster, Fermi will clean up the house in BF:BC2.
 

AzN

Banned
Nov 26, 2001
4,112
2
0
Quake 4 had an update that added better threading for dual cores and hyper threaded cpus.

Did quake 4 have maxing out on single core issues? I think the problem is much bigger than getting fuel optimizations on dual core.
 

cbn

Lifer
Mar 27, 2009
12,968
221
106
Last edited:

zerocool84

Lifer
Nov 11, 2004
36,041
472
126
8X AA on a demanding game will kill performance. Cut it out or down to 4X AA and all those scores will improve considerably.

This game really needs as much AA as you can throw at it. It's got tons of ugly jaggies everywhere. Looks ugly without it and it's not like his fps are unplayable at all. I play with 8xAA and it's smooth 99% of the time.
 

schneiderguy

Lifer
Jun 26, 2006
10,801
91
91
Excuse me but Phil and I were discussing if the game is really quad optimized not if it's dual core optimized. When I said multithreaded that's what I meant. As the word multi can mean "more than two". Having said that did you actually look at your task manager while playing on your bc2beta.exe go over 50%? Not when you connect or disconnect with a server as that has effect on processor usage.

The evidence provided by Udgnim with his E8x00 CPU usage and PCgamer doesn't even show 100% CPU usage with dual core. How is it possible to use 50+% of quad cores? Can you explain? Can you post a screen shot like DBguy did.

bc2cpu.jpg
(on my quad core)

AzN said:
The game isn't multithreaded

:hmm:

edit: Oh I see, you think multi means "more than 2". For the rest of us it means "more than one". Sorry for the confusion:hmm:
 
Last edited:

bunnyfubbles

Lifer
Sep 3, 2001
12,248
3
0
This game really needs as much AA as you can throw at it. It's got tons of ugly jaggies everywhere. Looks ugly without it and it's not like his fps are unplayable at all. I play with 8xAA and it's smooth 99% of the time.

horseshit

those results show a 5870 @ 33fps min and 47fps average

for a game (a FPS no less) with a focus on multiplayer (which means competition) that low of a framerate is terrible

I'd definitely scale way back on AA if it meant more performance. 4x AA is plenty and I would even go to 2x AA and/or consider lowering other settings if it meant keeping my average above 60 and my min well above 30 (a min of 45 is generally my cut off)
 

AzN

Banned
Nov 26, 2001
4,112
2
0
bc2cpu.jpg
(on my quad core)

So you haven't even answered a single question and posted a screen shot.

Here it is again.

How is it possible to use 50+% of quad cores when dual core is using only 70% load in BC2? Does 54% CPU usage in BF2 mean it's dual core optimized even though it's only optimized for 1 thread?

Was your screen shot in actual game play?

Can you post screen shots of your processor usage in your desktop with bc2beta in graphs not a single point in time where you could have easily taken the shot when you connect and disconnect off the server as that eats cycles.


:hmm:

edit: Oh I see, you think multi means "more than 2". For the rest of us it means "more than one". Sorry for the confusion:hmm:

multi- a combining form meaning “many,” “much,” “multiple,” “many times,” “more than one,” “more than two,” “composed of many like parts,” “in many respects,” used in the formation of compound words: multiply; multivitamin.

http://dictionary.reference.com/browse/multi

:hmm:

This is why you need to read the thread before you assume you know what you are talking about. Simple concept isn't it but you don't do it. Phil was talking about quad optimizations and I replied to him. In respect we were talking about quad optimizations not dual core. :hmm:
 

SunnyD

Belgian Waffler
Jan 2, 2001
32,675
146
106
www.neftastic.com
So you even understood what I was trying to say but you point fingers that I had implied single thread application to make the game multithreaded? :rolleyes: I never said my English skills are perfect but you seriously need to read what the other person is saying before you point fingers.

On the contrary, I obviously didn't understand what you were trying to say, otherwise we wouldn't be here and we wouldn't be having this little lesson on English grammar now, would we?

You obviously know it's not quad optimized even though Crytek says it is. I suppose you would believe it if I told you I'm Queen of England. :?
*sigh* Really? Now who has the reading comprehension issues?

You call this needing optimizations? They need to rewrite the whole engine when threads aren't maxing out on dual cores concurrently. That is a huge problem! It's not something that can be fixed over night.

I'm going to put something out there for you, just so that we get this clear. From reading the thread since yesterday, it's blatantly obvious that you don't fully grasp what multithreaded and optimization really means.

For starters an application does not need to max out CPU time in order to be considered optimized.

In fact, the opposite is exactly what you want as a developer. By making out processing time, that means your code is utilizing the maximum amount of CPU time the operating system is giving it per scheduler slot. By maxing it out, it is implied that your application/process/thread (we'll simply call it a thread from here) actually needs more time and processing power than the system is capable of providing it. Execution of the thread is interrupted as the operating system says, "Sorry, your turn is up - it's time for the next program to run." Yes my friend, multiple programs are still running all the while your little game is running too - they need processing time as well. So your game here, or whatever app, ends up stalling while waiting for the next time slice to be allocated from the operating system. Is stalling efficient? No, it means you're CPU (or resource in some cases) limited.

On the other hand, if your application isn't maxing out, that means your thread is more than capable of processing all the data it needs in a given time slice, and thereby finishes before the maximal allocated time slice is up. At this point, the application is free to do further processing and/or hand the balance of the slice back so that the OS can schedule the next thread. This means your code is doing what it is supposed to efficiently - it's not waiting across multiple time slices to handle what it is supposed to handle.

Now there's a little give and take here too. Something else may be inefficient if your thread isn't eating up the entire slice - for example your video card may not be able to keep up. Your thread processes all the data, then hands it off to the video card to put it on the screen - but in the case the frame takes longer to render than the slice allows, then all of a sudden your application has to wait before processing the next frame (VSYNC). There are ways to avoid this issue, such as dropping frames in time dependent environments, and these sorts of solutions are usually implemented in some manner.

Long and the short of it though - it is thoroughly stupid to think that something isn't actually optimized just because it's not maxing out one (or more) cores on a CPU. That's the last thing you want as an end user, because that means your system isn't optimal for the application.
 

AzN

Banned
Nov 26, 2001
4,112
2
0
On the contrary, I obviously didn't understand what you were trying to say, otherwise we wouldn't be here and we wouldn't be having this little lesson on English grammar now, would we?

So you didn't understand but you point fingers first than asking what you didn't understand? :rolleyes: Perhaps you should ask next time before mocking someone. Oh BTW STOP trolling!

Way to apologize. :hmm:

*sigh* Really? Now who has the reading comprehension issues?

Go and look at crysis benches between quad and dual core. Make an analysis if it's quad optimized. When you are done please do chime in again.


For starters an application does not need to max out CPU time in order to be considered optimized.

In fact, the opposite is exactly what you want as a developer. By making out processing time, that means your code is utilizing the maximum amount of CPU time the operating system is giving it per scheduler slot. By maxing it out, it is implied that your application/process/thread (we'll simply call it a thread from here) actually needs more time and processing power than the system is capable of providing it. Execution of the thread is interrupted as the operating system says, "Sorry, your turn is up - it's time for the next program to run." Yes my friend, multiple programs are still running all the while your little game is running too - they need processing time as well. So your game here, or whatever app, ends up stalling while waiting for the next time slice to be allocated from the operating system. Is stalling efficient? No, it means you're CPU (or resource in some cases) limited.

On the other hand, if your application isn't maxing out, that means your thread is more than capable of processing all the data it needs in a given time slice, and thereby finishes before the maximal allocated time slice is up. At this point, the application is free to do further processing and/or hand the balance of the slice back so that the OS can schedule the next thread. This means your code is doing what it is supposed to efficiently - it's not waiting across multiple time slices to handle what it is supposed to handle.

Now there's a little give and take here too. Something else may be inefficient if your thread isn't eating up the entire slice - for example your video card may not be able to keep up. Your thread processes all the data, then hands it off to the video card to put it on the screen - but in the case the frame takes longer to render than the slice allows, then all of a sudden your application has to wait before processing the next frame (VSYNC). There are ways to avoid this issue, such as dropping frames in time dependent environments, and these sorts of solutions are usually implemented in some manner.

Long and the short of it though - it is thoroughly stupid to think that something isn't actually optimized just because it's not maxing out one (or more) cores on a CPU. That's the last thing you want as an end user, because that means your system isn't optimal for the application.

You have no evidence of any of this. An optimized code uses all of the available CPU. Not use it half way and say it's being used properly. More than 1 instructions can be used within the same core so you obviously don't know what you are talking about. Dice even said it themselves that the "beta" isn't optimized for dual core and more optimization would be needed to improve performance. Whether they do is another story as this kind of things can't be fixed over night.
 
Last edited:

toyota

Lifer
Apr 15, 2001
12,957
1
0
So you didn't understand but you point fingers. :rolleyes: Perhaps you should ask next time before mocking someone? English isn't my native tongue. I do have some trouble at times as I'm sure even native speakers do as well.

Way to apologize. :hmm:



Go and look at crysis benches between quad and dual core. Make an analysis if it's quad optimized. When you are done please do chime in again.




What you are saying is the engine needs some serious work to get it fixed. So now more 60% of the users if not more are being shafted here

as for Crysis it usually is a little bit faster on a quad then on a dual core of the same architecture. in other words a Q9550 at 2.83 will usually match or beat a 3.16 E8500. of course some of that could be the additional cache.
 

AzN

Banned
Nov 26, 2001
4,112
2
0
as for Crysis it usually is a little bit faster on a quad then on a dual core of the same architecture. in other words a Q9550 at 2.83 will usually match or beat a 3.16 E8500. of course some of that could be the additional cache.

Yes Cache but it's not quad optimized. Everyone knows this but SunnyD would rather antagonize than admit it.
 

SunnyD

Belgian Waffler
Jan 2, 2001
32,675
146
106
www.neftastic.com
You have no evidence of any of this. An optimized code uses all of the available CPU. Not use it half way and say it's being used properly. More than 1 instructions can be used within the same core so you obviously don't know what you are talking about. Dice even said it themselves that the "beta" isn't optimized for dual core and more optimization would be needed to improve performance. Whether they do is another story as this kind of things can't be fixed over night.
Alright, you win - you're right. I obviously have no business being employed in the software development industry. Guess I should go talk to my manager now as I obviously don't know and haven't known for the past 15 years what I'm talking about. :rolleyes:

Here's a suggestion - finish high school and go to college studying under a compsci degree. Pay particular attention in your systems architecture and operating systems classes. Then you might have an idea of what's going on inside of a computer and application.

Regarding Dice's comments - DUH. But then again you seem to have never developed software, so you probably wouldn't have any clue how much overhead something like simple debug code can affect an application. Their comment still has no bearing on your "100% CPU usage" fallacy.