Supermodel icon indicating copy to clipboard operation
Supermodel copied to clipboard

Lag in Emergency Call Ambulance

Open jaoxford opened this issue 2 years ago • 26 comments

We're having an issue in Emergency Call Ambulance. About halfway in the 3rd level (nighttime fire), there are massive frame drops.

Any idea what's causing it / how to fix?

Thanks!

jaoxford avatar Dec 30 '23 15:12 jaoxford

what's your emulated CPU clock speed? The default 50 is too low for the game

dukeeeey avatar Dec 30 '23 15:12 dukeeeey

How can I find that out?

jaoxford avatar Dec 30 '23 15:12 jaoxford

Is it this: PowerPCFrequency

And what should I set this to using the command line options?

e.g. -ppc-frequency=50?

jaoxford avatar Dec 30 '23 15:12 jaoxford

The actual game uses 166 but probably anything over 80 is fine.Sent from my iPhoneOn Dec 30, 2023, at 7:45 AM, Jacob Oxford @.***> wrote: Is it this: PowerPCFrequency And what should I set this to using the command line options? e.g. -ppc-frequency=50?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

trzy avatar Dec 30 '23 19:12 trzy

I've tried to do this via the supermodel.ini file. Nothing works there for game specific settings:

My ini file:

;;
;; Supermodel Configuration File
;; Default settings.
;;


;
; Quick Overview
; --------------
;
; All settings are case sensitive.  Numbers must be integers.  Check your
; spelling carefully because invalid settings are silently ignored.  To verify
; that your settings are being parsed correctly, check the contents of
; Supermodel.log.
;
; Global options apply to all games.  To create configuration profiles for
; individual games, place settings under sections with the same name as the
; corresponding MAME ROM set, like so:
;
;       ; Scud Race
;       [ scud ]
;
;       SoundVolume = 50
;       MusicVolume = 200
;       ; ... etc. ...
;
; For a list of all valid settings, please consult README.txt.  Only default
; inputs are assigned here.
;


[ Global ]

; Graphics
New3DEngine = true
QuadRendering = true
WideScreen = true
Stretch = false
XResolution = 3840
YResolution = 2160
WideBackground = true
ShowFrameRate = true

; Refresh rate (milliHertz accuracy). Actual Model 3 refresh rate is 57.524 Hz
; but this can cause judder so we use 60 Hz by default.
RefreshRate = 60.000

; Legacy SCSP DSP implementation for games that do not play well with the newer
; one (e.g., Fighting Vipers 2)
LegacySoundDSP = false

; Network board
Network = false
SimulateNet = true
PortIn = 1970
PortOut = 1971
AddressOut = "127.0.0.1"

; Common
InputStart1 = "KEY_1,JOY1_BUTTON19"
InputStart2 = "KEY_2,JOY2_BUTTON9"
InputCoin1 = "KEY_3,JOY1_BUTTON17"
InputCoin2 = "KEY_4,JOY2_BUTTON10"
InputServiceA = "KEY_F1"
InputServiceB = "KEY_F2"
InputTestA = "KEY_F3"
InputTestB = "KEY_F4"

; 4-way digital joysticks
InputJoyUp = "KEY_UP,JOY1_UP"
InputJoyDown = "KEY_DOWN,JOY1_DOWN"
InputJoyLeft = "KEY_LEFT,JOY1_LEFT"
InputJoyRight = "KEY_RIGHT,JOY1_RIGHT"
InputJoyUp2 = "JOY2_UP"
InputJoyDown2 = "JOY2_DOWN"
InputJoyLeft2 = "JOY2_LEFT"
InputJoyRight2 = "JOY2_RIGHT"

; Fighting game buttons
InputPunch = "KEY_A,JOY1_BUTTON1"
InputKick = "KEY_S,JOY1_BUTTON2"
InputGuard = "KEY_D,JOY1_BUTTON3"
InputEscape = "KEY_F,JOY1_BUTTON4"
InputPunch2 = "JOY2_BUTTON1"
InputKick2 = "JOY2_BUTTON2"
InputGuard2 = "JOY2_BUTTON3"
InputEscape2 = "JOY2_BUTTON4"

; Spikeout buttons
InputShift = "KEY_A,JOY1_BUTTON1"
InputBeat = "KEY_S,JOY1_BUTTON2"
InputCharge = "KEY_D,JOY1_BUTTON3"
InputJump = "KEY_F,JOY1_BUTTON4"

; Virtua Striker buttons
InputShortPass = "KEY_A,JOY1_BUTTON1"
InputLongPass = "KEY_S,JOY1_BUTTON2"
InputShoot = "KEY_D,JOY1_BUTTON3"
InputShortPass2 = "JOY2_BUTTON1"
InputLongPass2 = "JOY2_BUTTON2"
InputShoot2 = "JOY2_BUTTON3"

; Steering wheel
InputSteeringLeft = "KEY_LEFT"      ; digital, turn wheel left
InputSteeringRight = "KEY_RIGHT"    ; digital, turn wheel right
InputSteering = "JOY1_XAXIS"        ; analog, full steering range

; Pedals
InputAccelerator = "KEY_UP,JOY1_UP"
InputBrake = "KEY_DOWN,JOY1_DOWN"

; Up/down shifter manual transmission (all racers)
InputGearShiftUp = "JOY1_BUTTON11"           ; sequential shift up
InputGearShiftDown = "JOY1_BUTTON12"         ; sequential shift down

; 4-Speed manual transmission (Daytona 2, Sega Rally 2, Scud Race)
InputGearShift1 = "KEY_Q,JOY1_BUTTON9"
InputGearShift2 = "KEY_W,JOY1_BUTTON10"
InputGearShift3 = "KEY_E,JOY1_BUTTON11"
InputGearShift4 = "KEY_R,JOY1_BUTTON12"
InputGearShiftN = "KEY_T"

; VR4 view change buttons (Daytona 2, Le Mans 24, Scud Race)
InputVR1 = "KEY_A,JOY1_BUTTON1"
InputVR2 = "KEY_S,JOY1_BUTTON2"
InputVR3 = "KEY_D,JOY1_BUTTON3"
InputVR4 = "KEY_F,JOY1_BUTTON4"

; Single view change button (Dirt Devils, ECA, Harley-Davidson, Sega Rally 2)
InputViewChange = "KEY_A,JOY1_BUTTON1"

; Handbrake (Sega Rally 2)
InputHandBrake = "KEY_S,JOY1_BUTTON2"

; Harley-Davidson controls
InputRearBrake = "KEY_S,JOY1_BUTTON2"
InputMusicSelect = "KEY_D,JOY1_BUTTON3"

; Virtual On macros
InputTwinJoyTurnLeft = "KEY_Q,JOY1_RXAXIS_NEG"
InputTwinJoyTurnRight = "KEY_W,JOY1_RXAXIS_POS"
InputTwinJoyForward = "KEY_UP,JOY1_YAXIS_NEG"
InputTwinJoyReverse = "KEY_DOWN,JOY1_YAXIS_POS"
InputTwinJoyStrafeLeft = "KEY_LEFT,JOY1_XAXIS_NEG"
InputTwinJoyStrafeRight = "KEY_RIGHT,JOY1_XAXIS_POS"
InputTwinJoyJump = "KEY_E,JOY1_BUTTON1"
InputTwinJoyCrouch = "KEY_R,JOY1_BUTTON2"

; Virtual On individual joystick mapping
InputTwinJoyLeft1 = "NONE"
InputTwinJoyLeft2 = "NONE"
InputTwinJoyRight1 = "NONE"
InputTwinJoyRight2 = "NONE"
InputTwinJoyUp1 = "NONE"
InputTwinJoyUp2 = "NONE"
InputTwinJoyDown1 = "NONE"
InputTwinJoyDown2 = "NONE"

; Virtual On buttons
InputTwinJoyShot1 = "KEY_A,JOY1_BUTTON5"
InputTwinJoyShot2 = "KEY_S,JOY1_BUTTON6"
InputTwinJoyTurbo1 = "KEY_Z,JOY1_BUTTON7"
InputTwinJoyTurbo2 = "KEY_X,JOY1_BUTTON8"

; Analog joystick (Star Wars Trilogy)
InputAnalogJoyLeft = "KEY_LEFT"             ; digital, move left
InputAnalogJoyRight = "KEY_RIGHT"           ; digital, move right
InputAnalogJoyUp = "KEY_UP"                 ; digital, move up
InputAnalogJoyDown = "KEY_DOWN"             ; digital, move down
InputAnalogJoyX = "JOY_XAXIS,MOUSE_XAXIS"   ; analog, full X axis
InputAnalogJoyY = "JOY_YAXIS,MOUSE_YAXIS"   ; analog, full Y axis
InputAnalogJoyTrigger = "KEY_A,JOY_BUTTON1,MOUSE_LEFT_BUTTON"
InputAnalogJoyEvent = "KEY_S,JOY_BUTTON2,MOUSE_RIGHT_BUTTON"
InputAnalogJoyTrigger2 = "KEY_D,JOY_BUTTON2"
InputAnalogJoyEvent2 = "NONE"

; Light guns (Lost World)
InputGunLeft = "KEY_LEFT"               ; digital, move gun left
InputGunRight = "KEY_RIGHT"             ; digital, move gun right
InputGunUp = "KEY_UP"                   ; digital, move gun up
InputGunDown = "KEY_DOWN"               ; digital, move gun down
InputGunX = "MOUSE_XAXIS,JOY1_XAXIS"    ; analog, full X axis
InputGunY = "MOUSE_YAXIS,JOY1_YAXIS"    ; analog, full Y axis
InputTrigger = "KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON"
InputOffscreen = "KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON"    ; point off-screen
InputAutoTrigger = 0                    ; automatic reload when off-screen
InputGunLeft2 = "NONE"
InputGunRight2 = "NONE"
InputGunUp2 = "NONE"
InputGunDown2 = "NONE"
InputGunX2 = "JOY2_XAXIS"
InputGunY2 = "JOY2_YAXIS"
InputTrigger2 = "JOY2_BUTTON1"
InputOffscreen2 = "JOY2_BUTTON2"
InputAutoTrigger2 = 0

; Analog guns (Ocean Hunter, LA Machineguns)
InputAnalogGunLeft = "KEY_LEFT"               ; digital, move gun left
InputAnalogGunRight = "KEY_RIGHT"             ; digital, move gun right
InputAnalogGunUp = "KEY_UP"                   ; digital, move gun up
InputAnalogGunDown = "KEY_DOWN"               ; digital, move gun down
InputAnalogGunX = "MOUSE_XAXIS,JOY1_XAXIS"    ; analog, full X axis
InputAnalogGunY = "MOUSE_YAXIS,JOY1_YAXIS"    ; analog, full Y axis
InputAnalogTriggerLeft = "KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON"
InputAnalogTriggerRight = "KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON"
InputAnalogGunLeft2 = "NONE"
InputAnalogGunRight2 = "NONE"
InputAnalogGunUp2 = "NONE"
InputAnalogGunDown2 = "NONE"
InputAnalogGunX2 = "NONE"
InputAnalogGunY2 = "NONE"
InputAnalogTriggerLeft2 = "NONE"
InputAnalogTriggerRight2 = "NONE"

; Ski Champ controls
InputSkiLeft = "KEY_LEFT"
InputSkiRight = "KEY_RIGHT"
InputSkiUp = "KEY_UP"
InputSkiDown = "KEY_DOWN"
InputSkiX = "JOY1_XAXIS"
InputSkiY = "JOY1_YAXIS"
InputSkiPollLeft = "KEY_A,JOY1_BUTTON1"
InputSkiPollRight = "KEY_S,JOY1_BUTTON2"
InputSkiSelect1 = "KEY_Q,JOY1_BUTTON3"
InputSkiSelect2 = "KEY_W,JOY1_BUTTON4"
InputSkiSelect3 = "KEY_E,JOY1_BUTTON5"

; Magical Truck Adventure controls
InputMagicalLeverUp1 = "KEY_UP"
InputMagicalLeverDown1 = "KEY_DOWN"
InputMagicalLeverUp2 = "NONE"
InputMagicalLeverDown2 = "NONE"
InputMagicalLever1 = "JOY1_YAXIS"
InputMagicalLever2 = "JOY2_YAXIS"
InputMagicalPedal1 = "KEY_A,JOY1_BUTTON1"
InputMagicalPedal2 = "KEY_S,JOY2_BUTTON1"

; Sega Bass Fishing / Get Bass controls
InputFishingRodLeft = "KEY_LEFT"
InputFishingRodRight = "KEY_RIGHT"
InputFishingRodUp = "KEY_UP"
InputFishingRodDown = "KEY_DOWN"
InputFishingStickLeft = "KEY_A"
InputFishingStickRight = "KEY_D"
InputFishingStickUp = "KEY_W"
InputFishingStickDown = "KEY_S"
InputFishingRodX = "JOY1_XAXIS"
InputFishingRodY = "JOY1_YAXIS"
InputFishingStickX = "JOY1_RXAXIS"
InputFishingStickY = "JOY1_RYAXIS"
InputFishingReel = "KEY_SPACE,JOY1_ZAXIS_POS"
InputFishingCast = "KEY_Z,JOY1_BUTTON1"
InputFishingSelect = "KEY_X,JOY1_BUTTON2"
InputFishingTension = "KEY_T,JOY1_ZAXIS_NEG"


[ eca ]

PowerPCFrequency = 160

[ daytona2 ]

PowerPCFrequency = 25

[ scud ]

InputJoy1XSaturation = 200
SoundVolume = 50
MusicVolume = 200

jaoxford avatar Dec 30 '23 20:12 jaoxford

And for good measure here's my supermodel.log file:

[Info]  Supermodel Version 0.3a-git-75260f9
[Info]  Started as:
[Info]    argv[0] = C:\Users\jacob\Games\Sega Arcade\Model3\Supermodel_0.3a-git-75260f9_Win64\Supermodel.exe
[Info]    argv[1] = -outputs=win
[Info]    argv[2] = C:\Users\jacob\Games\Sega Arcade\Model3\ROMs\eca.zip
[Info]  Opened C:\Users\jacob\Games\Sega Arcade\Model3\ROMs\eca.zip.
[Info]  ecau:
[Info]    banked_crom: stride=8, chunk size=2, byte layout=10325476
[Info]      mpr-22873.4, crc32=0xdd406330, offset=0x00000000
[Info]      mpr-22872.3, crc32=0x4fde63a1, offset=0x00000002
[Info]      mpr-22871.2, crc32=0xcf5bb5b5, offset=0x00000004
[Info]      mpr-22870.1, crc32=0x52054043, offset=0x00000006
[Info]      mpr-22877.8, crc32=0xe53b8764, offset=0x01000000
[Info]      mpr-22876.7, crc32=0xa7561249, offset=0x01000002
[Info]      mpr-22875.6, crc32=0x1bb5c018, offset=0x01000004
[Info]      mpr-22874.5, crc32=0x5e990497, offset=0x01000006
[Info]      epr-22885.16, crc32=0x3525b46d, offset=0x03000000
[Info]      epr-22884.15, crc32=0x254c3b63, offset=0x03000002
[Info]      epr-22883.14, crc32=0x86d90148, offset=0x03000004
[Info]      epr-22882.13, crc32=0xb161416f, offset=0x03000006
[Info]    crom: stride=8, chunk size=2, byte layout=10325476
[Info]      epr-22898.20, crc32=0xefb96701, offset=0x00000000
[Info]      epr-22905.19, crc32=0x9755dd8c, offset=0x00000002
[Info]      epr-22904.18, crc32=0x0ff828a8, offset=0x00000004
[Info]      epr-22895.17, crc32=0x07df16a0, offset=0x00000006
[Info]    driveboard_program: stride=1, chunk size=1, byte layout=
[Info]      epr-19338a.bin, crc32=0xc9fac464, offset=0x00000000
[Info]    sound_program: stride=2, chunk size=2, byte layout=10
[Info]      epr-22886.21, crc32=0x374ec1c6, offset=0x00000000
[Info]    sound_samples: stride=2, chunk size=2, byte layout=10
[Info]      mpr-22887.22, crc32=0x7d04a867, offset=0x00000000
[Info]      mpr-22889.24, crc32=0x4f9ba45d, offset=0x00400000
[Info]      mpr-22888.23, crc32=0x018fcf22, offset=0x00800000
[Info]      mpr-22890.25, crc32=0xb638bd7c, offset=0x00c00000
[Info]    vrom: stride=32, chunk size=2, byte layout=
[Info]      mpr-22854.26, crc32=0x97a23d16, offset=0x00000000
[Info]      mpr-22855.27, crc32=0x7249cdc9, offset=0x00000002
[Info]      mpr-22856.28, crc32=0x9c0d1d1b, offset=0x00000004
[Info]      mpr-22857.29, crc32=0x44e6ce2b, offset=0x00000006
[Info]      mpr-22858.30, crc32=0x0af40aae, offset=0x00000008
[Info]      mpr-22859.31, crc32=0xc64f0158, offset=0x0000000a
[Info]      mpr-22860.32, crc32=0x053af14b, offset=0x0000000c
[Info]      mpr-22861.33, crc32=0xd26343da, offset=0x0000000e
[Info]      mpr-22862.34, crc32=0x38347c14, offset=0x00000010
[Info]      mpr-22863.35, crc32=0x28b558e6, offset=0x00000012
[Info]      mpr-22864.36, crc32=0x31ed02f6, offset=0x00000014
[Info]      mpr-22865.37, crc32=0x3e3a211a, offset=0x00000016
[Info]      mpr-22866.38, crc32=0xa863a3c8, offset=0x00000018
[Info]      mpr-22867.39, crc32=0x1ce6c7b2, offset=0x0000001a
[Info]      mpr-22868.40, crc32=0x2db40cf8, offset=0x0000001c
[Info]      mpr-22869.41, crc32=0xc6d62634, offset=0x0000001e
[Info]  Runtime configuration:
[Info]    GameXMLFile=Config/Games.xml
[Info]    InitStateFile=
[Info]    MultiThreaded=1
[Info]    GPUMultiThreaded=1
[Info]    PowerPCFrequency=50
[Info]    MultiTexture=0
[Info]    VertexShader=
[Info]    FragmentShader=
[Info]    VertexShaderFog=
[Info]    FragmentShaderFog=
[Info]    VertexShader2D=
[Info]    FragmentShader2D=
[Info]    EmulateSound=1
[Info]    Balance=0.0
[Info]    BalanceLeftRight=0.0
[Info]    BalanceFrontRear=0.0
[Info]    NbSoundChannels=4
[Info]    SoundFreq=57.6
[Info]    EmulateDSB=1
[Info]    SoundVolume=100
[Info]    MusicVolume=100
[Info]    LegacySoundDSP=false
[Info]    ForceFeedback=0
[Info]    New3DEngine=true
[Info]    QuadRendering=true
[Info]    XResolution=3840
[Info]    YResolution=2160
[Info]    WindowXPosition=<empty>
[Info]    WindowYPosition=<empty>
[Info]    FullScreen=0
[Info]    BorderlessWindow=0
[Info]    Supersampling=1
[Info]    WideScreen=true
[Info]    Stretch=false
[Info]    WideBackground=true
[Info]    VSync=1
[Info]    Throttle=1
[Info]    RefreshRate=60.000
[Info]    ShowFrameRate=true
[Info]    Crosshairs=0
[Info]    CrosshairStyle=vector
[Info]    FlipStereo=0
[Info]    InputSystem=dinput
[Info]    DirectInputConstForceLeftMax=100
[Info]    DirectInputConstForceRightMax=100
[Info]    DirectInputSelfCenterMax=100
[Info]    DirectInputFrictionMax=100
[Info]    DirectInputVibrateMax=100
[Info]    XInputConstForceThreshold=30
[Info]    XInputConstForceMax=100
[Info]    XInputVibrateMax=100
[Info]    XInputStereoVibration=1
[Info]    SDLConstForceMax=100
[Info]    SDLSelfCenterMax=100
[Info]    SDLFrictionMax=100
[Info]    SDLVibrateMax=100
[Info]    SDLConstForceThreshold=30
[Info]    Network=false
[Info]    SimulateNet=true
[Info]    PortIn=1970
[Info]    PortOut=1971
[Info]    AddressOut=127.0.0.1
[Info]    Outputs=win
[Info]    DumpTextures=0
[Info]    InputStart1=KEY_1,JOY1_BUTTON19
[Info]    InputStart2=KEY_2,JOY2_BUTTON9
[Info]    InputCoin1=KEY_3,JOY1_BUTTON17
[Info]    InputCoin2=KEY_4,JOY2_BUTTON10
[Info]    InputServiceA=KEY_F1
[Info]    InputServiceB=KEY_F2
[Info]    InputTestA=KEY_F3
[Info]    InputTestB=KEY_F4
[Info]    InputJoyUp=KEY_UP,JOY1_UP
[Info]    InputJoyDown=KEY_DOWN,JOY1_DOWN
[Info]    InputJoyLeft=KEY_LEFT,JOY1_LEFT
[Info]    InputJoyRight=KEY_RIGHT,JOY1_RIGHT
[Info]    InputJoyUp2=JOY2_UP
[Info]    InputJoyDown2=JOY2_DOWN
[Info]    InputJoyLeft2=JOY2_LEFT
[Info]    InputJoyRight2=JOY2_RIGHT
[Info]    InputPunch=KEY_A,JOY1_BUTTON1
[Info]    InputKick=KEY_S,JOY1_BUTTON2
[Info]    InputGuard=KEY_D,JOY1_BUTTON3
[Info]    InputEscape=KEY_F,JOY1_BUTTON4
[Info]    InputPunch2=JOY2_BUTTON1
[Info]    InputKick2=JOY2_BUTTON2
[Info]    InputGuard2=JOY2_BUTTON3
[Info]    InputEscape2=JOY2_BUTTON4
[Info]    InputShift=KEY_A,JOY1_BUTTON1
[Info]    InputBeat=KEY_S,JOY1_BUTTON2
[Info]    InputCharge=KEY_D,JOY1_BUTTON3
[Info]    InputJump=KEY_F,JOY1_BUTTON4
[Info]    InputShortPass=KEY_A,JOY1_BUTTON1
[Info]    InputLongPass=KEY_S,JOY1_BUTTON2
[Info]    InputShoot=KEY_D,JOY1_BUTTON3
[Info]    InputShortPass2=JOY2_BUTTON1
[Info]    InputLongPass2=JOY2_BUTTON2
[Info]    InputShoot2=JOY2_BUTTON3
[Info]    InputSteeringLeft=KEY_LEFT
[Info]    InputSteeringRight=KEY_RIGHT
[Info]    InputSteering=JOY1_XAXIS
[Info]    InputAccelerator=KEY_UP,JOY1_UP
[Info]    InputBrake=KEY_DOWN,JOY1_DOWN
[Info]    InputGearShiftUp=JOY1_BUTTON11
[Info]    InputGearShiftDown=JOY1_BUTTON12
[Info]    InputGearShift1=KEY_Q,JOY1_BUTTON9
[Info]    InputGearShift2=KEY_W,JOY1_BUTTON10
[Info]    InputGearShift3=KEY_E,JOY1_BUTTON11
[Info]    InputGearShift4=KEY_R,JOY1_BUTTON12
[Info]    InputGearShiftN=KEY_T
[Info]    InputVR1=KEY_A,JOY1_BUTTON1
[Info]    InputVR2=KEY_S,JOY1_BUTTON2
[Info]    InputVR3=KEY_D,JOY1_BUTTON3
[Info]    InputVR4=KEY_F,JOY1_BUTTON4
[Info]    InputViewChange=KEY_A,JOY1_BUTTON1
[Info]    InputHandBrake=KEY_S,JOY1_BUTTON2
[Info]    InputRearBrake=KEY_S,JOY1_BUTTON2
[Info]    InputMusicSelect=KEY_D,JOY1_BUTTON3
[Info]    InputTwinJoyTurnLeft=KEY_Q,JOY1_RXAXIS_NEG
[Info]    InputTwinJoyTurnRight=KEY_W,JOY1_RXAXIS_POS
[Info]    InputTwinJoyForward=KEY_UP,JOY1_YAXIS_NEG
[Info]    InputTwinJoyReverse=KEY_DOWN,JOY1_YAXIS_POS
[Info]    InputTwinJoyStrafeLeft=KEY_LEFT,JOY1_XAXIS_NEG
[Info]    InputTwinJoyStrafeRight=KEY_RIGHT,JOY1_XAXIS_POS
[Info]    InputTwinJoyJump=KEY_E,JOY1_BUTTON1
[Info]    InputTwinJoyCrouch=KEY_R,JOY1_BUTTON2
[Info]    InputTwinJoyLeft1=NONE
[Info]    InputTwinJoyLeft2=NONE
[Info]    InputTwinJoyRight1=NONE
[Info]    InputTwinJoyRight2=NONE
[Info]    InputTwinJoyUp1=NONE
[Info]    InputTwinJoyUp2=NONE
[Info]    InputTwinJoyDown1=NONE
[Info]    InputTwinJoyDown2=NONE
[Info]    InputTwinJoyShot1=KEY_A,JOY1_BUTTON5
[Info]    InputTwinJoyShot2=KEY_S,JOY1_BUTTON6
[Info]    InputTwinJoyTurbo1=KEY_Z,JOY1_BUTTON7
[Info]    InputTwinJoyTurbo2=KEY_X,JOY1_BUTTON8
[Info]    InputAnalogJoyLeft=KEY_LEFT
[Info]    InputAnalogJoyRight=KEY_RIGHT
[Info]    InputAnalogJoyUp=KEY_UP
[Info]    InputAnalogJoyDown=KEY_DOWN
[Info]    InputAnalogJoyX=JOY_XAXIS,MOUSE_XAXIS
[Info]    InputAnalogJoyY=JOY_YAXIS,MOUSE_YAXIS
[Info]    InputAnalogJoyTrigger=KEY_A,JOY_BUTTON1,MOUSE_LEFT_BUTTON
[Info]    InputAnalogJoyEvent=KEY_S,JOY_BUTTON2,MOUSE_RIGHT_BUTTON
[Info]    InputAnalogJoyTrigger2=KEY_D,JOY_BUTTON2
[Info]    InputAnalogJoyEvent2=NONE
[Info]    InputGunLeft=KEY_LEFT
[Info]    InputGunRight=KEY_RIGHT
[Info]    InputGunUp=KEY_UP
[Info]    InputGunDown=KEY_DOWN
[Info]    InputGunX=MOUSE_XAXIS,JOY1_XAXIS
[Info]    InputGunY=MOUSE_YAXIS,JOY1_YAXIS
[Info]    InputTrigger=KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON
[Info]    InputOffscreen=KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON
[Info]    InputAutoTrigger=0
[Info]    InputGunLeft2=NONE
[Info]    InputGunRight2=NONE
[Info]    InputGunUp2=NONE
[Info]    InputGunDown2=NONE
[Info]    InputGunX2=JOY2_XAXIS
[Info]    InputGunY2=JOY2_YAXIS
[Info]    InputTrigger2=JOY2_BUTTON1
[Info]    InputOffscreen2=JOY2_BUTTON2
[Info]    InputAutoTrigger2=0
[Info]    InputAnalogGunLeft=KEY_LEFT
[Info]    InputAnalogGunRight=KEY_RIGHT
[Info]    InputAnalogGunUp=KEY_UP
[Info]    InputAnalogGunDown=KEY_DOWN
[Info]    InputAnalogGunX=MOUSE_XAXIS,JOY1_XAXIS
[Info]    InputAnalogGunY=MOUSE_YAXIS,JOY1_YAXIS
[Info]    InputAnalogTriggerLeft=KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON
[Info]    InputAnalogTriggerRight=KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON
[Info]    InputAnalogGunLeft2=NONE
[Info]    InputAnalogGunRight2=NONE
[Info]    InputAnalogGunUp2=NONE
[Info]    InputAnalogGunDown2=NONE
[Info]    InputAnalogGunX2=NONE
[Info]    InputAnalogGunY2=NONE
[Info]    InputAnalogTriggerLeft2=NONE
[Info]    InputAnalogTriggerRight2=NONE
[Info]    InputSkiLeft=KEY_LEFT
[Info]    InputSkiRight=KEY_RIGHT
[Info]    InputSkiUp=KEY_UP
[Info]    InputSkiDown=KEY_DOWN
[Info]    InputSkiX=JOY1_XAXIS
[Info]    InputSkiY=JOY1_YAXIS
[Info]    InputSkiPollLeft=KEY_A,JOY1_BUTTON1
[Info]    InputSkiPollRight=KEY_S,JOY1_BUTTON2
[Info]    InputSkiSelect1=KEY_Q,JOY1_BUTTON3
[Info]    InputSkiSelect2=KEY_W,JOY1_BUTTON4
[Info]    InputSkiSelect3=KEY_E,JOY1_BUTTON5
[Info]    InputMagicalLeverUp1=KEY_UP
[Info]    InputMagicalLeverDown1=KEY_DOWN
[Info]    InputMagicalLeverUp2=NONE
[Info]    InputMagicalLeverDown2=NONE
[Info]    InputMagicalLever1=JOY1_YAXIS
[Info]    InputMagicalLever2=JOY2_YAXIS
[Info]    InputMagicalPedal1=KEY_A,JOY1_BUTTON1
[Info]    InputMagicalPedal2=KEY_S,JOY2_BUTTON1
[Info]    InputFishingRodLeft=KEY_LEFT
[Info]    InputFishingRodRight=KEY_RIGHT
[Info]    InputFishingRodUp=KEY_UP
[Info]    InputFishingRodDown=KEY_DOWN
[Info]    InputFishingStickLeft=KEY_A
[Info]    InputFishingStickRight=KEY_D
[Info]    InputFishingStickUp=KEY_W
[Info]    InputFishingStickDown=KEY_S
[Info]    InputFishingRodX=JOY1_XAXIS
[Info]    InputFishingRodY=JOY1_YAXIS
[Info]    InputFishingStickX=JOY1_RXAXIS
[Info]    InputFishingStickY=JOY1_RYAXIS
[Info]    InputFishingReel=KEY_SPACE,JOY1_ZAXIS_POS
[Info]    InputFishingCast=KEY_Z,JOY1_BUTTON1
[Info]    InputFishingSelect=KEY_X,JOY1_BUTTON2
[Info]    InputFishingTension=KEY_T,JOY1_ZAXIS_NEG
[Info]    LogOutput=Supermodel.log
[Info]    LogLevel=info
[Info]  
[Info]  OpenGL information:
[Info]    Vendor                   : NVIDIA Corporation
[Info]    Renderer                 : NVIDIA GeForce RTX 2060/PCIe/SSE2
[Info]    Version                  : 4.5.0 NVIDIA 537.42
[Info]    Shading Language Version : 4.50 NVIDIA
[Info]    Maximum Vertex Array Size: 1048576 vertices
[Info]    Maximum Texture Size     : 32768 texels
[Info]    Maximum Vertex Attributes: 16
[Info]    Maximum Vertex Uniforms  : 4096
[Info]    Maximum Texture Img Units: 32
[Info]  
[Info]  Program terminated normally.

jaoxford avatar Dec 30 '23 20:12 jaoxford

This is correct. Maybe you’re editing the wrong Supermodel.ini and Supermodel is picking up a different one? Also, be careful with your game name. Check Supermodel.log and verify that the ROM set you have loaded is ‘eca’ and not some variant.

On Dec 30, 2023, at 12:28 PM, Jacob Oxford @.***> wrote:

I've tried to do this via the supermodel.ini file. Nothing works there for game specific settings:

My ini file:

;; ;; Supermodel Configuration File ;; Default settings. ;;

; ; Quick Overview ; -------------- ; ; All settings are case sensitive. Numbers must be integers. Check your ; spelling carefully because invalid settings are silently ignored. To verify ; that your settings are being parsed correctly, check the contents of ; Supermodel.log. ; ; Global options apply to all games. To create configuration profiles for ; individual games, place settings under sections with the same name as the ; corresponding MAME ROM set, like so: ; ; ; Scud Race ; [ scud ] ; ; SoundVolume = 50 ; MusicVolume = 200 ; ; ... etc. ... ; ; For a list of all valid settings, please consult README.txt. Only default ; inputs are assigned here. ;

[ Global ]

; Graphics New3DEngine = true QuadRendering = true WideScreen = true Stretch = false XResolution = 3840 YResolution = 2160 WideBackground = true ShowFrameRate = true

; Refresh rate (milliHertz accuracy). Actual Model 3 refresh rate is 57.524 Hz ; but this can cause judder so we use 60 Hz by default. RefreshRate = 60.000

; Legacy SCSP DSP implementation for games that do not play well with the newer ; one (e.g., Fighting Vipers 2) LegacySoundDSP = false

; Network board Network = false SimulateNet = true PortIn = 1970 PortOut = 1971 AddressOut = "127.0.0.1"

; Common InputStart1 = "KEY_1,JOY1_BUTTON19" InputStart2 = "KEY_2,JOY2_BUTTON9" InputCoin1 = "KEY_3,JOY1_BUTTON17" InputCoin2 = "KEY_4,JOY2_BUTTON10" InputServiceA = "KEY_F1" InputServiceB = "KEY_F2" InputTestA = "KEY_F3" InputTestB = "KEY_F4"

; 4-way digital joysticks InputJoyUp = "KEY_UP,JOY1_UP" InputJoyDown = "KEY_DOWN,JOY1_DOWN" InputJoyLeft = "KEY_LEFT,JOY1_LEFT" InputJoyRight = "KEY_RIGHT,JOY1_RIGHT" InputJoyUp2 = "JOY2_UP" InputJoyDown2 = "JOY2_DOWN" InputJoyLeft2 = "JOY2_LEFT" InputJoyRight2 = "JOY2_RIGHT"

; Fighting game buttons InputPunch = "KEY_A,JOY1_BUTTON1" InputKick = "KEY_S,JOY1_BUTTON2" InputGuard = "KEY_D,JOY1_BUTTON3" InputEscape = "KEY_F,JOY1_BUTTON4" InputPunch2 = "JOY2_BUTTON1" InputKick2 = "JOY2_BUTTON2" InputGuard2 = "JOY2_BUTTON3" InputEscape2 = "JOY2_BUTTON4"

; Spikeout buttons InputShift = "KEY_A,JOY1_BUTTON1" InputBeat = "KEY_S,JOY1_BUTTON2" InputCharge = "KEY_D,JOY1_BUTTON3" InputJump = "KEY_F,JOY1_BUTTON4"

; Virtua Striker buttons InputShortPass = "KEY_A,JOY1_BUTTON1" InputLongPass = "KEY_S,JOY1_BUTTON2" InputShoot = "KEY_D,JOY1_BUTTON3" InputShortPass2 = "JOY2_BUTTON1" InputLongPass2 = "JOY2_BUTTON2" InputShoot2 = "JOY2_BUTTON3"

; Steering wheel InputSteeringLeft = "KEY_LEFT" ; digital, turn wheel left InputSteeringRight = "KEY_RIGHT" ; digital, turn wheel right InputSteering = "JOY1_XAXIS" ; analog, full steering range

; Pedals InputAccelerator = "KEY_UP,JOY1_UP" InputBrake = "KEY_DOWN,JOY1_DOWN"

; Up/down shifter manual transmission (all racers) InputGearShiftUp = "JOY1_BUTTON11" ; sequential shift up InputGearShiftDown = "JOY1_BUTTON12" ; sequential shift down

; 4-Speed manual transmission (Daytona 2, Sega Rally 2, Scud Race) InputGearShift1 = "KEY_Q,JOY1_BUTTON9" InputGearShift2 = "KEY_W,JOY1_BUTTON10" InputGearShift3 = "KEY_E,JOY1_BUTTON11" InputGearShift4 = "KEY_R,JOY1_BUTTON12" InputGearShiftN = "KEY_T"

; VR4 view change buttons (Daytona 2, Le Mans 24, Scud Race) InputVR1 = "KEY_A,JOY1_BUTTON1" InputVR2 = "KEY_S,JOY1_BUTTON2" InputVR3 = "KEY_D,JOY1_BUTTON3" InputVR4 = "KEY_F,JOY1_BUTTON4"

; Single view change button (Dirt Devils, ECA, Harley-Davidson, Sega Rally 2) InputViewChange = "KEY_A,JOY1_BUTTON1"

; Handbrake (Sega Rally 2) InputHandBrake = "KEY_S,JOY1_BUTTON2"

; Harley-Davidson controls InputRearBrake = "KEY_S,JOY1_BUTTON2" InputMusicSelect = "KEY_D,JOY1_BUTTON3"

; Virtual On macros InputTwinJoyTurnLeft = "KEY_Q,JOY1_RXAXIS_NEG" InputTwinJoyTurnRight = "KEY_W,JOY1_RXAXIS_POS" InputTwinJoyForward = "KEY_UP,JOY1_YAXIS_NEG" InputTwinJoyReverse = "KEY_DOWN,JOY1_YAXIS_POS" InputTwinJoyStrafeLeft = "KEY_LEFT,JOY1_XAXIS_NEG" InputTwinJoyStrafeRight = "KEY_RIGHT,JOY1_XAXIS_POS" InputTwinJoyJump = "KEY_E,JOY1_BUTTON1" InputTwinJoyCrouch = "KEY_R,JOY1_BUTTON2"

; Virtual On individual joystick mapping InputTwinJoyLeft1 = "NONE" InputTwinJoyLeft2 = "NONE" InputTwinJoyRight1 = "NONE" InputTwinJoyRight2 = "NONE" InputTwinJoyUp1 = "NONE" InputTwinJoyUp2 = "NONE" InputTwinJoyDown1 = "NONE" InputTwinJoyDown2 = "NONE"

; Virtual On buttons InputTwinJoyShot1 = "KEY_A,JOY1_BUTTON5" InputTwinJoyShot2 = "KEY_S,JOY1_BUTTON6" InputTwinJoyTurbo1 = "KEY_Z,JOY1_BUTTON7" InputTwinJoyTurbo2 = "KEY_X,JOY1_BUTTON8"

; Analog joystick (Star Wars Trilogy) InputAnalogJoyLeft = "KEY_LEFT" ; digital, move left InputAnalogJoyRight = "KEY_RIGHT" ; digital, move right InputAnalogJoyUp = "KEY_UP" ; digital, move up InputAnalogJoyDown = "KEY_DOWN" ; digital, move down InputAnalogJoyX = "JOY_XAXIS,MOUSE_XAXIS" ; analog, full X axis InputAnalogJoyY = "JOY_YAXIS,MOUSE_YAXIS" ; analog, full Y axis InputAnalogJoyTrigger = "KEY_A,JOY_BUTTON1,MOUSE_LEFT_BUTTON" InputAnalogJoyEvent = "KEY_S,JOY_BUTTON2,MOUSE_RIGHT_BUTTON" InputAnalogJoyTrigger2 = "KEY_D,JOY_BUTTON2" InputAnalogJoyEvent2 = "NONE"

; Light guns (Lost World) InputGunLeft = "KEY_LEFT" ; digital, move gun left InputGunRight = "KEY_RIGHT" ; digital, move gun right InputGunUp = "KEY_UP" ; digital, move gun up InputGunDown = "KEY_DOWN" ; digital, move gun down InputGunX = "MOUSE_XAXIS,JOY1_XAXIS" ; analog, full X axis InputGunY = "MOUSE_YAXIS,JOY1_YAXIS" ; analog, full Y axis InputTrigger = "KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON" InputOffscreen = "KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON" ; point off-screen InputAutoTrigger = 0 ; automatic reload when off-screen InputGunLeft2 = "NONE" InputGunRight2 = "NONE" InputGunUp2 = "NONE" InputGunDown2 = "NONE" InputGunX2 = "JOY2_XAXIS" InputGunY2 = "JOY2_YAXIS" InputTrigger2 = "JOY2_BUTTON1" InputOffscreen2 = "JOY2_BUTTON2" InputAutoTrigger2 = 0

; Analog guns (Ocean Hunter, LA Machineguns) InputAnalogGunLeft = "KEY_LEFT" ; digital, move gun left InputAnalogGunRight = "KEY_RIGHT" ; digital, move gun right InputAnalogGunUp = "KEY_UP" ; digital, move gun up InputAnalogGunDown = "KEY_DOWN" ; digital, move gun down InputAnalogGunX = "MOUSE_XAXIS,JOY1_XAXIS" ; analog, full X axis InputAnalogGunY = "MOUSE_YAXIS,JOY1_YAXIS" ; analog, full Y axis InputAnalogTriggerLeft = "KEY_A,JOY1_BUTTON1,MOUSE_LEFT_BUTTON" InputAnalogTriggerRight = "KEY_S,JOY1_BUTTON2,MOUSE_RIGHT_BUTTON" InputAnalogGunLeft2 = "NONE" InputAnalogGunRight2 = "NONE" InputAnalogGunUp2 = "NONE" InputAnalogGunDown2 = "NONE" InputAnalogGunX2 = "NONE" InputAnalogGunY2 = "NONE" InputAnalogTriggerLeft2 = "NONE" InputAnalogTriggerRight2 = "NONE"

; Ski Champ controls InputSkiLeft = "KEY_LEFT" InputSkiRight = "KEY_RIGHT" InputSkiUp = "KEY_UP" InputSkiDown = "KEY_DOWN" InputSkiX = "JOY1_XAXIS" InputSkiY = "JOY1_YAXIS" InputSkiPollLeft = "KEY_A,JOY1_BUTTON1" InputSkiPollRight = "KEY_S,JOY1_BUTTON2" InputSkiSelect1 = "KEY_Q,JOY1_BUTTON3" InputSkiSelect2 = "KEY_W,JOY1_BUTTON4" InputSkiSelect3 = "KEY_E,JOY1_BUTTON5"

; Magical Truck Adventure controls InputMagicalLeverUp1 = "KEY_UP" InputMagicalLeverDown1 = "KEY_DOWN" InputMagicalLeverUp2 = "NONE" InputMagicalLeverDown2 = "NONE" InputMagicalLever1 = "JOY1_YAXIS" InputMagicalLever2 = "JOY2_YAXIS" InputMagicalPedal1 = "KEY_A,JOY1_BUTTON1" InputMagicalPedal2 = "KEY_S,JOY2_BUTTON1"

; Sega Bass Fishing / Get Bass controls InputFishingRodLeft = "KEY_LEFT" InputFishingRodRight = "KEY_RIGHT" InputFishingRodUp = "KEY_UP" InputFishingRodDown = "KEY_DOWN" InputFishingStickLeft = "KEY_A" InputFishingStickRight = "KEY_D" InputFishingStickUp = "KEY_W" InputFishingStickDown = "KEY_S" InputFishingRodX = "JOY1_XAXIS" InputFishingRodY = "JOY1_YAXIS" InputFishingStickX = "JOY1_RXAXIS" InputFishingStickY = "JOY1_RYAXIS" InputFishingReel = "KEY_SPACE,JOY1_ZAXIS_POS" InputFishingCast = "KEY_Z,JOY1_BUTTON1" InputFishingSelect = "KEY_X,JOY1_BUTTON2" InputFishingTension = "KEY_T,JOY1_ZAXIS_NEG"

[ eca ]

PowerPCFrequency = 160

[ daytona2 ]

PowerPCFrequency = 25

[ scud ]

InputJoy1XSaturation = 200 SoundVolume = 50 MusicVolume = 200 — Reply to this email directly, view it on GitHub https://github.com/trzy/Supermodel/issues/128#issuecomment-1872599973, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJZ3RMGMVH76N7MCV2UHUDYMB2NFAVCNFSM6AAAAABBHSUXTGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZSGU4TSOJXGM. You are receiving this because you commented.

trzy avatar Dec 30 '23 20:12 trzy

Aha. I've just noticed this in the log file:

[Info]  Opened C:\Users\jacob\Games\Sega Arcade\Model3\ROMs\eca.zip.
[Info]  ecau:

So I added this to my config file:

[ ecau ]

PowerPCFrequency = 160

And now the correct thing is showing up in the logs.

jaoxford avatar Dec 30 '23 20:12 jaoxford

I think you can see where I'm going with this now.... Even though I'm using the ROM eca.zip, why is this coming up as ecau?

A bug, something to do with the romset, something else?

jaoxford avatar Dec 30 '23 20:12 jaoxford

Cool! Maybe we should add the ability to specify sections by game name and do a fuzzy match or something. But in the meantime, remember that you can also specify multiply ROM sets for a single section, e.g.:

[ eca, ecau ]

You could open up Games.xml and take a look at all the variants that exist for your ROM and cover them all with a single game-specific section this way.

On Dec 30, 2023, at 12:34 PM, Jacob Oxford @.***> wrote:

Aha. I've just noticed this in the log file:

[Info] Opened C:\Users\jacob\Games\Sega Arcade\Model3\ROMs\eca.zip. [Info] ecau: So I added this to my config file:

[ ecau ]

PowerPCFrequency = 160 And now the correct thing is showing up in the logs.

— Reply to this email directly, view it on GitHub https://github.com/trzy/Supermodel/issues/128#issuecomment-1872601299, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAJZ3RLQ57WVNRW4TWVJNZ3YMB3G5AVCNFSM6AAAAABBHSUXTGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZSGYYDCMRZHE. You are receiving this because you commented.

trzy avatar Dec 30 '23 20:12 trzy

Just did a run through Emergency call, PowerPCFrequency was set to 166, definitely ran much better. There was a bit of lag towards the end of the 3rd level but I'm not sure if that's an emulation issue or what else now? I need to try it on the real machine 😆

Thanks for your help.

jaoxford avatar Dec 30 '23 20:12 jaoxford

Try to save that level and then load using the legacy engine. If it’s the level with lots of fire, it could be related to transparency. Also regarding the ROM naming, it’s not a bug. We generally follow the MAME naming convention and I think many ROMs in the wild are misnamed. We load by CRC and ignore the filenames.Sent from my iPhoneOn Dec 30, 2023, at 12:53 PM, Jacob Oxford @.***> wrote: Just did a run through Emergency call, PowerPCFrequency was set to 166, definitely ran much better. There was a bit of lag towards the end of the 3rd level but I'm not sure if that's an emulation issue or what else now? I need to try it on the real machine 😆 Thanks for your help.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

trzy avatar Dec 30 '23 21:12 trzy

Thank you so much for your help. This is great stuff for me to get on with!

jaoxford avatar Dec 30 '23 21:12 jaoxford

I've now tested the 3rd level (the one with the fire) using the -legacy3d option. Performance is much better there / almost perfect, but the visuals are much worse as I expected.

Using the new 3d engine with my PPC at 166. I notice a lot of lag during these moments:

image

image

image

image

So I think you're right, it's something to do with the flames / transparency.

jaoxford avatar Dec 31 '23 14:12 jaoxford

You need a very fast cpu for 166mhz emulation. Try maybe 100mhz. Also what gpu do you have?

dukeeeey avatar Dec 31 '23 14:12 dukeeeey

I'll give 100mhz a go.

My specs: AMD Ryzen 5 3600X RTX 2060 6GB 32GB RAM

jaoxford avatar Dec 31 '23 15:12 jaoxford

I've tried again with ppc ranging from 60-166 in increments of 10. I would say that none of them have completely fixed the performance where it's on par with the legacy3d engine. It's definitely an improvement over where I started though!

I'm still getting big dips down to anywhere between 35-50fps with a fair bit of input lag. I'm not really sure what else I can do to fix the performance?

jaoxford avatar Jan 02 '24 15:01 jaoxford

RTX 2060 6GB

That card should be MORE than fast enough. Are you sure you aren't using integrated gfx lol. What resolution are you using? Are you using super sampling?

dukeeeey avatar Jan 02 '24 15:01 dukeeeey

I'm pretty sure I don't even have integrated graphics on my CPU lmao. 😆

I'm running in 4k (3140 x 2160). I'm not using any supersampling.

jaoxford avatar Jan 02 '24 15:01 jaoxford

Running in 1080P & 1440P removes all lag for me though! So must be a 4k / GPU issue.

jaoxford avatar Jan 02 '24 15:01 jaoxford

You can try using the triangle renderer, it's a lot cheaper on the GPU

dukeeeey avatar Jan 02 '24 16:01 dukeeeey

How can I do that? 😨

jaoxford avatar Jan 02 '24 16:01 jaoxford

just don't enable -quad-rendering

dukeeeey avatar Jan 02 '24 16:01 dukeeeey

Setting QuadRendering = false and running in 4k the difference in performance is negligible. My frames still tank when there are flames.

So far the best solution for me has been to downgrade my resolution to 1440p, whilst keeping Quadrendering to true, and the PowerPCFrequency at 166. That gives me the best performance and visuals.

jaoxford avatar Jan 02 '24 16:01 jaoxford

Setting QuadRendering = false and running in 4k the difference in performance is negligible. My frames still tank when there are flames.

So far the best solution for me has been to downgrade my resolution to 1440p, whilst keeping Quadrendering to true, and the PowerPCFrequency at 166. That gives me the best performance and visuals.

Have you ever recorded cpu and gpu usage when lag occurs? Maybe you can try this build, https://www.supermodel3.com/Files/Git_Snapshots/Supermodel_0.3a-git-4c727ab_Win64.zip after this version , the new 3d engine updates the api to opengl 4+ .From then on, the nightmare of lags began...

crashGG avatar Jan 11 '24 20:01 crashGG

Have you ever recorded cpu and gpu usage when lag occurs? Maybe you can try this build, https://www.supermodel3.com/Files/Git_Snapshots/Supermodel_0.3a-git-4c727ab_Win64.zip after this version , the new 3d engine updates the api to opengl 4+ .From then on, the nightmare of lags began...

No I've not tried to record CPU / GPU. Any recommendations / suggestions on how to do so?

I've tried to use the legacy-3d engine on the latest build which solved the lag issue, but the visuals were poor.

jaoxford avatar Jan 11 '24 21:01 jaoxford