I am really shocked about this massive performance difference. I read
about this nowhere else, I had no idea this would happen. I am only
very thankful that I didn't bother upgrading to OB sdk. Does anyone
know if/when these performance issues will be resolved????????
On Thu, Apr 24, 2008 at 5:00 PM, Tony omega Sergi <[EMAIL PROTECTED]> wrote:
> Here are the ones for sdkplayer:
> note that when the sdk gets updated these will change again, but this should
> get you started for now - you can make the same changes to hl2mp_player as
> necessary.
>
> sdk_player.cpp:
> -----------------------
>
>
> //-----------------------------------------------------------------------------
> // Purpose: Filters updates to a variable so that only non-local players see
> // the changes. This is so we can send a low-res origin to non-local
> players
> // while sending a hi-res one to the local player.
> // Input : *pVarData -
> // *pOut -
> // objectID -
>
> //-----------------------------------------------------------------------------
>
> void* SendProxy_SendNonLocalDataTable( const SendProp *pProp, const void
> *pStruct, const void *pVarData, CSendProxyRecipients *pRecipients, int
> objectID )
> {
> pRecipients->SetAllRecipients();
> pRecipients->ClearRecipient( objectID - 1 );
> return ( void * )pVarData;
> }
> REGISTER_SEND_PROXY_NON_MODIFIED_POINTER( SendProxy_SendNonLocalDataTable );
>
> BEGIN_SEND_TABLE_NOBASE( CSDKPlayer, DT_SDKLocalPlayerExclusive )
> SendPropInt( SENDINFO( m_iShotsFired ), 8, SPROP_UNSIGNED ),
> // send a hi-res origin to the local player for use in prediction
> SendPropVector (SENDINFO(m_vecOrigin), -1,
> SPROP_NOSCALE|SPROP_CHANGES_OFTEN, 0.0f, HIGH_DEFAULT, SendProxy_Origin ),
>
> SendPropFloat( SENDINFO_VECTORELEM(m_angEyeAngles, 0), 8,
> SPROP_CHANGES_OFTEN, -90.0f, 90.0f ),
> // SendPropAngle( SENDINFO_VECTORELEM(m_angEyeAngles, 1), 10,
> SPROP_CHANGES_OFTEN ),
> END_SEND_TABLE()
>
> BEGIN_SEND_TABLE_NOBASE( CSDKPlayer, DT_SDKNonLocalPlayerExclusive )
> // send a lo-res origin to other players
> SendPropVector (SENDINFO(m_vecOrigin), -1,
> SPROP_COORD_MP_LOWPRECISION|SPROP_CHANGES_OFTEN, 0.0f, HIGH_DEFAULT,
> SendProxy_Origin ),
>
> SendPropFloat( SENDINFO_VECTORELEM(m_angEyeAngles, 0), 8,
> SPROP_CHANGES_OFTEN, -90.0f, 90.0f ),
> SendPropAngle( SENDINFO_VECTORELEM(m_angEyeAngles, 1), 10,
> SPROP_CHANGES_OFTEN ),
> END_SEND_TABLE()
>
>
> // main table
> IMPLEMENT_SERVERCLASS_ST( CSDKPlayer, DT_SDKPlayer )
> SendPropExclude( "DT_BaseAnimating", "m_flPoseParameter" ),
> SendPropExclude( "DT_BaseAnimating", "m_flPlaybackRate" ),
> SendPropExclude( "DT_BaseAnimating", "m_nSequence" ),
> SendPropExclude( "DT_BaseEntity", "m_angRotation" ),
> SendPropExclude( "DT_BaseAnimatingOverlay", "overlay_vars" ),
> SendPropExclude( "DT_BaseEntity", "m_vecOrigin" ),
>
> // playeranimstate and clientside animation takes care of these on the
> client
> SendPropExclude( "DT_ServerAnimationData" , "m_flCycle" ),
> SendPropExclude( "DT_AnimTimeMustBeFirst" , "m_flAnimTime" ),
>
> // Data that only gets sent to the local player.
> SendPropDataTable( "sdklocaldata", 0,
> &REFERENCE_SEND_TABLE(DT_SDKLocalPlayerExclusive),
> SendProxy_SendLocalDataTable ),
> // Data that gets sent to all other players
> SendPropDataTable( "sdknonlocaldata", 0,
> &REFERENCE_SEND_TABLE(DT_SDKNonLocalPlayerExclusive),
> SendProxy_SendNonLocalDataTable ),
>
> SendPropEHandle( SENDINFO( m_hRagdoll ) ),
>
> SendPropInt( SENDINFO( m_iPlayerState ), Q_log2( NUM_PLAYER_STATES )+1,
> SPROP_UNSIGNED ),
>
> SendPropBool( SENDINFO( m_bSpawnInterpCounter ) ),
>
> END_SEND_TABLE()
>
> c_sdk_player.cpp:
> --------------------------
> BEGIN_RECV_TABLE_NOBASE( C_SDKPlayer, DT_SDKLocalPlayerExclusive )
> RecvPropInt( RECVINFO( m_iShotsFired ) ),
> RecvPropVector( RECVINFO_NAME( m_vecNetworkOrigin, m_vecOrigin ) ),
>
> RecvPropFloat( RECVINFO( m_angEyeAngles[0] ) ),
> // RecvPropFloat( RECVINFO( m_angEyeAngles[1] ) ),
> END_RECV_TABLE()
>
> BEGIN_RECV_TABLE_NOBASE( C_SDKPlayer, DT_SDKNonLocalPlayerExclusive )
> RecvPropVector( RECVINFO_NAME( m_vecNetworkOrigin, m_vecOrigin ) ),
>
> RecvPropFloat( RECVINFO( m_angEyeAngles[0] ) ),
> RecvPropFloat( RECVINFO( m_angEyeAngles[1] ) ),
> END_RECV_TABLE()
>
> // main table
> IMPLEMENT_CLIENTCLASS_DT( C_SDKPlayer, DT_SDKPlayer, CSDKPlayer )
> RecvPropDataTable( "sdklocaldata", 0, 0,
> &REFERENCE_RECV_TABLE(DT_SDKLocalPlayerExclusive) ),
> RecvPropDataTable( "sdknonlocaldata", 0, 0,
> &REFERENCE_RECV_TABLE(DT_SDKNonLocalPlayerExclusive) ),
>
> RecvPropEHandle( RECVINFO( m_hRagdoll ) ),
>
> RecvPropInt( RECVINFO( m_iPlayerState ) ),
>
> RecvPropBool( RECVINFO( m_bSpawnInterpCounter ) ),
> END_RECV_TABLE()
>
>
>
>
>
> On Thu, Apr 24, 2008 at 5:41 PM, Janek <[EMAIL PROTECTED]> wrote:
>
> > Tony, you could maybe post what is missing in those tables. :-D
> >
> > 2008/4/24 Janek <[EMAIL PROTECTED]>:
> >
> > > I was also thinking on a prediction error reading an other thread
> > speaking
> > > about that. Thank you for the information Tony.
> > > Sad fix is not published yet.
> > >
> > > 2008/4/24 Tony omega Sergi <[EMAIL PROTECTED]>:
> > >
> > >> If you're referring to player movement being laggy and prediction going
> > >> out,
> > >>
> > >> it's because in the released source right now the network tables aren't
> > >> setup correctly for hl2mp or the scratch sdk.
> > >> They're missing the new nonlocal data table, and local data overrides
> > >> which
> > >> setup the network origin for multiplayer using optimized values. - full
> > >> precision is sent to the local client, and every other player gets an
> > >> optimized version that isn't as precise ( interp on the client
> > eliminates
> > >> it
> > >> visually ).
> > >>
> > >> Whenever we get the SDK update again, that issue will be fixed properly.
> > >> I've corrected it, but no ETA.
> > >> -Tony
> > >>
> > >> On Thu, Apr 24, 2008 at 5:01 AM, Tom Leighton <
> > >> [EMAIL PROTECTED]>
> > >> wrote:
> > >>
> > >> > There is a "Stuttering" problem with it (Affects movement). It seems
> > to
> > >> > lag with this.
> > >> >
> > >> > Janek wrote:
> > >> > > Yeah, I saw this message but I don't have "NVIDIA Forceware Network
> > >> > Access
> > >> > > Manager" installed so I don't had to uninstall it. The problem is
> > very
> > >> > > different. I really think HL2MP under "OB engine" is haing serious
> > >> > > performance problem.
> > >> > >
> > >> > > [EMAIL PROTECTED]
> > >> > >
> > >> > > 2008/4/24 Tom Edwards <[EMAIL PROTECTED]>:
> > >> > >
> > >> > >
> > >> > >> Somebody with very similar problems fixed them by uninstalling the
> > >> > >> nVidia Firewall only a few hours ago. Do you have it?
> > >> > >>
> > >> > >> Janek wrote:
> > >> > >>
> > >> > >>> Hi,
> > >> > >>>
> > >> > >>> I just finished porting my mod from "ep1 engine" to "OB engine". I
> > >> > >>>
> > >> > >> wanted to
> > >> > >>
> > >> > >>> post a quick feedback about performances I had under "ep1 engine"
> > >> and
> > >> > >>>
> > >> > >> "OB
> > >> > >>
> > >> > >>> engine". My mod is based on HL2MP SDK.
> > >> > >>>
> > >> > >>> It is clear that performance under new engine are very bad from
> > what
> > >> I
> > >> > >>>
> > >> > >> see:
> > >> > >>
> > >> > >>> - movement are jittery
> > >> > >>> - fps drops down
> > >> > >>> Even if I set all settings to lowest level nothing is flawless.
> > >> > >>>
> > >> > >>> To ensure it is not due to a bad porting of my mod, I did the same
> > >> > test
> > >> > >>> between a fresh HL2MP SDK (from Valve) using "ep1 engine" and the
> > >> one
> > >> > >>>
> > >> > >> using
> > >> > >>
> > >> > >>> "OB engine". I experienced exactly the same performance problem.
> > >> > >>>
> > >> > >>> Do you experienced the same problem ?
> > >> > >>>
> > >> > >>> What can explain such a big difference ?
> > >> > >>>
> > >> > >>>
> > >> > >>>
> > >> > >> _______________________________________________
> > >> > >> To unsubscribe, edit your list preferences, or view the list
> > >> archives,
> > >> > >> please visit:
> > >> > >> http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > >> > >>
> > >> > >>
> > >> > >>
> > >> > >
> > >> > >
> > >> > >
> > >> >
> > >> >
> > >> > _______________________________________________
> > >> > To unsubscribe, edit your list preferences, or view the list archives,
> > >> > please visit:
> > >> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > >> >
> > >> >
> > >>
> > >>
> > >> --
> > >> -Tony
> > >> _______________________________________________
> > >> To unsubscribe, edit your list preferences, or view the list archives,
> > >> please visit:
> > >> http://list.valvesoftware.com/mailman/listinfo/hlcoders
> > >>
> > >>
> > >
> > >
> > > --
> > > -------------------
> > > [EMAIL PROTECTED]
> >
> >
> >
> >
> > --
> > -------------------
> > [EMAIL PROTECTED]
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the list archives,
> > please visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >
> >
>
>
> --
>
>
> -Tony
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders