GIF: Adjusted intermittent mode split of large packets

Should be a bit more performant now in games like Tekken Tag
Adjusted for The Suffering
This commit is contained in:
refractionpcsx2 2021-07-25 15:41:17 +01:00
parent fd1305e4da
commit 88edd1acd6
1 changed files with 6 additions and 5 deletions

View File

@ -278,14 +278,15 @@ static u32 WRITERING_DMA(u32 *pMem, u32 qwc) {
if (gifRegs.stat.IMT)
{
// Splitting by 8qw can be really slow, so on bigger packets be less picky.
// Some games like Wallace & Gromit like smaller packets to be split correctly, hopefully with little impact on speed.
// 68 works for W&G but 128 is more of a safe point.
if (qwc > 128)
qwc = std::min(qwc, 1024u);
// Games seem to be more concerned with other channels finishing before PATH 3 finishes
// so we can get away with transferring "most" of it when it's a big packet.
// Use Wallace and Gromit Project Zoo or The Suffering for testing
if (qwc > 64)
qwc = qwc-64;
else
qwc = std::min(qwc, 8u);
}
uint size;
if (CheckPaths() == false || ((qwc < 8 || gif_fifo.fifoSize > 0) && CHECK_GIFFIFOHACK))