PaulsCode Forum

Mupen64Plus AE => General Discussion => Topic started by: zack on December 04, 2013, 01:45:55 PM

Title: Work on speed
Post by: zack on December 04, 2013, 01:45:55 PM
Is anyone working on trying to optimise the emulator currently?
My nexus 4 handles conkers bad fur day just as slowly as my samsung galaxy s2 does. So I believe we have a bottleneck somewhere (just talking out loud, haven't looked into this yet)

Just curious as to what our plans are to tackle this.
Title: Re: Work on speed
Post by: Paul on December 04, 2013, 04:07:54 PM
Well the plan is to eventually get someone with strong GLES experience to stop by and work on optimizing the video plugins.  That is the main speed bottleneck.  I typically use N64oid's video plugin and gles2rice for comparison-- since both are ports of Rice, but Yongzh's is quite a bit more optimized.

After the video plugins, the next potential area for optimization might be anywhere assembly language could be used for high-traffic functions anywhere in the program (the key here being that both x86 and ARM (and possibly ARMv7a -- and maybe even eventually AMD64 and MIPPS) versions would need to be written.  This would require a dedicated dev with strong assembly language skills.
Title: Re: Work on speed
Post by: littleguy on December 04, 2013, 04:28:39 PM
The list of issues is quite long and at this point spread out over many places (forum threads, github issues, emails, PMs, play store).  What do you guys think if I start organizing this all into a tree on the github wiki?  Not a user-facing thing, but more a technical thing for developers.  Having not played the vast majority of the games out there, I constantly mix titles up in my head (paper mario, mario party) (anything with pokemon in the title) etc.
Title: Re: Work on speed
Post by: zack on December 05, 2013, 09:53:37 AM
Well the plan is to eventually get someone with strong GLES experience to stop by and work on optimizing the video plugins.  That is the main speed bottleneck.  I typically use N64oid's video plugin and gles2rice for comparison-- since both are ports of Rice, but Yongzh's is quite a bit more optimized.

After the video plugins, the next potential area for optimization might be anywhere assembly language could be used for high-traffic functions anywhere in the program (the key here being that both x86 and ARM (and possibly ARMv7a -- and maybe even eventually AMD64 and MIPPS) versions would need to be written.  This would require a dedicated dev with strong assembly language skills.

Thanks for the input.
I wouldn't say my GLES experience was strong, but should be sufficient to improve the video plugins I hope :)