Author Topic: Bug: Build 16 Bandwidth/Processor Consumption and International Keyboard Support  (Read 1493 times)

XtremeBain

  • Developer
  • Autococker
  • Posts: 1470
I received a bit of feedback concerning forcing Build16 for PBCup matches and I thought I'd share some of the problems I've encountered.

Quote from: Pureblood
okay, here is what ComaBull has sent me, 2 Screenshots taken shortly after another, the first is build14, the second is build16

b14:
http://img49.imageshack.us/img49/4127/b146lf.jpg


b16:
http://img49.imageshack.us/img49/677/b165kj.jpg

this seems to show what he told me yesterday already: build16 seems to require almost twice as much upload bandwidth and raises the CPU usage to 99%, and the 2nd screenshot seems to be quite unplayable for me.

Looks like something cl_maxfps and cl_cmdrate would fix, I'm not sure if he's running identical configs in each screenshot.

Also it was brought to my attention that there may be an issue with the international keyboard support in B16.  From what I've been told the mappings now reflect the settings found in Windows(I'll call it "soft-mapping"), and binds to non-console characters don't work(for obvious reasons).  The qwerty "hard-mapping" from Build 14 is much preferred by players who use a non-us-en keyboard.  Of course players can always switch keyboard layouts within the regional settings(or taskbar) of windows.  Is there a cvar which toggles the keyboard mapping? (Since I noticed dvorak.kbd and qwerty.kbd still present in pball/configs/).  Someone please correct me if this isn't accurate, I use the american keyboard layout.

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
The first screenshot looks like he has vsync enabled, thus the 60fps/60pps max and lower cpu/bandwidth usage.  With the same settings, build 16 should behave the same in that regard, though build 14 I think may have had a bug that always made vsync enabled unless it was changed (can't remember which build that was).

For the keyboard layout, I took out the old code since it's trivial to just go into your regional settings and change the keyboard layout for specific application.  I've posted instructions on how to do that here: http://dpball.com/forums/index.php?topic=2055.0

b00nlander

  • Autococker
  • Posts: 784
well, I think it was on build14 where he told me his fps will not rise even if he switches vsync off... why would vsync limit cpu/bandwidth? 

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
If vsync is enabled, and your monitor is displaying at 60hz (which people should really change, as it's bad for your eyes unless you have an lcd), then the game keeps the rendering in sync with the monitor refresh: 60fps (or lower), which limits the CPU usage to whatever it takes to render 60fps, and limits the packet rate to 60pps, because as it stands, the packet rate can't be higher than the framerate.

Take vsync off, and it just taxes the system resources to the max to render as many frames as possible, even if you can't see them, thus more CPU usage.  If your cl_cmdrate is set higher than 60, then you'll be sending more command packets, and thus use more bandwidth.

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
I've put the old keyboard code back in for build 17.  It will use .kbd files (or default to the qwerty layout) if cl_customkeyboard is set.