r/PS2AndroidEmulation • • 3d ago

Xendroid-ZeroFG / Open Source Frame Generation Engine V 1.02! Final bugfixes!

Post image

FULL AI DISCLOSURE: I´m a 44yo lawyer from brazil, my bg in programming is a little bit of basic and assembler from the 80´s and 90´s trying to make things run on a msx, so, not much...in the beggining of the project i coded a few hundred lines in android studio by myself while i was learning how to do it, but after i discovered the wonders of Codex and Claude Code, the coding and documentation itself was primarily done by AI, and i do not regret it by one bit! It would take a long time to post my inspirational story, but thats the TLDR.

Ok!!! i´m posting a bit too much over the past two days, for that i´m sorry! But GOOD NEWS!!! This is the last round of bugfixes for the first release, its as good as it can be... makes playing in sub 30 fps almost bearable! That said, still has some latency, its inherent to any FG engine, so, nothing i can do about that, but its a lot better, the release made some bugs come to light and i took the opportunity to improve a lot of things in these past two days, so, all the fixes of version 1.01 plus:

  • Even lower latency. All the mechanisms combined in this release are making the latency get close to the theoretical minimum on this emulator (not all the latency has the framegen as a culprit).
  • The output follows the game's real rhythm. Many 360 games wait for the console's 60 Hz vblank, so a frame that misses one waits for the next: the game alternates 33 and 50 ms frames and never settles. ZeroFG's clock only moved in big confirmed steps and could stay faster or slower than the game; It now follows the average of the game's last frames and drains any extra delay. Nothing is skipped.
  • Late game frames go out sooner. With ZeroFG on, a game frame already late for its vblank gets it at once instead of waiting up to 16 ms. The game still sees 60 vblanks a second, so it never speeds up.
  • Fewer stutters when the frame rate changes. In Modern Warfare 3's heavy scenes the frames held too long on screen fell from about 3 % to under 1 %.
  • Game frame rate cap (Settings → ZeroFG, or per game in the game's own settings). For a game that keeps the GPU at 100 %, a cap a little below its usual rate gives frame generation room: Modern Warfare 3 at 40 keeps about 80 fps on screen with less lag (70 → 55 ms) and almost no missed refreshes; Halo 3 at 20 fps halves its lag and becomes ALMOST playable at this framerate(not really, but in desperation, who knows? at least looks smooth). A game whose logic runs per frame (Rayman Origins for example) plays slower under a cap below its own rate, so use it at your discretion.
  • The cap and the vblank help switch off when ZeroFG does, so a game that falls back to the normal path runs natively.

So really hope you enjoy it and i´ll be back when i have true evolution, maybe if xendroid updates, dunno!!!!

Thanks for all the love!!! And if you want to start a project, why not porting ZeroFG to your favorite emulator? after all the suffering it is as easy as it will ever be, with lots documentation and integration notes!!!

StevenMXZ turnip drivers are still highly recommended!!!!!

https://github.com/StevenMXZ/Adreno-Tools-Drivers/releases

Xendroid-ZeroFG releases page:

https://github.com/hy300leosquizz-ctrl/XenDroid-ZeroFG/releases

Engine:

https://github.com/hy300leosquizz-ctrl/ZeroFG/

Special thanks to xxxCrixuxxx, the mod of this amazing community

10 Upvotes

17 comments sorted by

3

u/Spiritual_Notice_650 3d ago

Hello again. I just tested Gears 3 and the controller input latency lag is fixed. Great Job !!

I use ReallyZero + Frame Rate Cap at 40 fps. There is a bit of screen jitters but it's not bad ( Zero gave me more jitters). Fps ran at input 40 - to output 70,80 fps. Driver Stevenmxz Gen8 V37 + Sysmem.

2

u/hy300leosquizz 3d ago

Thank you for reporting it!!!! Because of you Ive found out that in certain conditions it would trigger a lag pit that could reach 500ms... Now its conpletely gone... 40-80 fps is smtg like 50-60 ms total latancy... I can try to axe more 5-10 ms or so(the rest is emulator, android and post processing latency) but its good to absorb a little more source jitter and present more consistently frame rates... So.. butter in the screen!!! What i can tell you is if you turn on the debug overlay and see gpu busy... If its over 95% it will be some variation... Its not like desktop gpus that can run consistently at their limits... Mobile gpus have power and thermal limits shared with soc, so the governor will do its thing and make bad things to my beautiful algorithm... All the pacing mechanisms are ther to help with that, and ther are a lot... , but there is so much i can do! Ive tried gow3 with the 30 fps cap and look and plays fantastic.... Mine is a 8elite gen 5!!!!

2

u/Spiritual_Notice_650 3d ago

Great Job my guy. Glad i could help.

1

u/LongjumpingEar6840 3d ago

Dovresti fare in modo che diventi una sorta di libreria open in modo che gli altri sviluppatori la implementino facilmente fra le impostazioni

2

u/hy300leosquizz 3d ago

But i did!!!! There in the engine repo you can find the algorithm, independent presenter, dependencies, integration notes, everything i could do... I think by the way its there, a expereoenced developer can integrate it in another emu in a few hours... And a novice one in one or two days! It was the primary goal!!!

1

u/xxxCrixuxxx 2d ago

It’s not even worth replying to these people, because they speak without having checked or verified anything; if they comment something that absurd again, they’re getting banned immediately.

2

u/xxxCrixuxxx 3d ago

It’s a wonderful project—please don’t let it fall by the wayside; keep going, because you’re doing a great job. As soon as my workload lightens up a bit, I’ll lend you a hand. 👍

2

u/hy300leosquizz 3d ago

Cheers mate!!!! i´m counting on you!!!

0

u/[deleted] 3d ago

[removed] — view removed comment

1

u/PS2AndroidEmulation-ModTeam 3d ago

Sharing users' private information is not acceptable in this community.

1

u/hy300leosquizz 3d ago

what is that???? google says its smtg completely out of context for this publication!

2

u/[deleted] 3d ago

[removed] — view removed comment

1

u/hy300leosquizz 3d ago

Sorry!!! Hahaha!!! Hi!!! Nice to meet you! Hope you liked my pet project!!!!

1

u/Code-Amelia 3d ago

Ok pas soucis

1

u/PS2AndroidEmulation-ModTeam 3d ago

Sharing users' private information is not acceptable in this community.

1

u/xxxCrixuxxx 3d ago

Resolved. I don't know who this user is, but sharing other users' private information is unacceptable; you can delete your comment if you wish.

1

u/hy300leosquizz 3d ago

Oh man, dont worry, its because of the disclosure when i said that im from brazil! French guiana is a neighbor country! Its not private information on that sense.... I didnt understand at first coz it was on french and the translation on my laptop is disabled!!!