Urban Terror Forums: Optimized .exe; builds of ioq3 engine - Urban Terror Forums

Jump to content

 Login | Register 
Advertisement
  • (142 Pages)
  • +
  • « First
  • 95
  • 96
  • 97
  • 98
  • 99
  • Last »
  • You cannot start a new topic
  • This topic is locked

Optimized .exe; builds of ioq3 engine Rate Topic: ***** 17 Votes

With GoogleTranslate, Bumpy, dmaHD, iKALiZER, Raw Mouse, Bug Fixes, ..

#958 User is offline   p5yc0runn3r Icon

  •   former FS member   
    Engine Developer
  • Account: p5yc0runn3r
  • Country:
  • Joined: 21-March 10
  • Posts: 375

Posted 26 July 2010 - 03:06 PM

Mitsu, about the negative acceleration thing...I think I have an idea that you could try.
You are calling your modified SDL with raw mouse capture (WM_INPUT) from the ioq3-urt executable.

This could lead to buffer underflow where more data is read than given to the application. I suggest you have 2 variables for x and y and when you receive WM_INPUT and ioq3-urt did not call you yet from a previous WM_INPUT, you add the values to the x and y variables. Then, when ioq3-urt calls SDL, the x and y variables are given and then set to 0 again.

This will 'interpolate' the values in case the application is slower than the WM_INPUT messages.
dmaHD developer | engine developer | crazy person

#959 User is offline   mitsubishi Icon

  • Account: mitsubishi
  • Country:
  • Joined: 28-February 10
  • Posts: 13,481

Posted 26 July 2010 - 03:41 PM

That's what it does. WM_INPUT is about 1000Hz here [while game 125] so the vars are "+=" till read and 0'ed. Well, they should be "+=" anyway since the client isn't in sync. I was even worried in case the whole process is not thread safe (needing some kind of 'trigger' var to protect it) but it seems to be ok with just "+= and then zero".

(At first there wasn't even "+=", just "send to queue", but it was a hell to protect it from queue floods:P) [queue floods due to loading screens, not the normal process itself.]

(the keys are similarly added in arrays)


--

Quote

Even if it's about mouse acceleration change between modes don't cl_mouseAccelOffset and cl_mouseAccelStyle can be used to fine tune ?

Negative acceleration here is not a feature, it's a quirk. It's not an easily quantifiable acceleration (to just be able to counter it with a number or just a calculation). The cursor (internally) just hits a wall and it loses information. The programmer can not know easily what exactly was lost so they can't easily counter it. If it was the case, there wouldn't be negative acceleration to begin with.

Well, that's the theory at least, I haven't looked at it first hand.

View Postversus666, on 26 July 2010 - 03:01 PM, said:

won't get any advantage from RAW

You missed the basic paragraph about the feature: It avoids cases of negative acceleration but also is higher resolution/lower latency in cases. This is according to Microsoft.

This post has been edited by mitsubishi: 26 July 2010 - 04:07 PM


#960 User is offline   versus666 Icon

  • Account: versus666
  • Joined: 06-March 10
  • Posts: 46

Posted 26 July 2010 - 04:38 PM

View Postmitsubishi, on 26 July 2010 - 03:41 PM, said:

That's what it does. WM_INPUT is about 1000Hz here [while game 125] so the vars are "+=" till read and 0'ed. Well, they should be "+=" anyway since the client isn't in sync. I was even worried in case the whole process is not thread safe (needing some kind of 'trigger' var to protect it) but it seems to be ok with just "+= and then zero".

(At first there wasn't even "+=", just "send to queue", but it was a hell to protect it from queue floods:P) [queue floods due to loading screens, not the normal process itself.]

(the keys are similarly added in arrays)


--

Negative acceleration here is not a feature, it's a quirk. It's not an easily quantifiable acceleration (to just be able to counter it with a number or just a calculation). The cursor (internally) just hits a wall and it loses information. The programmer can not know easily what exactly was lost so they can't easily counter it. If it was the case, there wouldn't be negative acceleration to begin with.

Well, that's the theory at least, I haven't looked at it first hand.


You missed the basic paragraph about the feature: It avoids cases of negative acceleration but also is higher resolution/lower latency in cases. This is according to Microsoft.


I understand very well the problem with 'negative acceleration'.

What's the point of trying to use RAW with a low quality mouse like a DELL, 125Mhz USB polling rate, 800 DPI at best ?
Whatever the possible improvement in the processing of mouse input, *IF* the mouse allow the RAW method, it would be negligible given the specs of the mouse, don't you think ? And it doesn't produce 'negative acceleration' whatever the method used.

High DPI mouse have problem with some weird sensitivity settings on classic method ? Use RAW !
Use RAW and want accel ? Fine tune with cl_mouseAccelOffset and cl_mouseAccelStyle !
Have a low DPI mouse and can't use RAW ? Use classic method and don't bother !

I really don't see the problem.
Ok, having a method that sometimes don't works on competition mouse is a but frustrating but sometimes perfection is not possible, maybe it's just the method which is flawed and does not fit to extreme hardware input.

This post has been edited by versus666: 26 July 2010 - 04:39 PM


#961 User is offline   p5yc0runn3r Icon

  •   former FS member   
    Engine Developer
  • Account: p5yc0runn3r
  • Country:
  • Joined: 21-March 10
  • Posts: 375

Posted 26 July 2010 - 04:44 PM

View Postversus666, on 26 July 2010 - 04:38 PM, said:

I understand very well the problem with 'negative acceleration'.

What's the point of trying to use RAW with a low quality mouse like a DELL, 125Mhz USB polling rate, 800 DPI at best ?
Whatever the possible improvement in the processing of mouse input, *IF* the mouse allow the RAW method, it would be negligible given the specs of the mouse, don't you think ? And it doesn't produce 'negative acceleration' whatever the method used.

High DPI mouse have problem with some weird sensitivity settings on classic method ? Use RAW !
Use RAW and want accel ? Fine tune with cl_mouseAccelOffset and cl_mouseAccelStyle !
Have a low DPI mouse and can't use RAW ? Use classic method and don't bother !

I really don't see the problem.
Ok, having a method that sometimes don't works on competition mouse is a but frustrating but sometimes perfection is not possible, maybe it's just the method which is flawed and does not fit to extreme hardware input.


I really think the actual SDL implementation is flawed (not Mitsu's fault BTW). If the input is more coupled in the main module, it should be a different story. I have implemented this in the vanilla non SDL version (with VBO) of Twentyseven and I really do not have any problems and also I can aim more precisely.
dmaHD developer | engine developer | crazy person

#962 User is offline   mitsubishi Icon

  • Account: mitsubishi
  • Country:
  • Joined: 28-February 10
  • Posts: 13,481

Posted 26 July 2010 - 05:29 PM

versus666, come again when you have read this isn't only about negative acceleration.

This post has been edited by mitsubishi: 26 July 2010 - 07:52 PM


#963 User is offline   versus666 Icon

  • Account: versus666
  • Joined: 06-March 10
  • Posts: 46

Posted 27 July 2010 - 03:04 AM

View Postmitsubishi, on 26 July 2010 - 05:29 PM, said:

versus666, come again when you have read this isn't only about negative acceleration.

Don't get it wrong, I try to help, sorry if I upset you.

#964 User is offline   mitsubishi Icon

  • Account: mitsubishi
  • Country:
  • Joined: 28-February 10
  • Posts: 13,481

Posted 27 July 2010 - 09:04 AM

Did you read this isn't only about negative acceleration?

:P

#965 User is offline   p5yc0runn3r Icon

  •   former FS member   
    Engine Developer
  • Account: p5yc0runn3r
  • Country:
  • Joined: 21-March 10
  • Posts: 375

Posted 27 July 2010 - 09:06 AM

View Postmitsubishi, on 27 July 2010 - 09:04 AM, said:

Did you read this isn't only about negative acceleration?

:P


I think the RAW mouse feature needs its own thread...
dmaHD developer | engine developer | crazy person

#966 User is offline   mitsubishi Icon

  • Account: mitsubishi
  • Country:
  • Joined: 28-February 10
  • Posts: 13,481

Posted 27 July 2010 - 09:16 AM

it has.

#967 User is offline   mitsubishi Icon

  • Account: mitsubishi
  • Country:
  • Joined: 28-February 10
  • Posts: 13,481

Posted 29 July 2010 - 01:04 PM

Now included: In-Game Voice (VoIP) support for servers that support it (/cl_voip 1; ioq3 server: /sv_voip 1). Full instructions are here. Bind a key to +voiprecord to talk, '/voip muteall' to mute all. It requires OpenAL and a high /rate.

cl_voip is 0 by default and if it's enabled the console will be slightly spammy about its requirements, i.e. "I need OpenAL" and "I need high /rate" (in bright yellow) if they're not available. If it's initialized reasonably, i.e. it got a recording device on OpenAL, it will print '* VoIP is initialized'.

Packages now include OpenAL-soft libraries for all windows builds because a) they sound good and they offer basic binaural audio b) An OpenAL library is required for VoIP. [They are also compiled for sse2 and mmx separately; overkill ftw.]


The reason it's not enabled by default is that it would be spammy in console by default about OpenAL and /rate requirements. This may change if they become the default..

--

ut4_iran3 crash on 'bumpy' is workarounded (similarly to one related to harbortown).

This post has been edited by mitsubishi: 29 July 2010 - 02:41 PM


  • (142 Pages)
  • +
  • « First
  • 95
  • 96
  • 97
  • 98
  • 99
  • Last »
  • You cannot start a new topic
  • This topic is locked

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users

Advertisement


Copyright © 1999-2024 Frozensand Games Limited  |  All rights reserved  |  Urban Terror™ and FrozenSand™ are trademarks of Frozensand Games Limited

Frozensand Games is a Limited company registered in England and Wales. Company Reg No: 10343942