FauxVkDB
繁體中文

Qualcomm Technologies Inc. Adreno Vulkan Driver 對比 Qualcomm Technologies Inc. Adreno Vulkan Driver

在 Adreno (TM) 710 上 (Motorola moto g stylus, Motorola moto g57 power, POCO X6 5G, POCO X6 5G). 先列出的驅動程式與後一個對比,後一個是基準。

原廠Qualcomm Technologies Inc. Adreno Vulkan DriverDriver Build: f91666577a, I9e3a7b6b86, 1753676536
對比
自訂Qualcomm Technologies Inc. Adreno Vulkan DriverDriver Build: 35ebe05c3f, Iffba89f8fb, 1753433034
圖形系統版本(Vulkan)1.3.284 → 1.1.128
可選功能(擴充功能)143 → 89+0 -54
通過檢測的功能(已驗證)43 → 350 個僅在 Qualcomm Technologies Inc. Adreno Vulkan Driver 上通過 8 個僅在 Qualcomm Technologies Inc. Adreno Vulkan Driver 上通過
跑分測試場景(基準測試)3 個更快 2 個更慢總體慢 13%(幾何平均)
各驅動程式能跑的遊戲(根據功能列表估算):綠色大致能跑,黃色未必能跑,橙色問題較多,紅色跑不動
原廠DX92002+DX102006+DX112009+DX122015+Switch
自訂DX92002+DX102006+DX112009+DX122015+Switch
  • compute_nbody快 20%
  • hdr_2160p快 37%
  • oit_linked_lists快 8%
  • pipeline_barriers慢 43%
  • subpasses慢 51%

每個場景中自訂驅動程式與原廠驅動程式的對比。長條向右表示更快,向左表示更慢。

Qualcomm Technologies Inc. Adreno Vulkan Driver 詳情 Qualcomm Technologies Inc. Adreno Vulkan Driver 詳情

結果不同的功能檢測(14)

功能原廠Qualcomm Technologies Inc. Adreno Vulkan Driver變化
borderColorSwizzle
VK_EXT_border_color_swizzle
通過不支援減少
colorWriteEnable
VK_EXT_color_write_enable
通過不支援減少
depthClipControl
VK_EXT_depth_clip_control
通過不支援減少
extendedDynamicState2
VK_EXT_extended_dynamic_state2
通過不支援減少
extendedDynamicState2LogicOp
VK_EXT_extended_dynamic_state2
通過不支援減少
inlineUniformBlock
VK_EXT_inline_uniform_block
通過不支援減少
vertexInputDynamicState
VK_EXT_vertex_input_dynamic_state
通過不支援減少
multiViewport
VkPhysicalDeviceFeatures
通過不支援減少
borderColorSwizzleFromImage
VK_EXT_border_color_swizzle
未檢測不支援有變化
extendedDynamicState2PatchControlPoints
VK_EXT_extended_dynamic_state2
未檢測不支援有變化
descriptorBindingInlineUniformBlockUpdateAfterBind
VK_EXT_inline_uniform_block
未檢測不支援有變化
shaderInt64
VkPhysicalDeviceFeatures
未檢測不支援有變化
shaderTessellationAndGeometryPointSize
VkPhysicalDeviceFeatures
未檢測不支援有變化
variableMultisampleRate
VkPhysicalDeviceFeatures
未檢測不支援有變化

跑分測試場景(基準測試)

兩個驅動程式不是在同一批裝置型號上測的。不同裝置的幀時間不能用來比較驅動程式,看這些資料時請記住這一點。

場景原廠 msQualcomm Technologies Inc. Adreno Vulkan Driver ms差異啟動次數GPU 頻率,MHz畫面對比原廠
compute_nbody26.84 典型值 26.7822.40 典型值 22.37快 20%3 / 3 對比 3 / 3? 對比 ? 頻率未知沒有明顯差異 0.0 沒有細微差異 最差 0.0 64x36
hdr_2160p167.92 典型值 167.86122.29 典型值 122.14快 37%3 / 3 對比 3 / 3? 對比 ? 頻率未知沒有明顯差異 0.0 沒有細微差異 最差 0.0 64x36
oit_linked_lists40.17 典型值 40.1237.16 典型值 37.17快 8%3 / 3 對比 3 / 3? 對比 ? 頻率未知沒有明顯差異 0.0 沒有細微差異 最差 0.0 64x36
pipeline_barriers11.06 典型值 11.0719.35 典型值 19.41慢 43%3 / 3 對比 3 / 3? 對比 ? 頻率未知沒有明顯差異 0.0 沒有細微差異 最差 0.0 64x36
subpasses17.38 典型值 17.2535.33 典型值 35.32慢 51%3 / 3 對比 3 / 3? 對比 ? 頻率未知未檢測

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

技術差異(Vulkan)

僅 Qualcomm Technologies Inc. Adreno Vulkan Driver 有的擴充功能(0)
  • 無
僅 Qualcomm Technologies Inc. Adreno Vulkan Driver 有的擴充功能(54)
  • VK_ANDROID_external_format_resolve
  • VK_EXT_4444_formats
  • VK_EXT_border_color_swizzle
  • VK_EXT_color_write_enable
  • VK_EXT_conservative_rasterization
  • VK_EXT_depth_clamp_zero_one
  • VK_EXT_depth_clip_control
  • VK_EXT_depth_clip_enable
  • VK_EXT_device_address_binding_report
  • VK_EXT_device_fault
  • VK_EXT_extended_dynamic_state2
  • VK_EXT_external_memory_acquire_unmodified
  • VK_EXT_global_priority_query
  • VK_EXT_image_2d_view_of_3d
  • VK_EXT_image_view_min_lod
  • VK_EXT_inline_uniform_block
  • VK_EXT_load_store_op_none
  • VK_EXT_multi_draw
  • VK_EXT_multisampled_render_to_single_sampled
  • VK_EXT_pipeline_protected_access
  • VK_EXT_shader_module_identifier
  • VK_EXT_shader_subgroup_ballot
  • VK_EXT_shader_subgroup_vote
  • VK_EXT_shader_viewport_index_layer
  • VK_EXT_tooling_info
  • VK_EXT_vertex_input_dynamic_state
  • VK_KHR_dynamic_rendering
  • VK_KHR_dynamic_rendering_local_read
  • VK_KHR_format_feature_flags2
  • VK_KHR_global_priority
  • VK_KHR_index_type_uint8
  • VK_KHR_line_rasterization
  • VK_KHR_load_store_op_none
  • VK_KHR_maintenance4
  • VK_KHR_maintenance5
  • VK_KHR_maintenance6
  • VK_KHR_map_memory2
  • VK_KHR_shader_clock
  • VK_KHR_shader_expect_assume
  • VK_KHR_shader_float_controls2
  • VK_KHR_shader_integer_dot_product
  • VK_KHR_shader_maximal_reconvergence
  • VK_KHR_shader_quad_control
  • VK_KHR_shader_subgroup_rotate
  • VK_KHR_shader_subgroup_uniform_control_flow
  • VK_KHR_swapchain_mutable_format
  • VK_KHR_vertex_attribute_divisor
  • VK_KHR_workgroup_memory_explicit_layout
  • VK_KHR_zero_initialize_workgroup_memory
  • VK_NV_optical_flow
  • VK_QCOM_fragment_density_map_offset
  • VK_QCOM_multiview_per_view_render_areas
  • VK_QCOM_multiview_per_view_viewports
  • VK_QCOM_tile_properties
不同的核心功能(64)
multiview Vulkan 1.1通過 → 不支援
protectedMemory Vulkan 1.1通過 → 不支援
samplerYcbcrConversion Vulkan 1.1通過 → 不支援
shaderDrawParameters Vulkan 1.1通過 → 不支援
storageBuffer16BitAccess 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通過 → 不支援
samplerFilterMinmax Vulkan 1.2通過 → 不支援
samplerMirrorClampToEdge Vulkan 1.2通過 → 不支援
scalarBlockLayout Vulkan 1.2通過 → 不支援
separateDepthStencilLayouts Vulkan 1.2通過 → 不支援
shaderFloat16 Vulkan 1.2通過 → 不支援
shaderInputAttachmentArrayDynamicIndexing Vulkan 1.2通過 → 不支援
shaderInputAttachmentArrayNonUniformIndexing 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通過 → 不支援
storageBuffer8BitAccess 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通過 → 不支援
textureCompressionASTC_HDR Vulkan 1.3通過 → 不支援
不同的限制(17)
限制原廠Qualcomm Technologies Inc. Adreno Vulkan Driver
maxMemoryAllocationCount42949672954096
maxSamplerAllocationCount655364000
maxPerStageDescriptorSamplers16777216524288
maxPerStageDescriptorUniformBuffers16777216524288
maxPerStageDescriptorStorageBuffers16777216524288
maxPerStageDescriptorSampledImages16777216524288
maxPerStageDescriptorStorageImages16777216524288
maxPerStageResources503316481572864
maxDescriptorSetSamplers16777216524288
maxDescriptorSetUniformBuffers16777216524288
maxDescriptorSetStorageBuffers16777216524288
maxDescriptorSetSampledImages16777216524288
maxDescriptorSetStorageImages16777216524288
maxFragmentCombinedOutputResources3355444072
maxComputeWorkGroupSize1024, 1024, 10241024, 1024, 64
maxViewports161
pointSizeRange1, 40951, 4092
只有一個驅動程式支援的格式(多了 0 種,少了 29 種)

僅 Qualcomm Technologies Inc. Adreno Vulkan Driver 有:

  • 無

僅 Qualcomm Technologies Inc. Adreno Vulkan Driver 有:

  • A1B5G5R5_UNORM_PACK16
  • A2B10G10R10_SSCALED_PACK32
  • A2B10G10R10_USCALED_PACK32
  • A2R10G10B10_SSCALED_PACK32
  • A2R10G10B10_USCALED_PACK32
  • A4B4G4R4_UNORM_PACK16
  • A4R4G4B4_UNORM_PACK16
  • A8B8G8R8_SSCALED_PACK32
  • A8B8G8R8_USCALED_PACK32
  • A8_UNORM
  • B8G8R8A8_SINT
  • B8G8R8A8_SNORM
  • B8G8R8A8_UINT
  • R16G16B16A16_SSCALED
  • R16G16B16A16_USCALED
  • R16G16B16_SSCALED
  • R16G16B16_USCALED
  • R16G16_SSCALED
  • R16G16_USCALED
  • R16_SSCALED
  • R16_USCALED
  • R8G8B8A8_SSCALED
  • R8G8B8A8_USCALED
  • R8G8B8_SSCALED
  • R8G8B8_USCALED
  • R8G8_SSCALED
  • R8G8_USCALED
  • R8_SSCALED
  • R8_USCALED