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
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.
Ö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.txtSKILL.md
