ESP32-CAM Performance differences

I am seeing significant streaming performance differences between two ESP32-CAM generic AI-Thinker modules (off of AliExpress). The first one gives me ~12fps at UXGA resolution, the second one ~3fps at UXGA, using the library "ESP32/examples/Camera/CameraWebServer.ino" code unmodified. Distance from the WiFi router is the same (~3m), and switching OV2640 camera modules between the two makes no difference.

Both are new modules from different suppliers. Upon physical inspection, I found that the first module (faster) has a IPS6404L‐SQ PSRAM chip, and the second (slower) has a LY68L6400. Looking at the datasheets, the LY68L6400 appears to be a faster chip, but both chips run at 84MHz when doing cross page boundary operations, which I assume (without digging into the code) both are doing due to the size of the mpeg stream.

Any ideas why the modules would have such a big speed difference (one 4x faster than the other?)