GithubHelp home page GithubHelp logo

Comments (9)

 avatar commented on August 28, 2024

My opinions are:

  • Libretro CPU overclocking method. That should eat some cycles as its done very heavily. If it was switched to Mesen-like PPU overclocking, maybe it'd help recover some speed.

  • Doesn't standalone have SIMD / AVX support for the resampler? I'm thinking Libretro core does not enable?

  • Retroarch shaders are off? The ultra-wide base textures are huge! (2048x2048)

from beetle-pce-libretro.

inactive123 avatar inactive123 commented on August 28, 2024

Important to bear in mind that RetroArch does not use frameskipping while fast forwarding, but just disables audio and video sync instead. I am not sure how Mednafen's fastforwarding works (somebody would have to look at the SDL implementation), but it's possible it could be accomplished through frameskip. Either way, it should be taken into consideration that we cannot compare FPS results 1:1 because of this.

That being said, I do not discount the fact that possibilities might exist for things to become more performant on the libretro core side here.

from beetle-pce-libretro.

negativeExponent avatar negativeExponent commented on August 28, 2024

let me remind, that this is not a "comparison" as in a debate purposes. just intended to make some more optimizations to be equal if not better than upstream. And to reply to the frameskip thing, frameskip can also be disabled in mednafen. i think its also in the screenshots.

from beetle-pce-libretro.

inactive123 avatar inactive123 commented on August 28, 2024

from beetle-pce-libretro.

Tatsuya79 avatar Tatsuya79 commented on August 28, 2024

I compared the core with stand-alone a while ago and reached the same conclusion as negativeExponent; that the core is lagging behind it perf wise. (it should be 80% faster looking at notes I took)

I tried removing some code in the internal video part in case anything costly would have been added in a timing sensible place, but I found nothing relevant.

I wonder if it's just a muti-threading thing we don't do here?

from beetle-pce-libretro.

mrjschulte avatar mrjschulte commented on August 28, 2024

Perhaps there are optimizations we do when compiling down that the original doesn't have. I've seen how picky Mednafen is with some optimization flags and perhaps forcing -O3 has some adverse effects. Needs more investigative work for sure.

from beetle-pce-libretro.

negativeExponent avatar negativeExponent commented on August 28, 2024

wonder whats going on here:

out-of-bounds

looks like horizontal display registers gets way out of bounds for a frame or two when last scanline is increased passed 239

from beetle-pce-libretro.

mrjschulte avatar mrjschulte commented on August 28, 2024

Perhaps this is related to the "fixes" made in the vce to allow for more scanlines but I can't see how:
d05b6cc

from beetle-pce-libretro.

negativeExponent avatar negativeExponent commented on August 28, 2024

normally, you should be able to show all 243 visible lines (regardless if they are just data, or extra background,overscans) and that is fine. In this case though, its probably switching late. it might even make sense to just make these 243 and just let initial/last scanline options to handle how many scanlines needs to be drawn and to set the height. I haven't looked at the core closely though

when the core gets to a good performance level, make it available for all if not most platform libretro supports, then this can be a defacto PCE core and retire the supergrafx one. (the pce_fast still need to be maintained for performance reasons). But as of now, ill stay with pce_fast/supergrafx

from beetle-pce-libretro.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.