Code Monkey home page Code Monkey logo

Comments (9)

dukeeeey avatar dukeeeey commented on June 20, 2024 2

It's drawing like a textured ball. Only no textures have been uploaded yet so the the model comes out as black, ie invisible. Why it's drawing 500 times I've no idea, maybe this is some left over test code. I'm pretty sure the real hardware would be drawing this too. The difference is the real hardware has something called overload mode which means it'll just stop render after the frame time is up and present whatever it has drawn. This is something we can't emulate in opengl, or probably other 3d apis. Once a frame has started drawing there is no way to cancel it. So for us it has to take the full time.

There is one thing we can do to dramatically improve the situation without game specific apps and that is to only draw a frame when the host says to. This means that this expensive scene will only get drawn at most 2 or 3 times, instead of 20 to 30 times. Currently we draw every frame regardless as to what is being sent to the gpu, and for games like virtua fighter it'll start rendering random garbage in the loading screens. It's really one of the last big things that needs to be fixed in the emulator.

from supermodel.

dukeeeey avatar dukeeeey commented on June 20, 2024 1

Hmm yeah I will investigate

from supermodel.

dukeeeey avatar dukeeeey commented on June 20, 2024 1

I think the issue is part of the startup sequence of the program. We are rendering a whole bunch of stuff that should not be drawn. It's calling about 10k opengl calls per frame during the startup period which is very high. I am guessing this started to show up with the new culling code but I am not certain.

from supermodel.

dukeeeey avatar dukeeeey commented on June 20, 2024 1

No once the games are running they should be the same speed, except the triangle renderer which might be up to 20% slower with latest commits

from supermodel.

WarpedPolygon avatar WarpedPolygon commented on June 20, 2024

I have observed with recent versions that performance has gotten worse, which is to be expected. However, I think the recent performance hit and this issue could be related. Other games also take just a second or so extra to boot compared to older versions and sometimes hitch a little on boot. When looking at task manager Supermodel is maxed out while it's booting to the initializing screen for von2 and windows running super slow when it's doing so.

I'm not an expert but thought I'd share my observations.

from supermodel.

WarpedPolygon avatar WarpedPolygon commented on June 20, 2024

I think the issue is part of the startup sequence of the program. We are rendering a whole bunch of stuff that should not be drawn. It's calling about 10k opengl calls per frame during the startup period which is very high. I am guessing this started to show up with the new culling code but I am not certain.

that sounds about right and would explain my observations with initial boots/startups. Would this also impact general in game performance?

from supermodel.

WarpedPolygon avatar WarpedPolygon commented on June 20, 2024

No once the games are running they should be the same speed, except the triangle renderer which might be up to 20% slower with latest commits

Cool. I only use Quad to be honest. Thanks for getting back to me so fast. Hope I managed to help in some way. If you need me to test anything just let me know.

from supermodel.

gm-matthew avatar gm-matthew commented on June 20, 2024

This slowdown occurs because during boot the game is trying to render the same model at the camera location 512 times.

The closer a model is to the camera, the longer it takes to draw because the polygons are larger on-screen and therefore more pixels need to be filled in. Trying to render a model at the same position as the camera 512 times basically chokes the renderer.

I already have a fix for this issue, we just need to make sure it doesn't break any other games before we implement it.

from supermodel.

WarpedPolygon avatar WarpedPolygon commented on June 20, 2024

Ahh I think I remember the red/orange ball, usually a sign of 'not gonna work' with older SVNr builds

from supermodel.

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.