exagear吧 关注:120,649贴子:354,542
  • 15回复贴,共1

【搬运贴】老外给的终极优化方案

只看楼主收藏回复

性能提示



警告!
使用非原始数据包导致该指令的某些点无效,错误和滞后,我建议仅使用原始/基于原始数据包。


此外,在完成第8项后,我对设备的任何损坏概不负责,此项目的所有操作都将自行承担风险!



1.不是带有软件渲染的3D游戏/游戏
1.不需要opengl和directx(8+)在没有mesa3d和wined3d的单独环境中运行的游戏,或者在注册表中,将DirectDrawRendering切换到gdi(如第4段所述),如果您对常量切换不满意,请执行以下操作:


通过Start打开regedit ,打开HKEY_CURRENT_USER \ Software \ Wine,在此文件夹中创建“AppDefaults”文件夹“File_name.exe”文件夹,并将“Direct3D”文件夹添加到具有exe文件名称的文件夹中,并在此文件夹中添加类型为“String参数”的DirectDrawRenderer参数(字符串)“和参数”gdi“(参数在第4段中描述)。


之后,它应如下所示:HKEY_CURRENT_USER \ Software \ Wine \ AppDefaults \ Filename.exe \ Direct3D \ DirectDrawRenderer,类型为“String parameter”,参数“gdi”。


我个人这样做:默认情况下我安装opengl,对于在添加opengl支持后变得滞后的程序(不使用directx 8 + / opengl)我在appdefaults中安装gdi。


使用DirectX版本1-7或DirectDraw的程序不是需要OpenGL来实现DirectX的3D程序,这个项目是为它们创建的。对于直接使用OpenGL或DirectX 8+的程序,此步骤不是必需的。



2.颜色对性能的影响
2.仅以32位颜色运行exagear,但不使用该颜色的程序除外,32位颜色大大提高了性能。



3.游戏的软件渲染速度比OpenGL快,OpenGL比DirectX快
3.如果游戏支持opengl,请使用opengl而不是directx,这会增加fps。如果有软件渲染,那么设置它,它将比任何其他渲染方法快得多。通常这是在游戏设置,游戏注册表或游戏文件夹中的设置文件中设置的。



4.通过注册表进行Direct3D优化
4.对于direct3d / directdraw游戏,您可以在direct3d注册表中放置一些设置以提高性能:


通过开始 - >运行(开始 - >运行)打开注册表程序。


在HKEY_CURRENT_USER \ Software \ Wine中创建一个Direct3D文件夹。


在此文件夹中,创建必要的键:



DirectDrawRenderer
DirectDrawRenderer


类型:字符串


键:opengl,gdi(如果系统有opengl支持,默认情况下打开opengl,如果没有,则gdi)


说明:DirectDraw程序模式:opengl(有基于opengl32.dll的3d支持,但是有bug界面和更长的渲染)和gdi(没有3d支持,但界面运行完美,它用于没有opengl / directx / vulkan的游戏)。



OffscreenRenderingMode
OffscreenRenderingMode


类型:字符串


键:backbuffer,pbuffer,fbo(默认)


说明:屏幕外渲染模式:fbo(使用帧缓冲对象,工作速度较慢),backbuffer(工作速度更快,但不是到处都是),pbuffer(前缓冲区)。



CSMT
csmt


类型:DWORD


键:0x0,0x1(启用,默认)


说明:Direct3D多线程渲染。



PixelShaderMode
PixelShaderMode


类型:字符串


键:禁用,启用(启用,默认),数字


说明:像素着色器,禁用可以修复某些游戏中的崩溃。



RenderTargetLockMode
RenderTargetLockMode


类型:String


键:readtex,texdraw,readdraw,textex,disabled,auto(默认,readdraw)


描述:OpenGL加载方法:readtex(使用glReadPixels加载,但使用纹理发送),texdraw(使用纹理加载,使用glDrawPixels发送),readdraw(使用glReadPixels加载,使用glDrawPixels发送),textex(使用纹理加载和发送,修复Morrowind和Withcher中的工件),禁用(禁用),自动(自动模式选择)。



UseGLSL
UseGLSL


类型:字符串


键:禁用,启用(默认情况下启用)


说明:启用GLSL着色器(禁用可以提高某些游戏的性能,并修复一些错误)。



VertexBufferMode
VertexBufferMode


类型:字符串


键:硬件,数字


描述:我几乎没有在互联网上找到有关此参数的信息,但它表示硬件将提高生产力。



VertexShaderMode
VertexShaderMode


类型:字符串


键:硬件,数字


描述:我几乎没有在互联网上找到有关此参数的信息,但它表示硬件将提高生产力。



VideoMemorySize


示例参数(默认):


“DirectDrawRenderer”=“gdi”
“OffscreenRenderingMode”=“fbo”
“csmt”= 0x1
“PixelShaderMode”=“enabled”
“RenderTargetLockMode”=“readdraw”
“UseGLSL”=“enabled”
“VertexBufferMode” =“hardware”
“VertexShaderMode”=“hardware”
“VideoMemorySize”= 64




HKEY_LOCAL_MACHINE \ Software \ Microsoft创建DirectDraw


文件夹在此文件夹中创建必要的键:



ForceRefreshRate




示例参数:


“ForceRefreshRate”= 24





5.加速Direct3D 8/9游戏
5.使用Gallium Nine使用Mesa3D模拟Direct3D 9(由于重新编译中的错误和困难,此方法尚不可用),但我已经测试过它,它可以工作。


您也可以使用SwiftShader来模拟Direct3D 8/9,但这不稳定,并不适用于所有人。



6.加速Direct3D 9/10/11游戏
6.如果您安装另一堆而不是WineD3D:软件Vulkan + DXVK / D9VK,Direct3D的生产率将增加近2倍。由于编译和错误的复杂性,此方法尚不可用。



7.没有仿真的代码执行
7.在ExaGear客户机系统中使用带有android的本机ARM库。目前尚不清楚用于模拟X86的UBT库是否提供了本机库,但是一旦找到该方法,该项将是有用的。



8.核心的归一化和加速
8.打开Simple System Monitor程序,将其保留在后台,在exagear中运行一些加载程序(一次),用fps截取屏幕截图(如果需要验证),等待20秒返回简单的系统监视器并立即截取屏幕截图。


然后,根据收到的屏幕截图,了解设备是否尽可能正常工作。
如果测试中的fps小于15,并且你有一个8核设备,并且它从未在exagear中被加热,则存在问题,在功能较弱/功能较强的手机上,数字可能会有所不同。一旦发现问题,您可以尝试修复它:


我们需要ROOT权利!


1)在内核审核中将最小频率设置为最大值,设置性能模式


2)在使用exagear之前为设备充电超过20%,或者只是不从设备中取出电荷


3)如果设备具有性能设置,请激活最高


3)通过MyAndroidTools,关闭不必要的后台服务和加载设备的程序


4)如果简单系统监视器测试显示在加载期间,级别始终位于顶部,但不是在所有核心(例如4/8或6/8),或者在所有核心中,而是一半,然后安装自定义内核(或自定义)固件,如CyanogenMod,LineageOS,AOSP),寻找一个可以解决问题的解决方案(在解决设备后应该开始变热,但这是你的解决方案,如果它适合你并且有冷却方法,那么你将很乐意提高性能)。如果所有其他方法都失败了,您可以通过将EAS功耗模式附加到设备来创建自己的自定义内核,并删除禁用内核的所有限制。

一半的核心工作,这不是常态
减少66%



工作6/8核心和频率不是最大的,而不是常态



所有核心都可以工作,但每个核心的水平都是一半,并且频率不是最大的,这也不是常态



所有核心都在工作,频率最高,手机从负载加热,这就是你需要的




如果您仍然知道提高性能的方法,或者发现错误或不准确,请在QMS中告诉我。


回复
1楼2019-09-01 10:55
    沙发


    回复
    来自iPhone客户端2楼2019-09-01 11:04
      需要高手来看了


      收起回复
      来自Android客户端3楼2019-09-01 11:20
        要是可以玩帝国时代3就好了


        回复
        来自Android客户端5楼2019-09-01 12:25
          666


          回复
          来自Android客户端6楼2019-09-01 12:37
            听不懂


            收起回复
            来自Android客户端8楼2019-09-01 13:11
              老外发的毛子文,本人不会,只能机翻,至于翻译水平不在我控制中,见谅。


              回复
              9楼2019-09-01 13:59
                老外还是聪明的,我完全不懂


                回复
                来自Android客户端10楼2019-09-01 15:35
                  还是老外会玩


                  回复
                  来自Android客户端12楼2019-09-02 13:21
                    666


                    回复
                    来自Android客户端13楼2019-09-02 13:46