Turnip-Rutabaga-v3 對比 Turnip_v27.0.0-R1
在 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_v27.0.0-R1
對比自訂Turnip-Rutabaga-v3
圖形系統版本(Vulkan)1.3.363 → 1.0.359
可選功能(擴充功能)158 → 145+4 -17
通過檢測的功能(已驗證)47 → 47通過的檢測相同
跑分測試場景(基準測試)4 個更快 0 個更慢總體快 7%(幾何平均)
各驅動程式能跑的遊戲(根據功能列表估算):綠色大致能跑,黃色未必能跑,橙色問題較多,紅色跑不動
原廠DX92002+DX102006+DX112009+DX122015+Switch
自訂DX92002+DX102006+DX112009+DX122015+Switch
- hdr_2160p快 10%
- oit_linked_lists快 4%
- pipeline_barriers快 7%
- subpasses快 8%
1 個場景的畫面有局部區域與原廠驅動程式不同 (pipeline_barriers:2304 個格子中有 1482 個). 整體畫面是一致的,所以這是局部渲染故障,而不是畫了另一個場景。
沒有每次都能啟動: compute_nbody (原廠 3 / 3, 自訂 0 / 3).
條件不一致:其中 1 個場景測試時 GPU 頻率不同(例如 subpasses: 原廠為裝置最大頻率的 88%,自訂為 100%). 幀時間的部分差異來自裝置自己選擇的頻率,而不是驅動程式。
Turnip_v27.0.0-R1 詳情 Turnip-Rutabaga-v3 詳情
結果不同的功能檢測(0)
每項功能檢測在兩個驅動程式上的結果都相同。
跑分測試場景(基準測試)
| 場景 | Turnip_v27.0.0-R1 ms | Turnip-Rutabaga-v3 ms | 差異 | 啟動次數 | GPU 頻率,MHz | 畫面對比原廠 |
|---|---|---|---|---|---|---|
| compute_nbody | 89.38 | n/a | 僅一側有 | 3 / 3 對比 0 / 3 | 1115 對比 ? | 未檢測 |
| hdr_2160p | 347.46 | 317.11 | 快 10% | 3 / 3 對比 3 / 3 | 1115 對比 1068 | 沒有明顯差異 沒有細微差異 |
| oit_linked_lists | 98.08 | 94.48 | 快 4% | 3 / 3 對比 3 / 3 | 1115 對比 1115 | 沒有明顯差異 沒有細微差異 |
| pipeline_barriers | 45.04 | 42.19 | 快 7% | 3 / 3 對比 3 / 3 | 1115 對比 1115 | 沒有明顯差異 有 1482 處小區域不同 |
| subpasses | 88.72 | 82.30 | 快 8% | 3 / 3 對比 3 / 3 | 982 對比 1115 不可比 | 未檢測 |
技術差異(Vulkan)
僅 Turnip-Rutabaga-v3 有的擴充功能(4)
- VK_EXT_depth_range_unrestricted
- VK_EXT_frame_boundary
- VK_EXT_pipeline_robustness
- VK_KHR_cooperative_matrix
僅 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
不同的核心功能(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_v27.0.0-R1 | Turnip-Rutabaga-v3 |
|---|
只有一個驅動程式支援的格式(多了 0 種,少了 2 種)
- 無
- A1B5G5R5_UNORM_PACK16
- A8_UNORM