• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › General Discussion v
« Previous 1 ... 150 151 152 153 154 ... 343 Next »

A question for devs-why not make jit run faster then gpu thread ( allow VPS>FPS ) ?
View New Posts | View Today's Posts

Pages (3): 1 2 3 Next »
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
A question for devs-why not make jit run faster then gpu thread ( allow VPS>FPS ) ?
11-10-2012, 09:19 PM (This post was last modified: 11-15-2012, 12:33 AM by rpglord.)
#1
rpglord Offline
Posting Freak
*****
Posts: 816
Threads: 14
Joined: Sep 2009
Usually FPS and VPS in dolphin is synchronized, its either 60/60 or for example 30/60 when game is running fullspeed.
If pc where dolphin is run is not able to run the game at fullspeed,fps will drop together,for example it will be 55 FPS and 55 VPS.
So I was wondering why not atleast make it an option to leave VPS at 60 even though fps is lower ?
Basically desync cpu emulator engine from the rest of dolphin threads ?
It might sound like a bad idea,one would assume it would mess things up in emulation,and that jit needs to be sync to the rest of threads for dolphin to work correctly.
However,based on my testing,this is not correct.
There are some options currently in dolphin which will do what I am suggesting by accident,its not their intended behaviour.
For example,vbeam or disabling idle skipping.
I have tested a lot of games,and didnt see any emulation problem.
Only effect desyncing cpu engine has is that LLE sound don't stutter when FPS goes below fullspeed.
However,these option are "hacky" and dont always work.
Maybe if options were added to desync the jit or jitil,it would work better ?

BTW can anyone tell me is there any way to post this,ask about this,suggest this on google code dolphin page ?
Because this is more suggestion then "issue"
Find
Reply
11-11-2012, 01:36 PM (This post was last modified: 11-11-2012, 01:39 PM by NaturalViolence.)
#2
NaturalViolence Offline
It's not that I hate people, I just hate stupid people
*******
Posts: 9,010
Threads: 24
Joined: Oct 2009
Quote:So I was wondering why not atleast make it an option to leave VPS at 60 even though fps is lower ?

Because that's not how most games are coded.
"Normally if given a choice between doing something and nothing, I’d choose to do nothing. But I would do something if it helps someone else do nothing. I’d work all night if it meant nothing got done."  
-Ron Swanson

"I shall be a good politician, even if it kills me. Or if it kills anyone else for that matter. "
-Mark Antony
Website Find
Reply
11-11-2012, 02:49 PM
#3
skid Offline
skidau / skid_au
**********
Developers (Some Administrators and Super Moderators)
Posts: 1,980
Threads: 8
Joined: Aug 2009
If dolphin emulates the GPU out of sync with the CPU, every game would black screen on boot.
Find
Reply
11-11-2012, 08:31 PM (This post was last modified: 11-11-2012, 08:32 PM by rpglord.)
#4
rpglord Offline
Posting Freak
*****
Posts: 816
Threads: 14
Joined: Sep 2009
(11-11-2012, 02:49 PM)skid Wrote: If dolphin emulates the GPU out of sync with the CPU, every game would black screen on boot.

How do you explain this then ? Its screenshoot of SMG2 running with "vbeam trick"
I purposely slowed down gpu thread by using 3xIr with 4xSSAA.
Fps is 34,while Vps is 111.
Does this mean dolphin emulates the gpu out of sync with the cpu or not?
Or does it mean fps/vps counter is broken ?
[Image: 0ZMStl.jpg]
Find
Reply
11-11-2012, 08:47 PM
#5
skid Offline
skidau / skid_au
**********
Developers (Some Administrators and Super Moderators)
Posts: 1,980
Threads: 8
Joined: Aug 2009
(11-11-2012, 08:31 PM)rpglord Wrote: Does this mean dolphin emulates the gpu out of sync with the cpu or not?
Or does it mean fps/vps counter is broken ?

The GPU is not out of sync. The VBeam option does not make the GPU out of sync. If the GPU were out of sync, you'd get a black screen.

The counter is not broken. The game contains sync code that compensates for a slower graphics update.
Find
Reply
11-11-2012, 08:51 PM (This post was last modified: 11-11-2012, 08:54 PM by neobrain.)
#6
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,209
Threads: 50
Joined: Jun 2009
I'm not sure I understand your point correctly, but whatever.

VPS is the amount of frame render requests sent by the CPU per (host) second. FPS is the amount of frames actually processed by the GPU per (host) second.

VPS = FPS means that the GPU can easily keep up with the amount of frame render requests sent by the CPU, i.e. you're CPU bound in this case
VPS > FPS means that the GPU can't process the amount of frame render request sent by the CPU, i.e. you're GPU-thread bound (a faster GPU will help here but is not a panacea because the GPU thread is also a fair bit CPU dependent)
VPS < FPS would mean the GPU processes more frames than request. Where should these frames come from, though? You can't just magically create data from nowhere.


Dunno if that kinda answered your question, your point seemed like you wanted to have sth like the third case.

EDIT: To elaborate a bit more on the second case: Like skid said, the game code takes care of this case and what most console games end up doing is "slow-motion". It would technically be possible to make the game logic dependent on the frame rate, but console games usually run at full FPS anyway so they're hardcoded for a fixed frame rate.
My blog
Me on Twitter
My wishlist on Amazon.de
Find
Reply
11-11-2012, 09:08 PM (This post was last modified: 11-11-2012, 09:11 PM by rpglord.)
#7
rpglord Offline
Posting Freak
*****
Posts: 816
Threads: 14
Joined: Sep 2009
Thank you skid and neobrain for detailed explanation ! So I guess desyncing cpu and gpu is out of the question,because we would get black screen, but there is still interesting issue here...
(11-11-2012, 08:51 PM)neobrain Wrote: VPS = FPS means that the GPU can easily keep up with the amount of frame render requests sent by the CPU, i.e. you're CPU bound in this case
VPS > FPS means that the GPU can't process the amount of frame render request sent by the CPU, i.e. you're GPU-thread bound (a faster GPU will help here but is not a panacea because the GPU thread is also a fair bit CPU dependent)
So we have example 1 where VPS=FPS and example 2 where VPS>FPS.
Issue I am desribing is that we can have both of these examples on exactly same hardware in exactly same game in exactly same place.
Only thing which decides if it will be VPS=FPS or VPS>FPS is dolphin options idle skipping and vbeam, fact if gpu can keep up or not with number of frame render request sent by cpu doesn't seem to make any difference.
Or in other words,were I to disable vbeam and/or enable idle skiping, in that scene in SMG2 I already posted screenshoot of,I would get 34 FPS AND 34 VPS INSTEAD of 111 VPS !
This is the issue I am talking here...it still seems VPS is SLOWED DOWN somehow with default dolphin options..
I can make another screenshoot showing 34 FPS and 34 VPS if needed...
Find
Reply
11-11-2012, 09:41 PM (This post was last modified: 11-11-2012, 09:43 PM by rpglord.)
#8
rpglord Offline
Posting Freak
*****
Posts: 816
Threads: 14
Joined: Sep 2009
I will post another screenshoot with default settings..so we can have visual representation of this issue Smile
[Image: Xyhhul.jpg]
Its clearly visible here that VPS is slowed down,or bottlenecked, for no good reason Smile
This issue is what is causing stuttering in LLE sound on many systems and many games...
Find
Reply
11-12-2012, 09:00 AM
#9
NaturalViolence Offline
It's not that I hate people, I just hate stupid people
*******
Posts: 9,010
Threads: 24
Joined: Oct 2009
Quote:Issue I am desribing is that we can have both of these examples on exactly same hardware in exactly same game in exactly same place.

But not the same settings.

Quote:Only thing which decides if it will be VPS=FPS or VPS>FPS is dolphin options idle skipping and vbeam,

Incorrect. I have seen VPS > FPS happen with the default settings.

Quote:Or in other words,were I to disable vbeam and/or enable idle skiping, in that scene in SMG2 I already posted screenshoot of,I would get 34 FPS AND 34 VPS INSTEAD of 111 VPS !

That I can't explain.
"Normally if given a choice between doing something and nothing, I’d choose to do nothing. But I would do something if it helps someone else do nothing. I’d work all night if it meant nothing got done."  
-Ron Swanson

"I shall be a good politician, even if it kills me. Or if it kills anyone else for that matter. "
-Mark Antony
Website Find
Reply
11-12-2012, 09:32 AM (This post was last modified: 11-12-2012, 09:34 AM by rpglord.)
#10
rpglord Offline
Posting Freak
*****
Posts: 816
Threads: 14
Joined: Sep 2009
(11-12-2012, 09:00 AM)NaturalViolence Wrote: Incorrect. I have seen VPS > FPS happen with the default settings.


Usually it will only happen if game is coded to have lower fps.
For example,we all know that not all games run at 60 fps.A lot of games runs at 30 fps.
In that case, it will be 30 FPS / 60 VPS if computer is able to run the game at fullspeed.
But its fixed ratio of 1:2,game is programmed to run that way.
What I am talking here is "desynchronizing" two threads in a way, ( skid explained that true desynchronizing is imposible since we would get a black screen )
Basically letting the game code take care of sync issues intead forcibly slowing down jit/jitil recomplier.

Lets take my example where VPS>FPS by game design.
Now instead only allowing it to be 30/60 or 29/58 or 28/56 etc... allowing to for example be 29/60 20/60 15/60 etc..you get the point
Find
Reply
« Next Oldest | Next Newest »
Pages (3): 1 2 3 Next »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode