Jump to content

ET is still power hungry


Vanaraud

Recommended Posts

Glad you got it fixed - to an extend :)

 

So is your CPU usage now lower than before? I still have a feeling that the catalysist is the culprit due to some of its newer features such as threading and 3D. I could be wrong but try and tinker around with the features - i.e. turn off as many as possible or even get an older version of it.

 

D_R

Link to comment
Share on other sites

  • Clan Friend

So is your CPU usage now lower than before? I still have a feeling that the catalysist is the culprit due to some of its newer features such as threading and 3D. I could be wrong but try and tinker around with the features - i.e. turn off as many as possible or even get an older version of it.

My cpu doesn't get 100% usage without catalyst a.i. Maybe the equivalent of 1 core only (after all ET doesn't support multithreading. If you read the source code, you see that they were implementing multicore support for Linux and Mac - not for Win, I dunno why - but they didn't finish it properly, I tried to compile it with smp enabled and it fails to run, I bet there is some extra work to do)

 

From the cpu graph on my desktop, I see on Linux ET switches very often between cores, unlike on Win, but if I confine it to 1 core only I don't see many improvements.

 

---

 

If I put catalyst a.i. on, on Windows nothing happens (same fps) on Linux I have a huge fps boost, but both cores are in use 100% so obviously it's not a good thing (mouse lags, overheating...) so I prefer to keep it off, now that I get slightly more fps than Windows even with a.i. off.

I can get 100fps stable in 'etpro maps' with not too many players.

 

Now I would like to find which setting, exactly, took me back to my old performance, unluckily there isn't much information on those xorg.conf settings on the net. Many of them are undocumented.

 

 

As regards getting an older version, as I said installing drivers on Linux is a pain, because maybe they require a specific version of something else, and putting an old version would mean to roll back a lot of stuff to older versions as well. But since (on that benchmark) I get 85 fps on Linux, and 82 on Windows, I think I could be satisfied with this.

 

---

 

On Linux, the part of the game that doesn't involve the graphics, runs faster. On that radar benchmark, done with r_skipbackend 1 (it doesn't draw anything, just does the rest of the engine) I get 315fps on Linux, 282 on Windows.

 

com_speeds 1 tells you how much time the game spends in several 'parts', the backend is the slowest of all, this example below is done during a demo, I should do it when I play.

Looking at how much cpu time is needed by the backend if compared to the rest, even using r_smp 1 (if it worked, that is :P) and moving the backend to a separate thread, it won't go *much* faster I guess... Quake3 had r_smp properly implemented and they say it doesn't gain much speed

 

 

/com_speeds 1 (times are in milliseconds, lower is obviously better)
 
to get fps, do 1000/msec

frame:4444 all: 43 sv: 0 sev: 0 cev: 0 cl: 2 gm: 0 rf: 1 bk: 40
frame:4445 all: 11 sv: 0 sev: 0 cev: 0 cl: 3 gm: 0 rf: 1 bk: 7
frame:4446 all: 27 sv: 0 sev: 0 cev: 0 cl: 3 gm: 0 rf: 0 bk: 24
frame:4447 all: 24 sv: 0 sev: 0 cev: 0 cl: 3 gm: 0 rf: 0 bk: 21
frame:4448 all: 10 sv: 0 sev: 0 cev: 0 cl: 2 gm: 0 rf: 0 bk: 8
frame:4449 all: 25 sv: 0 sev: 0 cev: 0 cl: 2 gm: 0 rf: 1 bk: 22
frame:4450 all: 25 sv: 0 sev: 0 cev: 0 cl: 2 gm: 0 rf: 1 bk: 22
frame:4451 all: 10 sv: 0 sev: 0 cev: 0 cl: 1 gm: 0 rf: 2 bk: 7
Link to comment
Share on other sites

have you tried altering the priority process of ET under linux yet? any significant improvements or drawbacks? if confining ET on 1 core doesnt improve much, then I doubt altering priority could do that big.

Link to comment
Share on other sites

  • Administrators

Some please create some nice tutorial from this topic to help others so that we can give them link to tutorial...and they can follow it one by one. :)

Link to comment
Share on other sites

  • Clan Friend

have you tried altering the priority process of ET under linux yet? any significant improvements or drawbacks? if confining ET on 1 core doesnt improve much, then I doubt altering priority could do that big.

I tried to renice, but it doesn't change much. When I move it to one core, I don't just change the affinity, I use cgroups

( https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt )

 

# mount -t cgroup -o cpuset cpuset somefolder

 

etc.

 

Then I move all the processes to 1 core via a bash script, and make it default. Every new thing I open runs only in that core, then when I open ET I move it manually to the other, and every now and then I switch cores to prevent one core from overheating too much

 

all must be done from root. The 1st time I tried it, despite having the same fps I thought my mouse was a bit more responsive. But maybe it's placebo :D

 

Some please create some nice tutorial from this topic to help others so that we can give them link to tutorial...and they can follow it one by one. :)

maybe I could make a tutorial on benchmarking with ET and /timedemo (if there isn't one already), and explain all those debugging commands

 

p.s.

check your inbox every now and then ;)

Link to comment
Share on other sites

I was doing benchmarking with radar map, trying to increase a bit more of FPS by only changing Nvidia settings, and glad to find some settings are better off and few are on.

 

What confuses me is that, when I leave it that way, I go back to in game, my gaming experience was terrible including FPS. So I have to revert back to my old Nvidia panel settings, on which, increased my FPS in game, but decreases my FPS when running radar demo with /timedemo.

 

Does this makes sense to you? It contradicts each other. Am using Win7 64bit core duo.

 

---

 

My benchmark showed me 144.7 FPS on that radar map test. Doing Nvidia tweak config, I can gain 3 more FPS under radar map test, but loose about 40 FPS approximately when playing. That's like 65 FPS stable. I was expecting I can have more than 125 fps stable but I have a slow CPU, atleast stable 95 FPS would be fine for me. But I think, the map and players has some factors on that.

 

--

 

With CentOS/Fedora and Ubuntu, there's a package called taskset that can swiftly confine program to which core. Can you do a simple test of that, to see if it does makes a big difference maybe at your Arc linux? I am yet to install ET on Ubuntu on free time.

 

Interesting that you get more FPS on Linux better than Windows when you tweaked your xorg.

Link to comment
Share on other sites

Hmmmm. Not sure how selecting cores in Linux works, but, a sensible thing to do is run ET in the secondary core - i.e. The primary is used for windows and other applications, while the other is used solenly for ET. Is this what you have done?

 

You said your CPU doesn't go 100% when catalyst a.i. is turned off, but, it goes berzerk when its on in linux - albeit you get higher fps. This sounds to me like catalyst & liniux use up more CPU. Is this correct? If so, can you move catalyst to core 1 and ET to core 2? It sounds like catalyst has not been optimised to run on linux, OR, it just requires more CPU power to run on Linux.

 

Not sure if relevant

 

"As of April 26, 2013, Catalyst packages are no longer offered in the official repositories. In the past, Catalyst has been dropped from official Arch support because of dissatisfaction with the quality and speed of development. This time, it's the incompatibility with Xorg 1.14."

 

https://wiki.archlinux.org/index.php/AMD_Catalyst

 

To me it all sounds like this version of catalyst is not optimised with your linux OS. Perhaps your CPU is too weak to run ET with these software.

 

Sorry I'm not an expert on linux. Just trying to provide ideas.

 

:)

 

D_R

Link to comment
Share on other sites

  • Clan Friend

@PiNoY:

the fact that you get more fps, but when you play it feels worse, could be because when you play a demo some parts of the game aren't involved, i.e. network, mouse input... it's still strange, though

 

Changing affinity with taskset didn't change anything when it comes to performance. And if I set ET to core#2 then the OS does the rest, and I don't know if it puts something else on core2 as well. With cgroups instead, one core is just for ET alone, and nothing else (aside from interrupts maybe, judging from cat /proc/interrupts)

 

I guess Linux scheduler is good enough already, and it doesn't make sense to mess with it by deciding myself where ET should run. I don't see any increase or decrease in fps anyway.

 

I checked with:

$ watch -n 1 "ps -p `pgrep -x et.x86` -L -o pid,tid,psr,pcpu,comm="
Without catalyst a.i. I have 3 threads that change core quite often, and sometimes are all 3 in the same core. The typical usage is this (while running a demo at normal speed): (PSR is the core, here you see all 3 are in core #1)

 

  PID   TID PSR %CPU 
 2665  2665   1 91.0 et.x86
 2665  2668   1  0.0 et.x86
 2665  2669   1  9.3 et.x86
With a.i. on I have 2 threads only (changing core as well, but more slowly) and both use almost 100% cpu, so when they happen to be (for an instant only) in the same core, it's obviously a bad thing!

 

  PID   TID PSR %CPU 
 2525  2525   1 97.4 et.x86
 2525  2526   0 84.6 et.x86
Maybe I should confine to 1 core only the thread that uses more cpu (the 1st one) and not ET as a whole. And if I really want to use catalyst a.i. I should try to throttle the other thread, in order to make it use only 50% cpu or so, if that is possible. Or it would slow down the rest of the system, mouse input included.

 

---

 

Now even if I delete xorg.conf I still get more fps, because ati drivers have a file called amdpcsdb, where all the settings are stored, by changing xorg I just ended up putting some settings there. But since every new kernel I have to rebuild the drivers, it probably goes to default everytime, so it's still a good thing to have an /etc/X11/xorg.conf.d/ati.conf to restore the settings.

 

I also found a file called atiogl.xml with many games and appliactions profiles, there is also quake and et, but those opengl flags are undocumented, I couldn't get anything out of that, and it's for catalyst a.i. only anyway.

 

---

 

I think that on Linux I get slightly more fps because the game itself is faster (while the graphics part runs as fast as Win) in fact disabling the graphics backend I get much more fps on Linux.

314.9 fps on Linux without rendering (r_skipbackend 1), means that the rest of the game code takes an average of 1000/314=3 milliseconds per frame. On Windows instead 3.5ms. Maybe 0.5ms per frame is not much but it leads to 4fps more.

 

In fact: 1000/80fps = 12.5msec. With 12 msec (going 0.5 ms faster) I get: 1000/12 = 83.3 fps, that is exactly the same increment of about 4fps I get on Linux. That means that the graphic driver runs as fast as on Win. And on the average a frame in that demo takes 12msec, of which 3ms are the 'game', and 9ms the rendering.

 

////////////////////////////////////// 

@Death_Reincarnated

I isolated ET to one core, and all the rest to the other, but I don't get more fps. I guess Linux scheduler is already good as it is, and I don't need to mess with it. In general they say that switching cores too often is bad, but if it was so I would notice some fps improvements by confining to 1 core. Instead I don't. and on Linux ET switches cores *very* often (like, almost every second).

 

The reason why I get more fps with catalyst a.i. (I can go from 80 to almost 150), is that it uses multithreading (i.e. both cores instead of one). So I cannot move anything because I have already 2 threads 1 per core, pity that they use too much cpu.

On Windows that setting doesn't imporve my fps and doesn't change anything else (cpu usage, etc.) Maybe it's implemented in another way, or multithreading is not implemented at all.

 

 

As regards Arch Linux, the reason why catalyst is not in the official repositories is because Arch Linux is a distro with a 'latest and greatest version of everything' kind of policy (unlike Ubuntu or other distros, where updates are slower).

Since Amd drivers don't support the latest Xorg 1.14, whoever wants to use them needs the old Xorg 1.13

 

It's not a big deal, it's just that Arch is generally more up to date if compared with others, anyway as you can see from my benchmarks I get more fps on Linux than on Win

Link to comment
Share on other sites

Interesting findings. maybe you may have not read this, subject was claiming that ATI driver beats catalyst driver somewhere

 

http://www.phoronix.com/scan.php?page=article&item=amd_catalyst_xv&num=1

 

From there, it is showing that CPU usage are lowered down using that ATI driver compared to catalyst. And you were right, with a.i. , usage is about 97% percent as you have shown and proven on that link also.

 

Somewhere in wiki saiys NVIDIA's VDPAU has an open source version for ATI/AMD, not sure if you are interested on that to see. Otr was it included with your Arc already

 

http://en.wikipedia.org/wiki/VDPAU

Link to comment
Share on other sites

  • Clan Friend

Interesting findings. maybe you may have not read this, subject was claiming that ATI driver beats catalyst driver somewhere

As far as I know, the open source one is faster for 2d and (way) slower for 3d (e.g. games)

 

I tried to improve my cpuset bash script, but even if I renice that catalyst thread, to make it go slower, it still uses too much cpu and chokes the whole system. After all renice just sets the priority, and I don't think there is an easy way to slow down a thread. I saw an utility called cpulimit, but I don't think it works on a per-thread basis.

 

If I had at least 3 cores I would run et in 1, catalyst a.i. in another, and the rest in a third core. But I don't :P

Anyway on 'etpro' maps I get more than enough fps even without catalyst a.i., on FA hardcore server I can cap at 100 or 125 fps, I can't complain...

Link to comment
Share on other sites

Nice job Sun. You should have nvidia testing also at your end at least to compare the two with these findings. kuddos

Link to comment
Share on other sites

Noticed today over long time as jay2 had more players than 15 vs 15 that I got FPS lags on my IB, so OC-d it to 4.1Ghz and only then a 10y old game didn´t lag at 76 stable FPS... This game is just more power hungry than Crysis 3 :P

It did not change...yesterday jay2 went to 44 including 8 specs.

 

Gengis

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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...

Important Information

By using this site, you agree to our Terms of Use.