Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rainbow Six 3 bad stuttering #165

Open
CaptainCoward opened this issue May 23, 2023 · 5 comments
Open

Rainbow Six 3 bad stuttering #165

CaptainCoward opened this issue May 23, 2023 · 5 comments
Labels
bug Something isn't working

Comments

@CaptainCoward
Copy link

I know windows is not officially supported tough i checked the protondb and the same Issue is reported there as well so i thought of reporting it here. The game starts and seems to work fine though as soon as you start playing it becomes pretty stuttery. It seems like it would recreate shaders all the time (though it doesn't get any better when you keep playing). Other than that there isn't much to report.

Software information

Rainbow Six 3: Ravenshield

System information

  • GPU: RX6600
  • Driver: 23.4.3
  • Windows 10
  • D8VK version: 1.0

Log files

  • d3d8.log:

info: Game: ravenshield.exe
info: DXVK: d8vk-v1.0
info: Built-in extension providers:
info: Win32 WSI
info: OpenVR
info: OpenXR
info: OpenVR: could not open registry key, status 2
info: OpenVR: Failed to locate module
info: Vulkan: Found vkGetInstanceProcAddr in vulkan-1.dll @ 0x6c62b790
info: Enabled instance extensions:
info: VK_KHR_get_surface_capabilities2
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: D3D9: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info: AMD Radeon RX 6600:
info: Driver: 2.0.262
info: Vulkan: 1.3.246
info: Memory Heap[0]:
info: Size: 16091 MiB
info: Flags: 0x0
info: Memory Type[1]: Property Flags = 0x6
info: Memory Type[3]: Property Flags = 0xe
info: Memory Type[5]: Property Flags = 0xc6
info: Memory Type[7]: Property Flags = 0xce
info: Memory Type[9]: Property Flags = 0x6
info: Memory Type[11]: Property Flags = 0xe
info: Memory Type[13]: Property Flags = 0xc6
info: Memory Type[15]: Property Flags = 0xce
info: Memory Heap[1]:
info: Size: 8176 MiB
info: Flags: 0x3
info: Memory Type[0]: Property Flags = 0x1
info: Memory Type[2]: Property Flags = 0x7
info: Memory Type[4]: Property Flags = 0xc1
info: Memory Type[6]: Property Flags = 0xc7
info: Memory Type[8]: Property Flags = 0x1
info: Memory Type[10]: Property Flags = 0x7
info: Memory Type[12]: Property Flags = 0xc1
info: Memory Type[14]: Property Flags = 0xc7
info: Process set as DPI aware
info: Device properties:
info: Device name: : AMD Radeon RX 6600
info: Driver version : 2.0.262
info: Enabled device extensions:
info: VK_AMD_memory_overallocation_behavior
info: VK_AMD_shader_fragment_mask
info: VK_EXT_attachment_feedback_loop_layout
info: VK_EXT_conservative_rasterization
info: VK_EXT_custom_border_color
info: VK_EXT_depth_clip_enable
info: VK_EXT_extended_dynamic_state3
info: VK_EXT_full_screen_exclusive
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_shader_stencil_export
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_pipeline_library
info: VK_KHR_swapchain
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: 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 : 1
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_extended_dynamic_state3
info: extDynamicState3AlphaToCoverageEnable : 1
info: extDynamicState3DepthClipEnable : 1
info: extDynamicState3RasterizationSamples : 1
info: extDynamicState3SampleMask : 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 : 0
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 : 1
info: VK_EXT_swapchain_colorspace
info: extension supported : 0
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_NVX_binary_import
info: extension supported : 0
info: VK_NVX_image_view_handle
info: extension supported : 0
info: Queue families:
info: Graphics : 0
info: Transfer : 2
info: Sparse : 0
info: DXVK: Read 5 valid state cache entries
info: DXVK: Graphics pipeline libraries not supported
info: D3D9DeviceEx::ResetSwapChain:
info: Requested Presentation Parameters
info: - Width: 640
info: - Height: 480
info: - Format: D3D9Format::X8R8G8B8
info: - Auto Depth Stencil: true
info: ^ Format: D3D9Format::D24S8
info: - Windowed: true
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
info: Buffer size: 640x480
info: Image count: 2
info: Exclusive FS: 0
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
info: Buffer size: 640x480
info: Image count: 2
info: Exclusive FS: 0
warn: D3D9DeviceEx::SetRenderState: Unhandled render state 26
info: DXVK: Using 12 compiler threads

@WinterSnowfall
Copy link

WinterSnowfall commented May 23, 2023

If reports on ProtonDB also mention stuttering, it's very likely the game engine is doing something poorly, because Proton doesn't currently use d8vk, but rather WineD3D.

Would appreciate it if you can record and share a trace which captures the stuttering you are describing, as the template requests. See: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace

Edit: Just noticed it's an Unreal Engine 2 title. UE2 is known to stutter (horribly so at times), but you can get around some of that with some ini tweaks (see here).

@CaptainCoward
Copy link
Author

Okay i traced it. Though the file is very small (only a few kilobytes). So i guess it's not really helpful. Though i still upload it in case it helps..I tried the UE2 ini tweaks but they don't seem to have any effect. Only setting really low resolutions (way below 1080p) seem to help.
ravenshield.zip

@WinterSnowfall
Copy link

Alright, thank you anyway. I'll see if I can get a demo and check out what's going on, but again, there probably won't be much we can do to help performance in this game.

@CaptainCoward
Copy link
Author

Ty really appreciate it. The game seems to be a mess, i tried all kind of wrappers. For example "dgvoodoo" suffers from the very same issues. While "d3d8to9" works fine when it comes to 3d-performance though it breaks the ability of setting waypoints in the planing room, which works fine with d8vk/dgvoodoo.

@WinterSnowfall
Copy link

WinterSnowfall commented May 24, 2023

I've grabbed the multiplayer demo and played a match against my secondary computer self for a bit, but didn't notice all that much stutter and even when I did it was not shader compilation related, just the game engine being itself really. Early versions of UE2 games are unfortunately like that - it's quite evident if you try to play Unreal 2, which stutters even with the ini tweaks I've shared above (albeit far less than without them).

I recommend sticking to lower resolutions (e.g. 1280x1024) when playing this game, because it was clearly not designed with 16:9 in mind, even if it does seem to work (in my case it picked the 24Hz mode by default instead of 60Hz, not sure why... ).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants