Killing Floor UnrealScript Profiling - PROFILESCRIPT и .uprof файлы

Killing Floor UnrealScript Profiling - PROFILESCRIPT и .uprof файлы

  • Тема закрыта
  • Вы не можете ответить в тему

Killing Floor UnrealScript Profiling - PROFILESCRIPT и .uprof файлы Как профилировать UnrealScript performance в Killing Floor через PROFILESCRIPT START/STOP, .uprof output, call graph, expensive functions и inclusive/exclusive time.

Geekrainian #1

    • Группа: Администратор
    • Сообщений: 974

    Отправлено:

    Killing Floor UnrealScript Profiling

    UnrealScript performance проблемы сложно понять только чтением кода. Script profiler помогает увидеть, какие functions тратят время, где возникают spikes и какие calls реально важны во время gameplay.

    Creating a profile

    Запуск profiling из console:

    PROFILESCRIPT START

    Остановка:

    PROFILESCRIPT STOP

    После остановки в KillingFloor\System появляется файл с timestamp-style name:

    KillingFloor-<Current ISO Date>.uprof

    Открой .uprof файл в profiler visualizer.

    Call graph

    Call graph показывает script calls как tree. Inclusive time включает children; self time показывает собственную стоимость function, если это не leaf.

    Это полезно, когда function выглядит дешевой, но на самом деле вызывает несколько тяжелых child functions.

    Expensive functions

    Expensive-functions view помогает найти worst-case calls. Function, которая занимает 10 ms раз в 100 frames, может не выглядеть огромной по averages, но все равно давать заметный gameplay spike.

    Используй этот view, если игроки жалуются на stutters, Zed spawn spikes, тяжелые HUD updates или expensive mutator logic.

    Inclusive and exclusive time

    Inclusive/exclusive view показывает:

    • call count;
    • inclusive percentage;
    • exclusive percentage;
    • inclusive time per call;
    • exclusive time per call.

    Время измеряется в microseconds.

    Как profiler работает

    Profiler записывает function pointers и timing data на entry/return. Отдельный C# visualizer разбирает stream и восстанавливает call graph.

    Результат полезнее угадывания по code structure, потому что отражает то, что реально выполнялось в captured session.

    Practical workflow

    1. Воспроизведи gameplay scenario, который кажется slow.
    2. Запусти profiling незадолго до подозрительного момента.
    3. Останови profiling сразу после spike или test segment.
    4. Открой .uprof файл.
    5. Сначала проверь expensive functions.
    6. Разбери call graph.
    7. Optimize, compile и capture again.

    Связанные страницы

    Назад