FauxVkDB
繁體中文

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-R1Mesa 27.0.0-devel (git-f28352d117)
對比
自訂Turnip-Rutabaga-v3Mesa 26.3.0-devel (git-b00479181d)
圖形系統版本(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 msTurnip-Rutabaga-v3 ms差異啟動次數GPU 頻率,MHz畫面對比原廠
compute_nbody89.38 典型值 89.17n/a僅一側有3 / 3 對比 0 / 31115 對比 ? 頻率未知未檢測
hdr_2160p347.46 典型值 347.29317.11 典型值 310.72快 10%3 / 3 對比 3 / 31115 對比 1068 沒有明顯差異 0.0 沒有細微差異 最差 0.0 64x36
oit_linked_lists98.08 典型值 96.1894.48 典型值 94.29快 4%3 / 3 對比 3 / 31115 對比 1115 沒有明顯差異 0.0 沒有細微差異 最差 0.0 64x36
pipeline_barriers45.04 典型值 45.3542.19 典型值 42.59快 7%3 / 3 對比 3 / 31115 對比 1115 沒有明顯差異 10.6 有 1482 處小區域不同 最差 62.3 64x36
subpasses88.72 典型值 88.7382.30 典型值 82.29快 8%3 / 3 對比 3 / 3982 對比 1115 不可比未檢測

繪製一幀所需的時間,按場景統計:取該場景最佳一輪的平均幀時間,也就是驅動程式交付了多少幀;越低越快。旁邊的「典型值」是中位幀,當驅動程式的幀分成兩種速度時,它可能比平均值低很多。在記錄每輪平均值之前產生的一對報告,改用中位數對比。各輪之間相差超過 15% 的場景會被排除。標為「鎖幀」的場景,是被驅動程式或顯示佇列鎖在了那個平均幀時間上,並且同一次執行中至少還有另一個場景也是如此;它的耗時反映的是幀的間隔,而不是驅動程式渲染得有多快,所以不參與對比。標為「太輕」的場景,在標準尺寸(1920×1080)下兩個驅動程式都不到 8 ms,此時螢幕的幀佇列對幀間隔的影響比晶片更大;這時對比的是它更重的版本:以 _2160p 結尾的行是以 3840×2160 繪製的該場景,compute_nbody_2x 是粒子數翻倍的該場景。「更快」和「更慢」描述的是 Turnip-Rutabaga-v3 相對 Turnip_v27.0.0-R1。「畫面對比原廠」把每個場景的一個固定幀按粗略的色塊網格對比(0 為完全相同,超過 40 表示畫面不同),用來找出沒有被畫出來的場景。如果兩份報告都帶有更細的 64×36 網格,第二個數字是其 2,304 個格子中有多少個差異超過 255 裡的 4,「最差」是單個格子的最大差異;這能找出其餘部分都一致的畫面裡的小渲染錯誤。標為 16x9 的行來自細網格出現之前產生的報告。「啟動次數」是一個場景的處理程序啟動中,有多少次進入了被測量的一輪。標為「不可比」的 GPU 頻率,表示兩次計時之間的差異超過裝置最大頻率的 5%。

技術差異(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 Vulkan 1.1通過 → 不支援
samplerYcbcrConversion Vulkan 1.1通過 → 不支援
shaderDrawParameters Vulkan 1.1通過 → 不支援
variablePointers Vulkan 1.1通過 → 不支援
variablePointersStorageBuffer Vulkan 1.1通過 → 不支援
bufferDeviceAddress Vulkan 1.2通過 → 不支援
bufferDeviceAddressCaptureReplay Vulkan 1.2通過 → 不支援
descriptorBindingPartiallyBound Vulkan 1.2通過 → 不支援
descriptorBindingSampledImageUpdateAfterBind Vulkan 1.2通過 → 不支援
descriptorBindingStorageBufferUpdateAfterBind Vulkan 1.2通過 → 不支援
descriptorBindingStorageImageUpdateAfterBind Vulkan 1.2通過 → 不支援
descriptorBindingStorageTexelBufferUpdateAfterBind Vulkan 1.2通過 → 不支援
descriptorBindingUniformBufferUpdateAfterBind Vulkan 1.2通過 → 不支援
descriptorBindingUniformTexelBufferUpdateAfterBind Vulkan 1.2通過 → 不支援
descriptorBindingUpdateUnusedWhilePending Vulkan 1.2通過 → 不支援
descriptorBindingVariableDescriptorCount Vulkan 1.2通過 → 不支援
descriptorIndexing Vulkan 1.2通過 → 不支援
drawIndirectCount Vulkan 1.2通過 → 不支援
hostQueryReset Vulkan 1.2通過 → 不支援
imagelessFramebuffer Vulkan 1.2通過 → 不支援
runtimeDescriptorArray Vulkan 1.2通過 → 不支援
samplerMirrorClampToEdge Vulkan 1.2通過 → 不支援
scalarBlockLayout Vulkan 1.2通過 → 不支援
separateDepthStencilLayouts Vulkan 1.2通過 → 不支援
shaderFloat16 Vulkan 1.2通過 → 不支援
shaderInt8 Vulkan 1.2通過 → 不支援
shaderOutputLayer Vulkan 1.2通過 → 不支援
shaderOutputViewportIndex Vulkan 1.2通過 → 不支援
shaderSampledImageArrayNonUniformIndexing Vulkan 1.2通過 → 不支援
shaderStorageBufferArrayNonUniformIndexing Vulkan 1.2通過 → 不支援
shaderStorageImageArrayNonUniformIndexing Vulkan 1.2通過 → 不支援
shaderStorageTexelBufferArrayDynamicIndexing Vulkan 1.2通過 → 不支援
shaderStorageTexelBufferArrayNonUniformIndexing Vulkan 1.2通過 → 不支援
shaderSubgroupExtendedTypes Vulkan 1.2通過 → 不支援
shaderUniformBufferArrayNonUniformIndexing Vulkan 1.2通過 → 不支援
shaderUniformTexelBufferArrayDynamicIndexing Vulkan 1.2通過 → 不支援
shaderUniformTexelBufferArrayNonUniformIndexing Vulkan 1.2通過 → 不支援
subgroupBroadcastDynamicId Vulkan 1.2通過 → 不支援
timelineSemaphore Vulkan 1.2通過 → 不支援
uniformBufferStandardLayout Vulkan 1.2通過 → 不支援
vulkanMemoryModel Vulkan 1.2通過 → 不支援
vulkanMemoryModelAvailabilityVisibilityChains Vulkan 1.2通過 → 不支援
vulkanMemoryModelDeviceScope Vulkan 1.2通過 → 不支援
computeFullSubgroups Vulkan 1.3通過 → 不支援
descriptorBindingInlineUniformBlockUpdateAfterBind Vulkan 1.3通過 → 不支援
dynamicRendering Vulkan 1.3通過 → 不支援
inlineUniformBlock Vulkan 1.3通過 → 不支援
maintenance4 Vulkan 1.3通過 → 不支援
pipelineCreationCacheControl Vulkan 1.3通過 → 不支援
privateData Vulkan 1.3通過 → 不支援
robustImageAccess Vulkan 1.3通過 → 不支援
shaderDemoteToHelperInvocation Vulkan 1.3通過 → 不支援
shaderIntegerDotProduct Vulkan 1.3通過 → 不支援
shaderTerminateInvocation Vulkan 1.3通過 → 不支援
shaderZeroInitializeWorkgroupMemory Vulkan 1.3通過 → 不支援
subgroupSizeControl Vulkan 1.3通過 → 不支援
synchronization2 Vulkan 1.3通過 → 不支援
不同的限制(0)
限制Turnip_v27.0.0-R1Turnip-Rutabaga-v3
只有一個驅動程式支援的格式(多了 0 種,少了 2 種)

僅 Turnip-Rutabaga-v3 有:

  • 無

僅 Turnip_v27.0.0-R1 有:

  • A1B5G5R5_UNORM_PACK16
  • A8_UNORM