Turnip_v27.0.0-R1 对比 Turnip-Rutabaga-v3
在 Adreno (TM) 610 上 (HONOR Pad X8a, HONOR X8c, POCO M7, Redmi Note 11, Redmi Note 12, Redmi Note 13, Samsung Galaxy A05s, Xiaomi 220333QAG). 先列出的驱动与后一个对比,后一个是基准。
原厂Turnip-Rutabaga-v3
对比第三方Turnip_v27.0.0-R1
图形系统版本(Vulkan)1.0.359 → 1.3.363
可选功能(扩展)145 → 158+17 -4
通过检测的功能(已验证)47 → 47通过的检测相同
跑分测试场景(基准测试)0 个更快 4 个更慢总体慢 7%(几何平均)
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch
- hdr_2160p慢 9%
- oit_linked_lists慢 4%
- pipeline_barriers慢 6%
- subpasses慢 7%
1 个场景的画面有局部区域与原厂驱动不同 (pipeline_barriers:2304 个格子中有 1482 个). 整体画面是一致的,所以这是局部渲染故障,而不是画了另一个场景。
没有每次都能启动: compute_nbody (原厂 0 / 3, 第三方 3 / 3).
条件不一致:其中 1 个场景测试时 GPU 频率不同(例如 subpasses: 原厂为设备最大频率的 100%,第三方为 88%). 帧时间的部分差异来自设备自己选择的频率,而不是驱动。
Turnip-Rutabaga-v3 详情 Turnip_v27.0.0-R1 详情
结果不同的功能检测(0)
每项功能检测在两个驱动上的结果都相同。
跑分测试场景(基准测试)
| 场景 | Turnip-Rutabaga-v3 ms | Turnip_v27.0.0-R1 ms | 差异 | 启动次数 | GPU 频率,MHz | 画面对比原厂 |
|---|---|---|---|---|---|---|
| compute_nbody | n/a | 89.38 | 仅一侧有 | 0 / 3 对比 3 / 3 | ? 对比 1115 | 未检测 |
| hdr_2160p | 317.11 | 347.46 | 慢 9% | 3 / 3 对比 3 / 3 | 1068 对比 1115 | 没有明显差异 没有细微差异 |
| oit_linked_lists | 94.48 | 98.08 | 慢 4% | 3 / 3 对比 3 / 3 | 1115 对比 1115 | 没有明显差异 没有细微差异 |
| pipeline_barriers | 42.19 | 45.04 | 慢 6% | 3 / 3 对比 3 / 3 | 1115 对比 1115 | 没有明显差异 有 1482 处小区域不同 |
| subpasses | 82.30 | 88.72 | 慢 7% | 3 / 3 对比 3 / 3 | 1115 对比 982 不可比 | 未检测 |
技术差异(Vulkan)
仅 Turnip_v27.0.0-R1 有的扩展(17)
- VK_EXT_global_priority
- VK_EXT_global_priority_query
- VK_EXT_subgroup_size_control
- VK_KHR_global_priority
- VK_KHR_maintenance4
- VK_KHR_maintenance5
- VK_KHR_maintenance6
- VK_KHR_maintenance7
- VK_KHR_multiview
- VK_KHR_shader_float_controls2
- VK_KHR_shader_subgroup_extended_types
- VK_KHR_shader_subgroup_uniform_control_flow
- VK_KHR_spirv_1_4
- VK_KHR_swapchain_mutable_format
- VK_QCOM_rotated_copy_commands
- VK_VALVE_buffer_device_address_allocation_alignment
- VK_VALVE_fragment_density_map_layered
仅 Turnip-Rutabaga-v3 有的扩展(4)
- VK_EXT_depth_range_unrestricted
- VK_EXT_frame_boundary
- VK_EXT_pipeline_robustness
- VK_KHR_cooperative_matrix
不同的核心功能(57)
| multiview | 不支持 → 通过 |
| samplerYcbcrConversion | 不支持 → 通过 |
| shaderDrawParameters | 不支持 → 通过 |
| variablePointers | 不支持 → 通过 |
| variablePointersStorageBuffer | 不支持 → 通过 |
| bufferDeviceAddress | 不支持 → 通过 |
| bufferDeviceAddressCaptureReplay | 不支持 → 通过 |
| descriptorBindingPartiallyBound | 不支持 → 通过 |
| descriptorBindingSampledImageUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingStorageBufferUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingStorageImageUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingStorageTexelBufferUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingUniformBufferUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingUniformTexelBufferUpdateAfterBind | 不支持 → 通过 |
| descriptorBindingUpdateUnusedWhilePending | 不支持 → 通过 |
| descriptorBindingVariableDescriptorCount | 不支持 → 通过 |
| descriptorIndexing | 不支持 → 通过 |
| drawIndirectCount | 不支持 → 通过 |
| hostQueryReset | 不支持 → 通过 |
| imagelessFramebuffer | 不支持 → 通过 |
| runtimeDescriptorArray | 不支持 → 通过 |
| samplerMirrorClampToEdge | 不支持 → 通过 |
| scalarBlockLayout | 不支持 → 通过 |
| separateDepthStencilLayouts | 不支持 → 通过 |
| shaderFloat16 | 不支持 → 通过 |
| shaderInt8 | 不支持 → 通过 |
| shaderOutputLayer | 不支持 → 通过 |
| shaderOutputViewportIndex | 不支持 → 通过 |
| shaderSampledImageArrayNonUniformIndexing | 不支持 → 通过 |
| shaderStorageBufferArrayNonUniformIndexing | 不支持 → 通过 |
| shaderStorageImageArrayNonUniformIndexing | 不支持 → 通过 |
| shaderStorageTexelBufferArrayDynamicIndexing | 不支持 → 通过 |
| shaderStorageTexelBufferArrayNonUniformIndexing | 不支持 → 通过 |
| shaderSubgroupExtendedTypes | 不支持 → 通过 |
| shaderUniformBufferArrayNonUniformIndexing | 不支持 → 通过 |
| shaderUniformTexelBufferArrayDynamicIndexing | 不支持 → 通过 |
| shaderUniformTexelBufferArrayNonUniformIndexing | 不支持 → 通过 |
| subgroupBroadcastDynamicId | 不支持 → 通过 |
| timelineSemaphore | 不支持 → 通过 |
| uniformBufferStandardLayout | 不支持 → 通过 |
| vulkanMemoryModel | 不支持 → 通过 |
| vulkanMemoryModelAvailabilityVisibilityChains | 不支持 → 通过 |
| vulkanMemoryModelDeviceScope | 不支持 → 通过 |
| computeFullSubgroups | 不支持 → 通过 |
| descriptorBindingInlineUniformBlockUpdateAfterBind | 不支持 → 通过 |
| dynamicRendering | 不支持 → 通过 |
| inlineUniformBlock | 不支持 → 通过 |
| maintenance4 | 不支持 → 通过 |
| pipelineCreationCacheControl | 不支持 → 通过 |
| privateData | 不支持 → 通过 |
| robustImageAccess | 不支持 → 通过 |
| shaderDemoteToHelperInvocation | 不支持 → 通过 |
| shaderIntegerDotProduct | 不支持 → 通过 |
| shaderTerminateInvocation | 不支持 → 通过 |
| shaderZeroInitializeWorkgroupMemory | 不支持 → 通过 |
| subgroupSizeControl | 不支持 → 通过 |
| synchronization2 | 不支持 → 通过 |
不同的限制(0)
| 限制 | Turnip-Rutabaga-v3 | Turnip_v27.0.0-R1 |
|---|
只有一个驱动支持的格式(多了 2 种,少了 0 种)
- A1B5G5R5_UNORM_PACK16
- A8_UNORM
- 无