RPCS3 Forums

Full Version: Battlefield: Bad Company [BLES00259]
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
RPCS3 v0.0.2-3-1b5a479 Alpha
Quote:·F 0:00:02.861134 {PPU[0x1000000] Thread (main_thread) [0x0028d7d0]} MEM: Access violation writing location 0x4fff0000
RPCS3 v0.0.3-3-6782b22 Alpha

Ingame - Loading screen will appear frozen as it maxes out CPU. Leaving the game to load for 5-10 mins results in it finally going ingame.


[Image: unknown.png]
Just played through the first mission on 0.0.28.15363 and it's definitely playable by now. I didn't encounter a single crash, just two minor issues, both of which may be related to my settings, rather than actual emulation issues.
1. The sound got a little choppy towards the end of the mission
2. Some effect sprites were not properly scaled.
HOWEVER: I was playing in 2560x1440 with double vblank (which didn't double the framerate as I had hoped, but it might explain the sound issues).

Any crashes and rendering issues I've encountered before (disappearing models in cutscenes mostly) were not present anymore.

Well finally got as single "PPU Trap" crash on my replay of the first mission. But that's been the first crash in 3 hours, so IMHO it almost doesn't count.

I've found that setting the minimum sprite scaling resolution to 640x640 fixes all issues related to resolution scaling.
Increasing the Vblank to 200% and applying the 60fps patch also generally works, but it introduces some minor issues in the cutscenes.
Didn't have any major sound issues this time either. I've slightly increased the audio buffer size to 140ms, maybe that was enough.

Here's a video of the first half of the first mission for reference:
Video (MP4, 1080p, h264)


Here's the config_BLES00259.yml used. There's probably a whole lot of compatibility options enabled there that are not actually needed, but it works.
Code:
Core:
  PPU Decoder: Recompiler (LLVM)
  PPU Threads: 2
  PPU Debug: false
  PPU Calling History: false
  Save LLVM logs: false
  Use LLVM CPU: ""
  Max LLVM Compile Threads: 0
  PPU LLVM Greedy Mode: false
  PPU LLVM Precompilation: true
  Thread Scheduler Mode: RPCS3 Scheduler
  Set DAZ and FTZ: false
  SPU Decoder: Recompiler (LLVM)
  SPU Reservation Busy Waiting Percentage: 0
  SPU GETLLAR Busy Waiting Percentage: 100
  SPU Debug: false
  MFC Debug: false
  Preferred SPU Threads: 0
  SPU delay penalty: 3
  SPU loop detection: true
  Max SPURS Threads: 6
  SPU Block Size: Safe
  Accurate GETLLAR: false
  Accurate SPU DMA: false
  Accurate SPU Reservations: true
  Accurate Cache Line Stores: false
  Accurate RSX reservation access: false
  RSX FIFO Accuracy: Ordered & Atomic
  SPU Verification: true
  SPU Cache: true
  SPU Profiler: false
  MFC Commands Shuffling Limit: 0
  MFC Commands Timeout: 0
  MFC Commands Shuffling In Steps: false
  Enable TSX: Disabled
  Accurate xfloat: false
  Approximate xfloat: true
  Relaxed xfloat: true
  Accurate PPU 128-byte Reservation Op Max Length: 0
  Stub PPU Traps: 1
  Full Width AVX-512: false
  PPU LLVM Java Mode Handling: false
  Use Accurate DFMA: true
  PPU Set Saturation Bit: false
  PPU Accurate Non-Java Mode: false
  PPU Fixup Vector NaN Values: false
  PPU Accurate Vector NaN Values: false
  PPU Set FPCC Bits: false
  Debug Console Mode: false
  Hook static functions: false
  Libraries Control:
    []
  HLE lwmutex: false
  SPU LLVM Lower Bound: 0
  SPU LLVM Upper Bound: 18446744073709551615
  TSX Transaction First Limit: 800
  TSX Transaction Second Limit: 2000
  Clocks scale: 100
  SPU Wake-Up Delay: 0
  SPU Wake-Up Delay Thread Mask: 63
  Max CPU Preempt Count: 0
  Allow RSX CPU Preemptions: true
  Sleep Timers Accuracy: Usleep Only
  Usleep Time Addend: 0
  Performance Report Threshold: 500
  Enable Performance Report: false
  Assume External Debugger: false
  SPU GETLLAR polling detection: false
  LLVM Accurate DFMA: true
  PPU LLVM Accurate Vector NaN values: false
  Lower SPU thread priority: false
  Enable thread scheduler: true
  Lib Loader: Load liblv2.sprx only
  Load libraries: []
  Accurate PUTLLUC: false
VFS:
  Enable /host_root/: false
  Initialize Directories: true
  Limit disk cache size: false
  Disk cache maximum size (MB): 5120
  Empty /dev_hdd0/tmp/: true
Video:
  Renderer: Vulkan
  Resolution: 1280x720
  Aspect ratio: 16:9
  Frame limit: Off
  Second Frame Limit: 0
  MSAA: Auto
  Shader Mode: Shader Recompiler
  Shader Precision: High
  Write Color Buffers: true
  Write Depth Buffer: true
  Read Color Buffers: true
  Read Depth Buffer: true
  Log shader programs: false
  VSync: true
  Debug output: false
  Debug overlay: false
  Renderdoc Compatibility Mode: false
  Use GPU texture scaling: false
  Stretch To Display Area: false
  Force High Precision Z buffer: false
  Strict Rendering Mode: false
  Disable ZCull Occlusion Queries: false
  Disable Video Output: false
  Disable Vertex Cache: true
  Disable FIFO Reordering: false
  Enable Frame Skip: false
  Force CPU Blit: false
  Disable On-Disk Shader Cache: false
  Disable Vulkan Memory Allocator: false
  Use full RGB output range: true
  Strict Texture Flushing: false
  Multithreaded RSX: false
  Relaxed ZCULL Sync: false
  3D Display Mode: Disabled
  Debug Program Analyser: false
  Accurate ZCULL stats: true
  Consecutive Frames To Draw: 1
  Consecutive Frames To Skip: 1
  Resolution Scale: 200
  Anisotropic Filter Override: 16
  Texture LOD Bias Addend: 0
  Minimum Scalable Dimension: 640
  Shader Compiler Threads: 0
  Driver Recovery Timeout: 1000000
  Driver Wake-Up Delay: 20
  Vblank Rate: 60
  Vblank NTSC Fixup: false
  DECR memory layout: false
  Allow Host GPU Labels: false
  Disable MSL Fast Math: false
  Output Scaling Mode: Bilinear
  Vulkan:
    Adapter: NVIDIA GeForce RTX 2080
    Force FIFO present mode: false
    Force primitive restart flag: false
    Exclusive Fullscreen Mode: Automatic
    Asynchronous Texture Streaming 2: false
    FidelityFX CAS Sharpening Intensity: 50
    Asynchronous Queue Scheduler: Safe
    VRAM allocation limit (MB): 65536
    Force Disable Exclusive Fullscreen Mode: false
    Enable FidelityFX Super Resolution Upscaling: false
  Performance Overlay:
    Enabled: false
    Enable Framerate Graph: false
    Enable Frametime Graph: false
    Framerate datapoints: 50
    Frametime datapoints: 170
    Detail level: Medium
    Framerate graph detail level: All
    Frametime graph detail level: All
    Metrics update interval (ms): 350
    Font size (px): 10
    Position: Top Left
    Font: n023055ms.ttf
    Horizontal Margin (px): 50
    Vertical Margin (px): 50
    Center Horizontally: false
    Center Vertically: false
    Opacity (%): 70
    Body Color (hex): "#FFE138FF"
    Body Background (hex): "#002339FF"
    Title Color (hex): "#F26C24FF"
    Title Background (hex): "#00000000"
  Shader Loading Dialog:
    Allow custom background: true
    Darkening effect strength: 30
    Blur effect strength: 0
  Enable 3D: false
  Disable native float16 support: false
  Shader Compilation Hint:
    Position X (px): 20
    Position Y (px): 690
  Use Legacy OpenGL Buffers: false
  Disable Asynchronous Shader Compiler: false
Audio:
  Renderer: XAudio2
  Audio Provider: CellAudio
  RSXAudio Avport: HDMI 0
  Dump to file: false
  Convert to 16 bit: false
  Audio Format: Stereo
  Audio Formats: 0
  Audio Device: "@@@default@@@"
  Master Volume: 100
  Enable Buffering: true
  Desired Audio Buffer Duration: 140
  Enable Time Stretching: false
  Disable Sampling Skip: false
  Time Stretching Threshold: 75
  Microphone Type: "Null"
  Microphone Devices: "@@@@@@@@@@@@"
  Music Handler: Qt
  Audio provider: CellAudio
  Audio Channels: Downmix to Stereo
  Start Threshold: 1
  Sampling Period Multiplier: 100
  Downmix to Stereo: true
Input/Output:
  Keyboard: "Null"
  Mouse: Basic
  Camera: "Null"
  Camera type: Unknown
  Camera flip: None
  Camera ID: Default
  Move: "Null"
  Buzz emulated controller: "Null"
  Turntable emulated controller: "Null"
  GHLtar emulated controller: "Null"
  Pad handler mode: Single-threaded
  Keep pads connected: false
  Pad handler sleep (microseconds): 1000
  Background input enabled: true
  Show move cursor: false
  Lock overlay input to player one: false
  Emulated Midi devices: Keyboardßßß@@@Keyboardßßß@@@Keyboardßßß@@@
System:
  License Area: SCEA
  Language: English (US)
  Keyboard Type: English keyboard (US standard)
  Enter button assignment: Enter with cross
  Console time offset (s): 0
  PSID high: 0
  PSID low: 0
  HDD Model Name: ""
  HDD Serial Number: ""
Net:
  Internet enabled: Connected
  IP address: 192.168.1.1
  Bind address: 0.0.0.0
  DNS address: 8.8.8.8
  IP swap list: ""
  UPNP Enabled: false
  PSN status: Simulated
  NPID: RPCS3_F8p6WHja17
  Connection status: Disconnected
Savestate:
  Start Paused: false
  Suspend Emulation Savestate Mode: false
  Inspection Mode Savestates: false
  Save Disc Game Data: false
Miscellaneous:
  Automatically start games after boot: true
  Exit RPCS3 when process finishes: false
  Pause emulation on RPCS3 focus loss: false
  Start games in fullscreen mode: true
  Prevent display sleep while running games: true
  Show trophy popups: true
  Show shader compilation hint: true
  Show PPU compilation hint: true
  Use native user interface: true
  GDB Server: 127.0.0.1:2345
  Silence All Logs: false
  Window Title Format: "FPS: %F | %R | %V | %T [%t]"
  Pause Emulation During Home Menu: false
Log: {}
Just finished the single player campaign with Stub PPU Traps: 1 and no further crashes... no visual glitches either.

I can confirm the single player mode is completable start to finish.

Here's the config I eventually settled on:

Code:
Core:
  PPU Decoder: Recompiler (LLVM)
  PPU Threads: 2
  PPU Debug: false
  PPU Calling History: false
  Save LLVM logs: false
  Use LLVM CPU: ""
  Max LLVM Compile Threads: 0
  PPU LLVM Greedy Mode: false
  PPU LLVM Precompilation: true
  Thread Scheduler Mode: RPCS3 Scheduler
  Set DAZ and FTZ: false
  SPU Decoder: Recompiler (LLVM)
  SPU Reservation Busy Waiting Percentage: 0
  SPU GETLLAR Busy Waiting Percentage: 100
  SPU Debug: false
  MFC Debug: false
  Preferred SPU Threads: 6
  SPU delay penalty: 3
  SPU loop detection: true
  Max SPURS Threads: 6
  SPU Block Size: Safe
  Accurate GETLLAR: false
  Accurate SPU DMA: false
  Accurate SPU Reservations: true
  Accurate Cache Line Stores: false
  Accurate RSX reservation access: false
  RSX FIFO Accuracy: Fast
  SPU Verification: true
  SPU Cache: true
  SPU Profiler: false
  MFC Commands Shuffling Limit: 0
  MFC Commands Timeout: 0
  MFC Commands Shuffling In Steps: false
  Enable TSX: Disabled
  Accurate xfloat: false
  Approximate xfloat: false
  Relaxed xfloat: true
  Accurate PPU 128-byte Reservation Op Max Length: 0
  Stub PPU Traps: 0
  Full Width AVX-512: false
  PPU LLVM Java Mode Handling: false
  Use Accurate DFMA: true
  PPU Set Saturation Bit: false
  PPU Accurate Non-Java Mode: false
  PPU Fixup Vector NaN Values: false
  PPU Accurate Vector NaN Values: false
  PPU Set FPCC Bits: false
  Debug Console Mode: false
  Hook static functions: false
  Libraries Control:
    []
  HLE lwmutex: false
  SPU LLVM Lower Bound: 0
  SPU LLVM Upper Bound: 18446744073709551615
  TSX Transaction First Limit: 800
  TSX Transaction Second Limit: 2000
  Clocks scale: 100
  SPU Wake-Up Delay: 0
  SPU Wake-Up Delay Thread Mask: 63
  Max CPU Preempt Count: 20
  Allow RSX CPU Preemptions: true
  Sleep Timers Accuracy: Usleep Only
  Usleep Time Addend: 0
  Performance Report Threshold: 500
  Enable Performance Report: false
  Assume External Debugger: false
  SPU GETLLAR polling detection: false
  LLVM Accurate DFMA: true
  PPU LLVM Accurate Vector NaN values: false
  Lower SPU thread priority: false
  Enable thread scheduler: true
  Lib Loader: Load liblv2.sprx only
  Load libraries: []
  Accurate PUTLLUC: false
VFS:
  Enable /host_root/: false
  Initialize Directories: true
  Limit disk cache size: false
  Disk cache maximum size (MB): 5120
  Empty /dev_hdd0/tmp/: true
Video:
  Renderer: Vulkan
  Resolution: 1280x720
  Aspect ratio: 16:9
  Frame limit: Off
  Second Frame Limit: 0
  MSAA: Auto
  Shader Mode: Async with Shader Interpreter
  Shader Precision: Low
  Write Color Buffers: true
  Write Depth Buffer: false
  Read Color Buffers: true
  Read Depth Buffer: false
  Log shader programs: false
  VSync: true
  Debug output: false
  Debug overlay: false
  Renderdoc Compatibility Mode: false
  Use GPU texture scaling: false
  Stretch To Display Area: false
  Force High Precision Z buffer: false
  Strict Rendering Mode: false
  Disable ZCull Occlusion Queries: false
  Disable Video Output: false
  Disable Vertex Cache: false
  Disable FIFO Reordering: false
  Enable Frame Skip: false
  Force CPU Blit: false
  Disable On-Disk Shader Cache: false
  Disable Vulkan Memory Allocator: false
  Use full RGB output range: true
  Strict Texture Flushing: false
  Multithreaded RSX: false
  Relaxed ZCULL Sync: true
  3D Display Mode: Disabled
  Debug Program Analyser: false
  Accurate ZCULL stats: false
  Consecutive Frames To Draw: 1
  Consecutive Frames To Skip: 1
  Resolution Scale: 200
  Anisotropic Filter Override: 16
  Texture LOD Bias Addend: 0
  Minimum Scalable Dimension: 704
  Shader Compiler Threads: 16
  Driver Recovery Timeout: 1000000
  Driver Wake-Up Delay: 20
  Vblank Rate: 60
  Vblank NTSC Fixup: true
  DECR memory layout: false
  Allow Host GPU Labels: true
  Disable MSL Fast Math: false
  Output Scaling Mode: Bilinear
  Vulkan:
    Adapter: NVIDIA GeForce RTX 2080
    Force FIFO present mode: false
    Force primitive restart flag: false
    Exclusive Fullscreen Mode: Disable
    Asynchronous Texture Streaming 2: false
    FidelityFX CAS Sharpening Intensity: 50
    Asynchronous Queue Scheduler: Fast
    VRAM allocation limit (MB): 65536
    Force Disable Exclusive Fullscreen Mode: false
    Enable FidelityFX Super Resolution Upscaling: false
  Performance Overlay:
    Enabled: false
    Enable Framerate Graph: false
    Enable Frametime Graph: false
    Framerate datapoints: 50
    Frametime datapoints: 170
    Detail level: Medium
    Framerate graph detail level: All
    Frametime graph detail level: All
    Metrics update interval (ms): 350
    Font size (px): 10
    Position: Top Left
    Font: n023055ms.ttf
    Horizontal Margin (px): 50
    Vertical Margin (px): 50
    Center Horizontally: false
    Center Vertically: false
    Opacity (%): 70
    Body Color (hex): "#FFE138FF"
    Body Background (hex): "#002339FF"
    Title Color (hex): "#F26C24FF"
    Title Background (hex): "#00000000"
  Shader Loading Dialog:
    Allow custom background: true
    Darkening effect strength: 30
    Blur effect strength: 0
  Enable 3D: false
  Disable native float16 support: false
  Shader Compilation Hint:
    Position X (px): 20
    Position Y (px): 690
  Use Legacy OpenGL Buffers: false
  Disable Asynchronous Shader Compiler: false
Audio:
  Renderer: XAudio2
  Audio Provider: CellAudio
  RSXAudio Avport: HDMI 0
  Dump to file: false
  Convert to 16 bit: false
  Audio Format: Stereo
  Audio Formats: 0
  Audio Device: "@@@default@@@"
  Master Volume: 100
  Enable Buffering: true
  Desired Audio Buffer Duration: 150
  Enable Time Stretching: false
  Disable Sampling Skip: false
  Time Stretching Threshold: 75
  Microphone Type: "Null"
  Microphone Devices: "@@@@@@@@@@@@"
  Music Handler: Qt
  Audio provider: CellAudio
  Audio Channels: Downmix to Stereo
  Start Threshold: 1
  Sampling Period Multiplier: 100
  Downmix to Stereo: true
Input/Output:
  Keyboard: "Null"
  Mouse: Basic
  Camera: "Null"
  Camera type: Unknown
  Camera flip: None
  Camera ID: Default
  Move: "Null"
  Buzz emulated controller: "Null"
  Turntable emulated controller: "Null"
  GHLtar emulated controller: "Null"
  Pad handler mode: Multi-threaded
  Keep pads connected: false
  Pad handler sleep (microseconds): 1000
  Background input enabled: true
  Show move cursor: false
  Lock overlay input to player one: false
  Emulated Midi devices: Keyboardßßß@@@Keyboardßßß@@@Keyboardßßß@@@
System:
  License Area: SCEA
  Language: English (US)
  Keyboard Type: English keyboard (US standard)
  Enter button assignment: Enter with cross
  Console time offset (s): 0
  PSID high: 0
  PSID low: 0
  HDD Model Name: ""
  HDD Serial Number: ""
Net:
  Internet enabled: Connected
  IP address: 192.168.1.1
  Bind address: 0.0.0.0
  DNS address: 8.8.8.8
  IP swap list: ""
  UPNP Enabled: false
  PSN status: Simulated
  NPID: RPCS3_F8p6WHja17
  Connection status: Disconnected
Savestate:
  Start Paused: false
  Suspend Emulation Savestate Mode: false
  Inspection Mode Savestates: false
  Save Disc Game Data: false
Miscellaneous:
  Automatically start games after boot: true
  Exit RPCS3 when process finishes: false
  Pause emulation on RPCS3 focus loss: false
  Start games in fullscreen mode: true
  Prevent display sleep while running games: true
  Show trophy popups: true
  Show shader compilation hint: false
  Show PPU compilation hint: false
  Use native user interface: true
  GDB Server: 127.0.0.1:2345
  Silence All Logs: false
  Window Title Format: "FPS: %F | %R | %V | %T [%t]"
  Pause Emulation During Home Menu: false
Log: {}

In case anyone is interested: I made a few stub movies so that I wouldn't have to rewatch the title sequence every time I wanted to try a new config:
http://video2.tapper-ware.net.dest.at/Ba...ummies.zip
Just extract them to your Bad Company folder (save the original PS3_GAME\USRDIR\Output\ps3\movies folder first if you don't have a backup)
Some of those settings are questionable/placebo.
6 Preferred SPU Threads is effectively the same as auto.
Spurs threads at 6.... why? Leave it default, changing this option often causes issues esp when lowering it (which can help perf on low-core count CPUs).
Interesting that Relaxed Xfloat ran that well for you, in most games it causes major issues. I checked it for a few mins and seems to work well.. added to wiki. Hard to even determine if its any faster though as even with 60fps patch im just locked to 60 nomatter what.

Post a log/video of the game, with rpcs3 version and log file and we can move it to playable.