

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Deadline Cloud 上使用任务分块将帧分成块
<a name="examples-jb-task-chunking"></a>

[task\_chunking](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/task_chunking) 示例演示了 Open Job Description 的[任务分块](https://github.com/OpenJobDescription/openjd-specifications/blob/mainline/rfcs/0001-task-chunking.md)扩展。在渲染每帧之前，渲染作业通常会花费大量时间加载应用程序和场景文件。分块通过每块处理多个帧来摊销这一开销，从而减少总作业运行时间。

示例包括四个示例：

basic\_contiguous\_chunks  
使用的最小示例`rangeConstraint: CONTIGUOUS`。每个区块都会扩展到类似`"1-10"`或`"11-20"`的范围。

basic\_non\_contiguous\_chunks  
使用的最小示例`rangeConstraint: NONCONTIGUOUS`。区块可以是任意帧集，比如`"1-3,5,7-20:2"`。

blender\_render\_with\_contiguous\_chunks  
一个从[在截止日期云上渲染 Blender](examples-jb-blender-render.md)捆绑包转换成使用连续块渲染的真实示例。

blender\_render\_with\_non\_contiguous\_chunks  
具有非连续块的 Blender 变体。

根据应用程序选择范围约束：
+ `CONTIGUOUS`— 当应用程序支持开始帧和结束帧参数时使用。
+ `NONCONTIGUOUS`— 当应用程序支持任意帧列表时使用。

要在模板中启用任务分块，请添加`extensions: [TASK_CHUNKING]`、定义类型的参数`CHUNK[INT]`，然后配置`defaultTaskCount``targetRuntimeSeconds`、和`rangeConstraint`：

```
specificationVersion: 'jobtemplate-2023-09'
extensions:
  - TASK_CHUNKING
steps:
  - name: Render
    parameterSpace:
      taskParameterDefinitions:
        - name: Frame
          type: CHUNK[INT]
          range: "{{Param.Frames}}"
          chunks:
            defaultTaskCount: 10
            targetRuntimeSeconds: 600
            rangeConstraint: CONTIGUOUS
```