FauxVkDB
简体中文

turnip_mrpurple-EOL-24.3.4 对比 turnip_mrpurple_T30-toasted

在 Adreno (TM) 619 上 (Motorola moto g34 5G, Motorola moto g45 5G, Motorola moto g84 5G, realme 10 Pro 5G). 先列出的驱动与后一个对比,后一个是基准。

原厂turnip_mrpurple_T30-toastedPurpleVK 26.3.0-devel (git-62ac221a33)
对比
第三方turnip_mrpurple-EOL-24.3.4PurpleVK-EOL 24.3.4 (git-1950a8b78c)
图形系统版本(Vulkan)1.3.359 → 1.3.296
可选功能(扩展)155 → 124+1 -32
通过检测的功能(已验证)65 → 65通过的检测相同
跑分测试场景(基准测试)2 个更快 1 个更慢 1 个持平总体快 0%(几何平均)
各驱动能跑的游戏(根据功能列表估算):绿色基本能跑,黄色可能能跑,橙色问题较多,红色跑不了
原厂DX92002+DX102006+DX112009+DX122015+Switch
第三方DX92002+DX102006+DX112009+DX122015+Switch
  • hdr_2160p快 10%
  • oit_linked_lists慢 0%
  • pipeline_barriers慢 27%
  • subpasses快 28%

每个场景中第三方驱动与原厂驱动的对比。条形向右表示更快,向左表示更慢。

1 个场景的画面有局部区域与原厂驱动不同 (pipeline_barriers:2304 个格子中有 2 个). 整体画面是一致的,所以这是局部渲染故障,而不是画了另一个场景。

turnip_mrpurple_T30-toasted 详情 turnip_mrpurple-EOL-24.3.4 详情

结果不同的功能检测(18)

功能turnip_mrpurple_T30-toastedturnip_mrpurple-EOL-24.3.4变化
extendedDynamicState3ColorBlendAdvanced
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3ConservativeRasterizationMode
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3CoverageModulationMode
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3CoverageModulationTable
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3CoverageModulationTableEnable
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3CoverageReductionMode
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3CoverageToColorEnable
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3CoverageToColorLocation
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3ExtraPrimitiveOverestimationSize
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3LineStippleEnable
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3RepresentativeFragmentTestEnable
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3ShadingRateImageEnable
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3ViewportSwizzle
VK_EXT_extended_dynamic_state3
不支持未检测有变化
extendedDynamicState3ViewportWScalingEnable
VK_EXT_extended_dynamic_state3
不支持未检测有变化
shaderFloat64
VkPhysicalDeviceFeatures
不支持未检测有变化
shaderResourceMinLod
VkPhysicalDeviceFeatures
未检测不支持有变化
shaderStorageImageMultisample
VkPhysicalDeviceFeatures
不支持未检测有变化
sparseBinding
VkPhysicalDeviceFeatures
不支持未检测有变化

跑分测试场景(基准测试)

场景turnip_mrpurple_T30-toasted msturnip_mrpurple-EOL-24.3.4 ms差异启动次数GPU 频率,MHz画面对比原厂
hdr_2160p128.45 典型值 126.49116.97 典型值 115.21快 10%3 / 3 对比 3 / 3? 对比 ? 频率未知没有明显差异 0.0 没有细微差异 最差 0.0 64x36
oit_linked_lists54.89 典型值 54.7555.09 典型值 54.93慢 0%3 / 3 对比 3 / 3? 对比 ? 频率未知没有明显差异 0.0 没有细微差异 最差 0.0 64x36
pipeline_barriers18.33 典型值 18.3825.28 典型值 25.36慢 27%3 / 3 对比 3 / 3? 对比 ? 频率未知没有明显差异 0.0 有 2 处小区域不同 最差 7.3 64x36
subpasses47.10 典型值 47.0936.80 典型值 36.83快 28%3 / 3 对比 3 / 3? 对比 ? 频率未知未检测

绘制一帧所需的时间,按场景统计:取该场景最佳一轮的平均帧时间,也就是驱动交付了多少帧;越低越快。旁边的“典型值”是中位帧,当驱动的帧分成两种速度时,它可能比平均值低很多。在记录每轮平均值之前生成的一对报告,改用中位数对比。各轮之间相差超过 15% 的场景会被排除。标为“被锁帧”的场景,是被驱动或显示队列锁在了那个平均帧时间上,并且同一次运行中至少还有另一个场景也是如此;它的耗时反映的是帧的间隔,而不是驱动渲染得有多快,所以不参与对比。标为“太轻”的场景,在标准尺寸(1920×1080)下两个驱动都不到 8 ms,此时屏幕的帧队列对帧间隔的影响比芯片更大;这时对比的是它更重的版本:以 _2160p 结尾的行是以 3840×2160 绘制的该场景,compute_nbody_2x 是粒子数翻倍的该场景。“更快”和“更慢”描述的是 turnip_mrpurple-EOL-24.3.4 相对 turnip_mrpurple_T30-toasted。“画面对比原厂”把每个场景的一个固定帧按粗略的色块网格对比(0 为完全相同,超过 40 表示画面不同),用来找出没有被画出来的场景。如果两份报告都带有更细的 64×36 网格,第二个数字是其 2,304 个格子中有多少个差异超过 255 里的 4,“最差”是单个格子的最大差异;这能找出其余部分都一致的画面里的小渲染错误。标为 16x9 的行来自细网格出现之前生成的报告。“启动次数”是一个场景的进程启动中,有多少次进入了被测量的一轮。标为“不可比”的 GPU 频率,表示两次计时之间的差异超过设备最大频率的 5%。

技术差异(Vulkan)

仅 turnip_mrpurple-EOL-24.3.4 有的扩展(1)
  • VK_EXT_post_depth_coverage
仅 turnip_mrpurple_T30-toasted 有的扩展(32)
  • VK_EXT_custom_resolve
  • VK_EXT_debug_marker
  • VK_EXT_depth_clamp_control
  • VK_EXT_device_memory_report
  • VK_EXT_dynamic_rendering_unused_attachments
  • VK_EXT_fragment_density_map_offset
  • VK_EXT_hdr_metadata
  • VK_EXT_image_compression_control
  • VK_EXT_multisampled_render_to_single_sampled
  • VK_EXT_primitive_restart_index
  • VK_EXT_shader_atomic_float
  • VK_EXT_shader_uniform_buffer_unsized_array
  • VK_EXT_texture_compression_astc_hdr
  • VK_EXT_zero_initialize_device_memory
  • VK_KHR_deferred_host_operations
  • VK_KHR_dynamic_rendering_local_read
  • VK_KHR_index_type_uint8
  • VK_KHR_line_rasterization
  • VK_KHR_load_store_op_none
  • 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_subgroup_rotate
  • VK_KHR_vertex_attribute_divisor
  • VK_NV_compute_shader_derivatives
  • VK_QCOM_fragment_density_map_offset
  • VK_QCOM_multiview_per_view_render_areas
  • VK_QCOM_render_pass_shader_resolve
  • VK_VALVE_fragment_density_map_layered
不同的核心功能(12)
multiviewGeometryShader Vulkan 1.1不支持 → 通过
multiviewTessellationShader Vulkan 1.1不支持 → 通过
protectedMemory Vulkan 1.1不支持 → 通过
storageInputOutput16 Vulkan 1.1不支持 → 通过
storagePushConstant16 Vulkan 1.1不支持 → 通过
uniformAndStorageBuffer16BitAccess Vulkan 1.1不支持 → 通过
bufferDeviceAddressMultiDevice Vulkan 1.2不支持 → 通过
shaderInputAttachmentArrayDynamicIndexing Vulkan 1.2不支持 → 通过
shaderInputAttachmentArrayNonUniformIndexing Vulkan 1.2不支持 → 通过
shaderSharedInt64Atomics Vulkan 1.2不支持 → 通过
storagePushConstant8 Vulkan 1.2不支持 → 通过
uniformAndStorageBuffer8BitAccess Vulkan 1.2不支持 → 通过
不同的限制(2)
限制turnip_mrpurple_T30-toastedturnip_mrpurple-EOL-24.3.4
maxFragmentInputComponents128124
maxComputeSharedMemorySize6553632768
只有一个驱动支持的格式(多了 0 种,少了 20 种)

仅 turnip_mrpurple-EOL-24.3.4 有:

  • 无

仅 turnip_mrpurple_T30-toasted 有:

  • A1B5G5R5_UNORM_PACK16
  • A8_UNORM
  • ASTC_10x10_SFLOAT_BLOCK
  • ASTC_10x5_SFLOAT_BLOCK
  • ASTC_10x6_SFLOAT_BLOCK
  • ASTC_10x8_SFLOAT_BLOCK
  • ASTC_12x10_SFLOAT_BLOCK
  • ASTC_12x12_SFLOAT_BLOCK
  • ASTC_4x4_SFLOAT_BLOCK
  • ASTC_5x4_SFLOAT_BLOCK
  • ASTC_5x5_SFLOAT_BLOCK
  • ASTC_6x5_SFLOAT_BLOCK
  • ASTC_6x6_SFLOAT_BLOCK
  • ASTC_8x5_SFLOAT_BLOCK
  • ASTC_8x6_SFLOAT_BLOCK
  • ASTC_8x8_SFLOAT_BLOCK
  • B8G8R8_SINT
  • B8G8R8_SNORM
  • B8G8R8_UINT
  • B8G8R8_UNORM