Skip to content

Performance improvement of PassServerEntityFilter #442

@Velocity-plus

Description

@Velocity-plus

PassServerEntityFilter is a VERY demanding function similar to SetTransmit. I think it would be very beneficial for this function to be handled on C++ side.

Further performance discussion
https://sourcepython.com/viewtopic.php?f=20&p=15917&sid=9edefcd1561ace64fcaa48264bc459d3#p15917

Code:

server = memory.find_binary('server', srv_check=False)

PassServerEntityFilter = server[b'\x55\xB8\x01\x00\x00\x00\x89\xE5\x83\xEC\x38\x89\x5D\xF4'].make_function(
    Convention.CDECL,
    [DataType.POINTER, DataType.POINTER],
    DataType.BOOL
)


@PreHook(PassServerEntityFilter)  
def _pre_pass_server_entity_filter(args):
    try:
        p2 = index_from_pointer(args[1])
    except ValueError:
        return

    p1 = index_from_pointer(args[0])

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions