红色警戒2中的wine CPU使用率过高

红色警戒2中的wine CPU使用率过高

我找了很多地方,但找不到在哪里问这个问题。葡萄酒论坛上有大量未解答的类似问题。

我在Ubuntu22.04下用Wine玩RedAlert2。这是我的系统信息:

stulluk ~/wine-redalert2 (main)$  ls
 00000409.016            EB3.mmx          movies01.mix     ra2.ini             run.sh         SAVE1081.SAV   SAVE272C.SAV   SAVE4189.SAV   SAVE5730.SAV   SAVE7338.SAV   uninstll.exe
 00000409.256            EB4.mmx          movies02.mix     Ra2.lcf             SAVE00B9.SAV   SAVE1280.SAV   SAVE2ABB.SAV   SAVE41AB.SAV   SAVE5803.SAV   SAVE744C.SAV   UNINSTMD.WSU
 amazon.mmx              EB5.mmx          movmd03.mix      RA2MD.exe           SAVE01EB.SAV   SAVE17C3.SAV   SAVE2AE8.SAV   SAVE4485.SAV   SAVE582C.SAV   SAVE74B1.SAV   UninstRA.wsu
 aqrit.cfg               except.txt       mph.exe          RA2MD.ico           SAVE0384.SAV   SAVE195E.SAV   SAVE2E10.SAV   SAVE4531.SAV   SAVE5981.SAV   SAVE74DA.SAV   UNINST.WSU
 BINKW32.DLL             expandmd01.mix   mphmd.exe        RA2MD.INI           SAVE0427.SAV   SAVE19A1.SAV   SAVE2E78.SAV   SAVE455D.SAV   SAVE611C.SAV   SAVE7697.SAV   wdt.mix
 Blowfish.dll            game.exe         multimd.mix      ra2md.lcf           SAVE057E.SAV   SAVE1A6E.SAV   SAVE2EAC.SAV   SAVE4637.SAV   SAVE6208.SAV   SAVE7C35.SAV   winecfg-graphics-settings.png
 Blowfish.tlb            gamemd.exe       multi.mix        ra2md.mix           SAVE05EF.SAV   SAVE1A99.SAV   SAVE307F.SAV   SAVE473B.SAV   SAVE634B.SAV   SAVE7D00.SAV   Woldata.key
'cnc-ddraw config.exe'   HTML             notes.ico       'RA2MD Update.ico'   SAVE0748.SAV   SAVE1C9B.SAV   SAVE32F8.SAV   SAVE498E.SAV   SAVE63D3.SAV   SAVE7FED.SAV   wolinfo.ini
 Conquer.dat             invasion.mmx     patch.doc        ra2.mix             SAVE09A5.SAV   SAVE1D70.SAV   SAVE34E2.SAV   SAVE4A19.SAV   SAVE680D.SAV   Screenshots    wsock32.dll
 ConquerMD.dat           Keyboard.ini     patchget.dat     ra2.png             SAVE09BF.SAV   SAVE1E15.SAV   SAVE35D9.SAV   SAVE4DA0.SAV   SAVE684A.SAV   SCRN0000.pcx   wsock32.zip
 ddraw.dll               langmd.mix       patchgetmd.dat   Ra2.tlb             SAVE0A6A.SAV   SAVE1E71.SAV   SAVE3732.SAV   SAVE50D5.SAV   SAVE6884.SAV   SCRN0001.pcx   YR1.dsk
 ddraw.ini               language.mix     PATCHW32.DLL     RA2v1006crk.exe     SAVE0B0F.SAV   SAVE216B.SAV   SAVE373C.SAV   SAVE5166.SAV   SAVE6B0A.SAV   secdrv.sys     YURI.exe
 ddwrapper               launcher.bmp     RA2-0.png        Readme.doc          SAVE0D1C.SAV   SAVE2220.SAV   SAVE38B0.SAV   SAVE535F.SAV   SAVE6B35.SAV   Shaders        yuri.lcf
 ddwrapper.zip           launchermd.bmp   RA2-1.png        README.md           SAVE0F3E.SAV   SAVE23FF.SAV   SAVE398D.SAV   SAVE5362.SAV   SAVE6B3E.SAV   Taunts
 dpkg.txt                launcher.txt     RA2-2.png        Readme.txt          SAVE0F41.SAV   SAVE250F.SAV   SAVE3B9C.SAV   SAVE537A.SAV   SAVE6BB8.SAV   test
 drvmgt.dll              maps01.mix       RA2-3.png        Register.exe        SAVE0F46.SAV   SAVE2534.SAV   SAVE3D39.SAV   SAVE54D1.SAV   SAVE6F9A.SAV   thememd.mix
 EB1.mmx                 maps02.mix       Ra2.exe          Register.ini        SAVE0F56.SAV   SAVE2626.SAV   SAVE3E0F.SAV   SAVE5628.SAV   SAVE6FB3.SAV   theme.mix
 EB2.mmx                 mapsmd03.mix     RA2.ico          rmcache             SAVE0FDE.SAV   SAVE26C4.SAV   SAVE3EFA.SAV   SAVE56C5.SAV   SAVE6FEB.SAV   Uninst.exe

stulluk ~/wine-redalert2 (main)$  cat run.sh 
#!/usr/bin/env bash

RUNDIR=/home/stulluk/wine-redalert2

EXE=${RUNDIR}/Ra2.exe

wine ${EXE}

stulluk ~/wine-redalert2 (main)$  wine --version
wine-9.0-rc3

stulluk ~/wine-redalert2 (main)$  winetricks list-installed
------------------------------------------------------
warning: You are running winetricks-20230212-next, latest upstream is winetricks-20240105!
------------------------------------------------------
------------------------------------------------------
warning: You should update using your distribution's package manager, --self-update, or manually.
------------------------------------------------------
------------------------------------------------------
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20230212-next - sha256sum: 7606f7d307909687f0580778771f92d1b37745b64a063b43f5e7fd5e7e76f9c1 with wine-9.0-rc3 and WINEARCH=win64
d3dcompiler_47
dxvk1032
vkd3d
d3dcompiler_43
d3dx9
dxvk
cnc_ddraw
w_workaround_wine_bug-50894
vcrun2015

stulluk ~/wine-redalert2 (main)$  glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: AMD (0x1002)
    Device: RENOIR (renoir, LLVM 15.0.7, DRM 3.49, 6.2.0-33-generic) (0x1638)
    Version: 23.0.4
    Accelerated: yes
    Video memory: 512MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 41 MB, largest block: 41 MB
    VBO free aux. memory - total: 31687 MB, largest block: 31687 MB
    Texture free memory - total: 41 MB, largest block: 41 MB
    Texture free aux. memory - total: 31687 MB, largest block: 31687 MB
    Renderbuffer free memory - total: 41 MB, largest block: 41 MB
    Renderbuffer free aux. memory - total: 31687 MB, largest block: 31687 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 512 MB
    Total available memory: 32340 MB
    Currently available dedicated video memory: 41 MB
OpenGL vendor string: AMD
OpenGL renderer string: RENOIR (renoir, LLVM 15.0.7, DRM 3.49, 6.2.0-33-generic)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.0.4-0ubuntu1~22.04.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.0.4-0ubuntu1~22.04.1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.0.4-0ubuntu1~22.04.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

在游戏播放过程中,我发现它使用了 100% 的单个 CPU。我在X11和Wayland上都测试过,情况是一样的。

我在两台不同的计算机(台式机和笔记本电脑)上进行了测试,两者都有相同的问题。

有没有人遇到过这个问题并且有解决方案吗?

至少,有什么方法可以调试/分析它吗?

相关内容