Skip to content

Conversation

@rickgaiser
Copy link
Member

@freshollie can you try this?

Untested but should work. @fjtrujy what do you think? Can be added for non-HIRES as well.

@freshollie
Copy link
Contributor

I'll have a go this weekend :)

I'll also use this time to determine if changing the line order for 1080i helps my TV 🤔

@freshollie
Copy link
Contributor

Yep works great, having this in would be really nice!

static void gfx_ps2_swap_buffers_end(void) {
    /* How SM64 expect to run at 30 PFS we need to wait for 2 vsync */
    if (use_hires) {
        gsKit_hires_flip_ext(gs_global, GSFLIP_RATE_LIMIT_2);
    } else {
        gsKit_sync(gs_global);
        gsKit_flip(gs_global);
    }

    gsKit_queue_exec(gs_global);
    gsKit_TexManager_nextFrame(gs_global);
}

I used it like this which I think is correct?

No FPS issues in levels now I have this on

@rickgaiser
Copy link
Member Author

You need to use gsKit_queue_exec(gs_global); for non-hires ONLY. With HIRES the queue is executed by the HIRES thread 120x per second for 2 passes what you're using now.

What you're doing causes 1 redundant 'pass', so removing it will make the game run a little smoother.

@freshollie
Copy link
Contributor

Done. Though it did run fine without it

@freshollie
Copy link
Contributor

freshollie commented Jan 26, 2026

@rickgaiser I think also adding for SD will be a good idea, but otherwise good to merge IMO

@rickgaiser
Copy link
Member Author

Yes, I've already implemented that partially. Will try to finish when I have time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants