doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
13.33k stars 857 forks source link

Price of Persia 2008 #4288

Closed Ukrainiantranslator closed 2 weeks ago

Ukrainiantranslator commented 1 month ago

Software information

Price of Persia 2008

System information

Apitrace text:

Original game give me are 1gb video memory and ~60 fps. When I install are dxvk = 1700 mb + 50 stable fps with both of bugs with shaders and smoothness. Please fix it

Blisto91 commented 1 month ago

Hi there. Please go into more details with each issue so we are sure what you are talking about. Also attach a dxvk log.

vram: The vram situation is being actively worked on at the moment so should improve with future releases. 50fps: This is only when vsync is engaged right? Shader bugs: Please include screenshots or videos so we know what you mean. Possibly a apitrace. Smoothness: I don't know what you mean by smoothness

Ukrainiantranslator commented 1 month ago

info: Game: PrinceOfPersia_Launcher.exe info: DXVK: v2.4 info: Vulkan: Found vkGetInstanceProcAddr in vulkan-1.dll @ 0x6a7216f0 info: Built-in extension providers: info: Platform WSI info: OpenVR info: OpenXR info: OpenVR: could not open registry key, status 2 info: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_EXT_surface_maintenance1 info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: D3D9: VK_FORMAT_D16_UNORM_S8_UINT -> VK_FORMAT_D24_UNORM_S8_UINT info: NVIDIA GeForce RTX 3060: info: Driver : NVIDIA 561.9.0 info: Memory Heap[0]: info: Size: 12115 MiB info: Flags: 0x1 info: Memory Type[1]: Property Flags = 0x1 info: Memory Type[2]: Property Flags = 0x1 info: Memory Type[5]: Property Flags = 0x7 info: Memory Heap[1]: info: Size: 16290 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x6 info: Memory Type[4]: Property Flags = 0xe info: Process set as DPI aware info: Device properties: info: Device : NVIDIA GeForce RTX 3060 info: Driver : NVIDIA 561.9.0 info: Enabled device extensions: info: VK_EXT_attachment_feedback_loop_layout info: VK_EXT_conservative_rasterization info: VK_EXT_custom_border_color info: VK_EXT_depth_bias_control info: VK_EXT_depth_clip_enable info: VK_EXT_extended_dynamic_state3 info: VK_EXT_fragment_shader_interlock info: VK_EXT_full_screen_exclusive info: VK_EXT_graphics_pipeline_library info: VK_EXT_hdr_metadata info: VK_EXT_memory_priority info: VK_EXT_non_seamless_cube_map info: VK_EXT_robustness2 info: VK_EXT_shader_module_identifier info: VK_EXT_swapchain_maintenance1 info: VK_EXT_transform_feedback info: VK_EXT_vertex_attribute_divisor info: VK_KHR_external_memory_win32 info: VK_KHR_external_semaphore_win32 info: VK_KHR_maintenance5 info: VK_KHR_pipeline_library info: VK_KHR_present_id info: VK_KHR_present_wait info: VK_KHR_swapchain info: VK_KHR_win32_keyed_mutex info: VK_NV_descriptor_pool_overallocation info: VK_NV_raw_access_chains info: Device features: info: robustBufferAccess : 1 info: fullDrawIndexUint32 : 1 info: imageCubeArray : 1 info: independentBlend : 1 info: geometryShader : 1 info: tessellationShader : 0 info: sampleRateShading : 1 info: dualSrcBlend : 0 info: logicOp : 0 info: multiDrawIndirect : 0 info: drawIndirectFirstInstance : 0 info: depthClamp : 1 info: depthBiasClamp : 1 info: fillModeNonSolid : 1 info: depthBounds : 1 info: wideLines : 1 info: multiViewport : 1 info: samplerAnisotropy : 1 info: textureCompressionBC : 1 info: occlusionQueryPrecise : 1 info: pipelineStatisticsQuery : 1 info: vertexPipelineStoresAndAtomics : 1 info: fragmentStoresAndAtomics : 0 info: shaderImageGatherExtended : 0 info: shaderClipDistance : 1 info: shaderCullDistance : 1 info: shaderFloat64 : 0 info: shaderInt64 : 0 info: variableMultisampleRate : 1 info: shaderResourceResidency : 0 info: shaderResourceMinLod : 0 info: sparseBinding : 0 info: sparseResidencyBuffer : 0 info: sparseResidencyImage2D : 0 info: sparseResidencyImage3D : 0 info: sparseResidency2Samples : 0 info: sparseResidency4Samples : 0 info: sparseResidency8Samples : 0 info: sparseResidency16Samples : 0 info: sparseResidencyAliased : 0 info: Vulkan 1.1 info: shaderDrawParameters : 0 info: Vulkan 1.2 info: samplerMirrorClampToEdge : 1 info: drawIndirectCount : 1 info: samplerFilterMinmax : 0 info: hostQueryReset : 1 info: timelineSemaphore : 1 info: bufferDeviceAddress : 0 info: shaderOutputViewportIndex : 1 info: shaderOutputLayer : 1 info: vulkanMemoryModel : 1 info: Vulkan 1.3 info: robustImageAccess : 0 info: pipelineCreationCacheControl : 1 info: shaderDemoteToHelperInvocation : 1 info: shaderZeroInitializeWorkgroupMemory : 0 info: synchronization2 : 1 info: dynamicRendering : 1 info: VK_AMD_shader_fragment_mask info: extension supported : 0 info: VK_EXT_attachment_feedback_loop_layout info: attachmentFeedbackLoopLayout : 1 info: VK_EXT_conservative_rasterization info: extension supported : 1 info: VK_EXT_custom_border_color info: customBorderColors : 1 info: customBorderColorWithoutFormat : 1 info: VK_EXT_depth_clip_enable info: depthClipEnable : 1 info: VK_EXT_depth_bias_control info: depthBiasControl : 1 info: leastRepresentableValueForceUnormRepresentation : 1 info: floatRepresentation : 0 info: depthBiasExact : 1 info: VK_EXT_extended_dynamic_state3 info: extDynamicState3AlphaToCoverageEnable : 1 info: extDynamicState3DepthClipEnable : 1 info: extDynamicState3RasterizationSamples : 1 info: extDynamicState3SampleMask : 1 info: extDynamicState3LineRasterizationMode : 1 info: VK_EXT_fragment_shader_interlock info: fragmentShaderSampleInterlock : 0 info: fragmentShaderPixelInterlock : 0 info: VK_EXT_full_screen_exclusive info: extension supported : 1 info: VK_EXT_graphics_pipeline_library info: graphicsPipelineLibrary : 1 info: VK_EXT_line_rasterization info: rectangularLines : 1 info: smoothLines : 1 info: VK_EXT_memory_budget info: extension supported : 1 info: VK_EXT_memory_priority info: memoryPriority : 1 info: VK_EXT_non_seamless_cube_map info: nonSeamlessCubeMap : 1 info: VK_EXT_robustness2 info: robustBufferAccess2 : 1 info: robustImageAccess2 : 1 info: nullDescriptor : 1 info: VK_EXT_shader_module_identifier info: shaderModuleIdentifier : 1 info: VK_EXT_shader_stencil_export info: extension supported : 0 info: VK_EXT_swapchain_colorspace info: extension supported : 0 info: VK_EXT_swapchain_maintenance1 info: swapchainMaintenance1 : 1 info: VK_EXT_hdr_metadata info: extension supported : 1 info: VK_EXT_transform_feedback info: transformFeedback : 0 info: geometryStreams : 0 info: VK_EXT_vertex_attribute_divisor info: vertexAttributeInstanceRateDivisor : 1 info: vertexAttributeInstanceRateZeroDivisor : 1 info: VK_KHR_external_memory_win32 info: extension supported : 1 info: VK_KHR_external_semaphore_win32 info: extension supported : 1 info: VK_KHR_maintenance5 info: maintenance5 : 1 info: VK_KHR_present_id info: presentId : 1 info: VK_KHR_present_wait info: presentWait : 1 info: VK_NV_descriptor_pool_overallocation info: descriptorPoolOverallocation : 1 info: VK_NV_raw_access_chains info: shaderRawAccessChains : 1 info: VK_NVX_binary_import info: extension supported : 0 info: VK_NVX_image_view_handle info: extension supported : 0 info: VK_KHR_win32_keyed_mutex info: extension supported : 1 info: Queue families: info: Graphics : 0 info: Transfer : 1 info: Sparse : 0 warn: DXVK: No state cache file found info: DXVK: Graphics pipeline libraries supported info: D3D9DeviceEx::ResetSwapChain: info: Requested Presentation Parameters info: - Width: 1920 info: - Height: 1080 info: - Format: D3D9Format::X8R8G8B8 info: - Auto Depth Stencil: true info: ^ Format: D3D9Format::D24S8 info: - Windowed: false info: - Swap effect: 1 info: Presenter: Actual swap chain properties: info: Format: VK_FORMAT_R8G8B8A8_UNORM info: Color space: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR info: Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR (dynamic: yes) info: Buffer size: 1920x1080 info: Image count: 3 info: Exclusive FS: 0 info: Setting display mode: 1920x1080@50 info: Setting display mode: 1920x1080@50 info: D3D9DeviceEx::SetRenderState: MinimalNVIDIADriverShaderOptimization is unsupported info: DXVK: Using 12 compiler threads info: Presenter: Actual swap chain properties: info: Format: VK_FORMAT_R8G8B8A8_UNORM info: Color space: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR info: Present mode: VK_PRESENT_MODE_FIFO_KHR (dynamic: yes) info: Buffer size: 1920x1080 info: Image count: 3 info: Exclusive FS: 0 info: Detected frame rate (~53) higher than selected refresh rate of ~50 Hz. info: Engaging frame rate limiter. info: Setting timer interval to 500 us info: Restoring display mode: 1920x1080@60 info: Setting display mode: 1920x1080@60

dx9(original) not have troubles with shadows 20240924093851_1 vulkan have troubles with shadows 20240924094356_1 20240924094357_1 I can't add the video because OBS don't can record this game.

Blisto91 commented 1 month ago

What is the issue in the screenshots? I'm not spotting anything.

Try latest master. Can be downloaded here https://github.com/doitsujin/dxvk/actions/runs/10984315685

Ukrainiantranslator commented 1 month ago

What is the issue in the screenshots? I'm not spotting anything.

Try latest master. Can be downloaded here https://github.com/doitsujin/dxvk/actions/runs/10984315685

it's still 50 fps and same shadow bug

info: Game: PrinceOfPersia_Launcher.exe info: DXVK: v2.4-94-gca3aa201 info: Found built-in config: info: d3d9.maxFrameRate = 240 info: Effective configuration: info: d3d9.maxFrameRate = 240 info: Vulkan: Found vkGetInstanceProcAddr in vulkan-1.dll @ 0x6a5516f0 info: Built-in extension providers: info: Platform WSI info: OpenVR info: OpenXR info: OpenVR: could not open registry key, status 2 info: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_EXT_surface_maintenance1 info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: D3D9: VK_FORMAT_D16_UNORM_S8_UINT -> VK_FORMAT_D24_UNORM_S8_UINT info: NVIDIA GeForce RTX 3060: info: Driver : NVIDIA 561.9.0 info: Memory Heap[0]: info: Size: 12115 MiB info: Flags: 0x1 info: Memory Type[1]: Property Flags = 0x1 info: Memory Type[2]: Property Flags = 0x1 info: Memory Type[5]: Property Flags = 0x7 info: Memory Heap[1]: info: Size: 16290 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x6 info: Memory Type[4]: Property Flags = 0xe info: Process set as DPI aware info: Device properties: info: Device : NVIDIA GeForce RTX 3060 info: Driver : NVIDIA 561.9.0 info: Enabled device extensions: info: VK_EXT_attachment_feedback_loop_layout info: VK_EXT_conservative_rasterization info: VK_EXT_custom_border_color info: VK_EXT_depth_bias_control info: VK_EXT_depth_clip_enable info: VK_EXT_extended_dynamic_state3 info: VK_EXT_fragment_shader_interlock info: VK_EXT_full_screen_exclusive info: VK_EXT_graphics_pipeline_library info: VK_EXT_hdr_metadata info: VK_EXT_line_rasterization info: VK_EXT_memory_priority info: VK_EXT_non_seamless_cube_map info: VK_EXT_robustness2 info: VK_EXT_shader_module_identifier info: VK_EXT_swapchain_maintenance1 info: VK_EXT_transform_feedback info: VK_EXT_vertex_attribute_divisor info: VK_KHR_external_memory_win32 info: VK_KHR_external_semaphore_win32 info: VK_KHR_maintenance5 info: VK_KHR_pipeline_library info: VK_KHR_present_id info: VK_KHR_present_wait info: VK_KHR_swapchain info: VK_KHR_win32_keyed_mutex info: VK_NV_descriptor_pool_overallocation info: VK_NV_raw_access_chains info: Device features: info: robustBufferAccess : 1 info: fullDrawIndexUint32 : 1 info: imageCubeArray : 1 info: independentBlend : 1 info: geometryShader : 1 info: tessellationShader : 0 info: sampleRateShading : 1 info: dualSrcBlend : 0 info: logicOp : 0 info: multiDrawIndirect : 0 info: drawIndirectFirstInstance : 0 info: depthClamp : 1 info: depthBiasClamp : 1 info: fillModeNonSolid : 1 info: depthBounds : 1 info: wideLines : 1 info: multiViewport : 1 info: samplerAnisotropy : 1 info: textureCompressionBC : 1 info: occlusionQueryPrecise : 1 info: pipelineStatisticsQuery : 1 info: vertexPipelineStoresAndAtomics : 1 info: fragmentStoresAndAtomics : 0 info: shaderImageGatherExtended : 0 info: shaderClipDistance : 1 info: shaderCullDistance : 1 info: shaderFloat64 : 0 info: shaderInt64 : 0 info: variableMultisampleRate : 1 info: shaderResourceResidency : 0 info: shaderResourceMinLod : 0 info: sparseBinding : 0 info: sparseResidencyBuffer : 0 info: sparseResidencyImage2D : 0 info: sparseResidencyImage3D : 0 info: sparseResidency2Samples : 0 info: sparseResidency4Samples : 0 info: sparseResidency8Samples : 0 info: sparseResidency16Samples : 0 info: sparseResidencyAliased : 0 info: Vulkan 1.1 info: shaderDrawParameters : 0 info: Vulkan 1.2 info: samplerMirrorClampToEdge : 1 info: drawIndirectCount : 1 info: samplerFilterMinmax : 0 info: hostQueryReset : 1 info: timelineSemaphore : 1 info: bufferDeviceAddress : 0 info: shaderOutputViewportIndex : 1 info: shaderOutputLayer : 1 info: vulkanMemoryModel : 1 info: Vulkan 1.3 info: robustImageAccess : 0 info: pipelineCreationCacheControl : 1 info: shaderDemoteToHelperInvocation : 1 info: shaderZeroInitializeWorkgroupMemory : 0 info: synchronization2 : 1 info: dynamicRendering : 1 info: VK_AMD_shader_fragment_mask info: extension supported : 0 info: VK_EXT_attachment_feedback_loop_layout info: attachmentFeedbackLoopLayout : 1 info: VK_EXT_conservative_rasterization info: extension supported : 1 info: VK_EXT_custom_border_color info: customBorderColors : 1 info: customBorderColorWithoutFormat : 1 info: VK_EXT_depth_clip_enable info: depthClipEnable : 1 info: VK_EXT_depth_bias_control info: depthBiasControl : 1 info: leastRepresentableValueForceUnormRepresentation : 1 info: floatRepresentation : 0 info: depthBiasExact : 1 info: VK_EXT_extended_dynamic_state3 info: extDynamicState3AlphaToCoverageEnable : 1 info: extDynamicState3DepthClipEnable : 1 info: extDynamicState3RasterizationSamples : 1 info: extDynamicState3SampleMask : 1 info: extDynamicState3LineRasterizationMode : 1 info: VK_EXT_fragment_shader_interlock info: fragmentShaderSampleInterlock : 0 info: fragmentShaderPixelInterlock : 0 info: VK_EXT_full_screen_exclusive info: extension supported : 1 info: VK_EXT_graphics_pipeline_library info: graphicsPipelineLibrary : 1 info: VK_EXT_line_rasterization info: rectangularLines : 1 info: smoothLines : 1 info: VK_EXT_memory_budget info: extension supported : 1 info: VK_EXT_memory_priority info: memoryPriority : 1 info: VK_EXT_non_seamless_cube_map info: nonSeamlessCubeMap : 1 info: VK_EXT_robustness2 info: robustBufferAccess2 : 1 info: robustImageAccess2 : 1 info: nullDescriptor : 1 info: VK_EXT_shader_module_identifier info: shaderModuleIdentifier : 1 info: VK_EXT_shader_stencil_export info: extension supported : 0 info: VK_EXT_swapchain_colorspace info: extension supported : 0 info: VK_EXT_swapchain_maintenance1 info: swapchainMaintenance1 : 1 info: VK_EXT_hdr_metadata info: extension supported : 1 info: VK_EXT_transform_feedback info: transformFeedback : 0 info: geometryStreams : 0 info: VK_EXT_vertex_attribute_divisor info: vertexAttributeInstanceRateDivisor : 1 info: vertexAttributeInstanceRateZeroDivisor : 1 info: VK_KHR_external_memory_win32 info: extension supported : 1 info: VK_KHR_external_semaphore_win32 info: extension supported : 1 info: VK_KHR_maintenance5 info: maintenance5 : 1 info: VK_KHR_present_id info: presentId : 1 info: VK_KHR_present_wait info: presentWait : 1 info: VK_NV_descriptor_pool_overallocation info: descriptorPoolOverallocation : 1 info: VK_NV_raw_access_chains info: shaderRawAccessChains : 1 info: VK_NVX_binary_import info: extension supported : 0 info: VK_NVX_image_view_handle info: extension supported : 0 info: VK_KHR_win32_keyed_mutex info: extension supported : 1 info: Queue families: info: Graphics : 0 info: Transfer : 1 info: Sparse : 0 warn: DXVK: No state cache file found info: DXVK: Graphics pipeline libraries supported info: D3D9DeviceEx::ResetSwapChain: info: Requested Presentation Parameters info: - Width: 1920 info: - Height: 1080 info: - Format: D3D9Format::X8R8G8B8 info: - Auto Depth Stencil: true info: ^ Format: D3D9Format::D24S8 info: - Windowed: false info: - Swap effect: 1 info: Presenter: Actual swap chain properties: info: Format: VK_FORMAT_R8G8B8A8_UNORM info: Color space: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR info: Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR (dynamic: yes) info: Buffer size: 1920x1080 info: Image count: 3 info: Exclusive FS: 0 info: Setting display mode: 1920x1080@50 info: Setting display mode: 1920x1080@50 info: D3D9DeviceEx::SetRenderState: MinimalNVIDIADriverShaderOptimization is unsupported info: DXVK: Using 12 compiler threads info: Presenter: Actual swap chain properties: info: Format: VK_FORMAT_R8G8B8A8_UNORM info: Color space: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR info: Present mode: VK_PRESENT_MODE_FIFO_KHR (dynamic: yes) info: Buffer size: 1920x1080 info: Image count: 3 info: Exclusive FS: 0 info: Restoring display mode: 1920x1080@60 info: Setting display mode: 1920x1080@60

K0bin commented 1 month ago

I can't see any shadow bugs. Looks correct to me. Can you get a bit more specific please? And I assume 50 fps is less than you expect?

Ukrainiantranslator commented 1 month ago

I can't see any shadow bugs. Looks correct to me. Can you get a bit more specific please? And I assume 50 fps is less than you expect?

yes why I do not have 60+ fps? and look careful to 2 screenshots it's only in VULKAN version bugs when see are shadows.

ViNi-Arco commented 1 month ago

yes why I do not have 60+ fps? and look careful to 2 screenshots it's only in VULKAN version bugs when see are shadows.

From your log:

info: Setting display mode: 1920x1080@50 info: Setting display mode: 1920x1080@50 info: Detected frame rate (~53) higher than selected refresh rate of ~50 Hz. info: Engaging frame rate limiter.

It even restores afterwards, but dxvk's fps limiter has already done its job of limiting it to 50fps previously:

info: Restoring display mode: 1920x1080@60 info: Setting display mode: 1920x1080@60

Blisto91 commented 1 month ago

Can you send a save game in regards to the shadows? I haven't noticed anything odd while playing the game myself.

WinterSnowfall commented 2 weeks ago

yes why I do not have 60+ fps?

You will never get 60+ fps, because the game is locked at 60 fps (when V-Sync is on). For the 50 Hz problem, one of the above PRs should be able to sort your issues (actually both do, but remains to be seen which will be merged).

In the case of shadows, I see them outlined just fine on dxvk/Vulkan, so not sure what problem you're suggesting we should be able to see.