-
Notifications
You must be signed in to change notification settings - Fork 133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VU1 sample syncronization problem #495
Comments
Can you provide minimum reproducible code for this issue? If the issue is what you say it is, you might just need a FLUSHE in your VIFCode (or a bc2t instruction loop). |
You'll need to optimize, a vblank interval is happening during your drawing because it's too slow. Here is how I can prove this: You're doing 1224 cubes. I'll use the PCSX2 number for the math below. So that's 6,347,664 cycles / frame. You can test this yourself, make z only have 12 iterations. This will give you around 14 miliseconds / frame. If you try it on PCSX2, there will be no flickering :) |
I'm currently trying to draw a more detailed 3D model in the VU1 sample. And for this we have to make more packets every frame to render the scene. But this will cause flickering/missing models on real hardware. (we can get the same problem just by adding more cubes to render in the scene).
According to several people, it's a syncronization problem with the VU1. Like I'm sending data while the VU1 is still rendering.
I tried to add a flush to wait for the VU1 but without success. I'm desperate not to find a solution.
Fixing this problem will help people to create a more complexe project by using the sample as a base so I think it's interesting to fix this.
I planned to add PS2 support in a game engine.
PS2 vs PCSX2
The text was updated successfully, but these errors were encountered: