← PlayCanvas Engine · projekttervezési csomag adatlapja

Skill · 1.0.0 verzió

Unity Jobs- és Burst-optimalizálás

Mérésből igazolt CPU-problémára alkalmaz Unity Jobs és Burst feldolgozást. Tisztázza az adatok felelősét és a függőségeket, hogy a párhuzamosítás helyes legyen és tényleg megtérüljön.

unity-jobs-burst-optimization

Ezt a skillt használó ügynökök

Nézd meg, miben segít

Mikor hasznos?

Akkor használd, ha nagy számítás leválasztható a főszálról, és biztonságosan meghatározható szinkronizációja és memóriaélete.

Miben segít neked?

  • CPU-szűk keresztmetszetet mér a párhuzamosítás kiválasztása előtt.
  • Meghatározza a NativeContainer gazdáját, hozzáférését és jobfüggőségét.
  • Méri az ütemezési többletet, memóriafelszabadítás előtt befejezi a munkát.

Például ezt kérheted

Egy Unity-tömeg túl sok CPU-időt tölt közeli célpontok értékelésével. Azonos szereplőszámon és hardveren vesd össze a meglévő számítást egy célzott Burst-feladattal. Az adatpufferek éljenek minden függő munka végéig, a döntések egyezzenek, a mérésbe pedig az ütemezés és szinkronizáció költsége is számítson bele.

Részletes dokumentáció

Itt a skill eredeti útmutatóját, példáit és ellenőrzési szempontjait olvashatod az eredeti nyelven.

Részletek…Összecsukás

Jobs, Burst and Data Layout

Inspect installed Burst/Collections/Entities versions, target backend and a measured CPU workload. Jobs, Burst and Entities are separate choices; do not migrate the whole project to DOTS for a local hot loop.

  • Identify data ownership, dependencies and the computation that can safely run away from Unity's main-thread object APIs. Keep unsupported managed references and APIs out of job code.
  • Prefer reducing work and improving contiguous access before parallelizing. Choose data layout from access patterns and measure cache behavior, scheduling and synchronization overhead.
  • Declare job dependencies and NativeContainer access correctly. Do not disable safety restrictions merely to suppress a conflict; resolve the actual ownership/race contract.
  • Choose allocators and disposal by lifetime, including cancellation, scene unload and exception paths. Complete outstanding work before disposing memory it uses.
  • Preserve numeric and gameplay requirements when changing vectorization, floating-point settings or parallel reduction order. A fixed random seed alone does not establish cross-platform determinism.
  • Compare a sufficiently large representative workload; small jobs and immediate Complete calls can add overhead without useful concurrency.

Verify outputs against the existing implementation, dependency/lifetime behavior and target-player timing when tooling permits. Report package/backend constraints and what remained on the main thread.

References: installed C# Job System and Burst documentation.

Csomagban lévő fájlok 2

  • LICENSE.txt
  • SKILL.md