Comments (9)
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.
Hmm yeah I will investigate
from supermodel.
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.
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.
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.
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.
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.
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.
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)
- Increase configurability for `~/.config` and `~/.local` paths
- Enable scuddxo commit has broken some 1.5 step games? HOT 1
- scuddxo glitches HOT 1
- [Linux][lamachin] Black screen when launching L.A. Machineguns HOT 10
- [Linux] Graphical problem choosing fullscreen option HOT 3
- [Linux][lostwsga] Aiming problem HOT 8
- Racing games are unplayable HOT 11
- [eca] 4-Speed Gear Lever Inputs Not Mapped Correctly HOT 8
- impossible to map a Button for Esc (quit) HOT 1
- Lost world and La machine gun graphics bug HOT 7
- Harley Davidson and L A Riders: HOT 5
- Sega Bass Fishing (Upright) - getbassur - graphical issues HOT 4
- The background layer is misaligned HOT 6
- (MacOS Apple Silicon) Sega Rally 2 (and DX) under car shadow HOT 10
- Question - crt shaders on macOS HOT 1
- Optical sound output out of sync with video
- Scud Race Sunglare HOT 2
- [Regression] Video appears in lower-left corner only HOT 5
- Driver timeout on AMD 5700U HOT 15
- Stop distributing config files and create them programmatically if missing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from supermodel.