I have an older Iobit GB2.4 installer stashed away in my box account if anyone wants to try it..JazHaz wrote:I use the current Razer GB version. It's good, but I feel that the performance increase isn't as good as with the Iobit versions.Diziet Sma wrote:Now that development of GB has been taken over by Razer ("High-performance gaming hardware, software and systems. For Gamers. By Gamers.") I would expect it to get even better, although I haven't tried a Razer version myself yet.. something I must do, now I have a Win7-64bit install again..
twitchy graphics
Moderators: winston, another_commander, Getafix
- Diziet Sma
- ---- E L I T E ----
- Posts: 6312
- Joined: Mon Apr 06, 2009 12:20 pm
- Location: Aboard the Pitviper S.E. "Blackwidow"
Re: twitchy graphics
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
Re: twitchy graphics
Interesting. It seems to be related to the way your graphics card does vsync.
Mine - and yours under FRAPS - places the "wait for vsync" between "end drawing" and "begin update". Yours normally, however, places it between "begin draw" and "begin opaque pass". I wonder if that means there's then a bad interaction between the 60Hz cycle of your display and the 100Hz cycle of the Oolite main event loop that means occasionally one just misses the other.
Intry changing 'ti' to 0.005 (and if that doesn't help, 0.001) and see if that makes a difference. It might not do anything, but it's worth a try.
Mine - and yours under FRAPS - places the "wait for vsync" between "end drawing" and "begin update". Yours normally, however, places it between "begin draw" and "begin opaque pass". I wonder if that means there's then a bad interaction between the 60Hz cycle of your display and the 100Hz cycle of the Oolite main event loop that means occasionally one just misses the other.
In
src/Core/GameController.m
Code: Select all
- (void) startAnimationTimer
{
if (timer == nil)
{
NSTimeInterval ti = 0.01;
Re: twitchy graphics
0.005 made this happen:cim wrote:Interesting. It seems to be related to the way your graphics card does vsync.
Mine - and yours under FRAPS - places the "wait for vsync" between "end drawing" and "begin update". Yours normally, however, places it between "begin draw" and "begin opaque pass". I wonder if that means there's then a bad interaction between the 60Hz cycle of your display and the 100Hz cycle of the Oolite main event loop that means occasionally one just misses the other.
Insrc/Core/GameController.m
try changing 'ti' to 0.005 (and if that doesn't help, 0.001) and see if that makes a difference. It might not do anything, but it's worth a try.Code: Select all
- (void) startAnimationTimer { if (timer == nil) { NSTimeInterval ti = 0.01;
Code: Select all
01:16:17.784 [universe.profile.update]: Begin update
01:16:17.784 [universe.profile.update]: update:entity
01:16:17.784 [universe.profile.update]: updating linked lists
01:16:17.784 [universe.profile.update]: collision and shadow detection
01:16:17.784 [universe.profile.update]: clean up
01:16:17.784 [universe.profile.update]: JS Garbage Collection
01:16:17.784 [universe.profile.update]: Update complete
01:16:17.784 [universe.profile.draw]: Begin draw
01:16:17.784 [universe.profile.draw]: Begin opaque pass
01:16:17.784 [universe.profile.draw]: Begin translucent pass
01:16:17.785 [universe.profile.draw]: Begin HUD
01:16:17.785 [universe.profile.draw]: End drawing
01:16:17.799 [universe.profile.update]: Begin update
01:16:17.799 [universe.profile.update]: update:entity
01:16:17.799 [universe.profile.update]: updating linked lists
01:16:17.799 [universe.profile.update]: collision and shadow detection
01:16:17.799 [universe.profile.update]: clean up
01:16:17.799 [universe.profile.update]: JS Garbage Collection
01:16:17.799 [universe.profile.update]: Update complete
01:16:17.799 [universe.profile.draw]: Begin draw
01:16:17.799 [universe.profile.draw]: Begin opaque pass
01:16:17.799 [universe.profile.draw]: Begin translucent pass
01:16:17.800 [universe.profile.draw]: Begin HUD
01:16:17.800 [universe.profile.draw]: End drawing
01:16:17.815 [universe.profile.update]: Begin update
01:16:17.815 [universe.profile.update]: update:entity
01:16:17.815 [universe.profile.update]: updating linked lists
01:16:17.815 [universe.profile.update]: collision and shadow detection
01:16:17.815 [universe.profile.update]: clean up
01:16:17.815 [universe.profile.update]: JS Garbage Collection
01:16:17.815 [universe.profile.update]: Update complete
01:16:17.816 [universe.profile.draw]: Begin draw
01:16:17.816 [universe.profile.draw]: Begin opaque pass
01:16:17.816 [universe.profile.draw]: Begin translucent pass
01:16:17.816 [universe.profile.draw]: Begin HUD
01:16:17.816 [universe.profile.draw]: End drawing
...and keep it under lightspeed!
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
- Diziet Sma
- ---- E L I T E ----
- Posts: 6312
- Joined: Mon Apr 06, 2009 12:20 pm
- Location: Aboard the Pitviper S.E. "Blackwidow"
Re: twitchy graphics
Wow.. that looks solid as a rock!
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
Re: twitchy graphics
1ms to complete the main game loop? That's some impressive hardware you've got there. Right, that change can go into 1.79 source when I get a moment, then.Zieman wrote:0.005 made this happen:
While you're here with that hardware ... could you try the anti-aliasing hidden setting in 1.79? (In GNUStepDefaults, key "anti-aliasing", boolean value "1") It'll be interesting to see how much time that adds to the loop on a high-end PC.
Re: twitchy graphics
Ok, I'll check that out tonight.cim wrote:While you're here with that hardware ... could you try the anti-aliasing hidden setting in 1.79? (In GNUStepDefaults, key "anti-aliasing", boolean value "1") It'll be interesting to see how much time that adds to the loop on a high-end PC.
...and keep it under lightspeed!
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
-
- Quite Grand Sub-Admiral
- Posts: 6683
- Joined: Wed Feb 28, 2007 7:54 am
Re: twitchy graphics
Although I am fine with the change in the animation timer going in, I must report that it does not have the same effect for me. I can now reach 150fps in windowed mode with Griff's ships in, but still getting the main loop delay between the opaque and translucent passes and not at the start of the frame update, as Zieman's log shows. Additionally, the occasional stutter is still there. It is maybe not as evident as before, but this could be just my impression.
Could we somehow force the game to wait for refresh before starting a new frame? If so, maybe that could be the solution that works for all?
For reference, this is what I am getting with the animation timer set to 0.005 and Griff's ships, watching the station rotating in front of me:
Edit: Tried also to set the animation timer to 0.016666 (almost exact 60fps equivalent), just to cover the case of the game loop timer somehow missing the refresh rate, but it did not seem to change anything.
Edit2: For one reason or another (gfx card drivers most likely), it seems to work as it does for Zieman in full screen mode. The game appears to play smooth indeed, but I'd really like to hear the opinion of others once the animation timer change goes in.
Could we somehow force the game to wait for refresh before starting a new frame? If so, maybe that could be the solution that works for all?
For reference, this is what I am getting with the animation timer set to 0.005 and Griff's ships, watching the station rotating in front of me:
Code: Select all
09:31:58.023 [universe.profile.update]: Begin update
09:31:58.023 [universe.profile.update]: update:entity
09:31:58.024 [universe.profile.update]: updating linked lists
09:31:58.024 [universe.profile.update]: collision and shadow detection
09:31:58.024 [universe.profile.update]: clean up
09:31:58.024 [universe.profile.update]: JS Garbage Collection
09:31:58.024 [universe.profile.update]: Update complete
09:31:58.024 [universe.profile.draw]: Begin draw
09:31:58.024 [universe.profile.draw]: Begin opaque pass
09:31:58.039 [universe.profile.draw]: Begin translucent pass
09:31:58.040 [universe.profile.draw]: Begin HUD
09:31:58.041 [universe.profile.draw]: End drawing
Edit2: For one reason or another (gfx card drivers most likely), it seems to work as it does for Zieman in full screen mode. The game appears to play smooth indeed, but I'd really like to hear the opinion of others once the animation timer change goes in.
Code: Select all
...
14:00:13.626 [universe.profile.draw]: End drawing
14:00:13.636 [universe.profile.update]: Begin update
14:00:13.636 [universe.profile.update]: update:entity
14:00:13.637 [universe.profile.update]: updating linked lists
14:00:13.637 [universe.profile.update]: collision and shadow detection
14:00:13.637 [universe.profile.update]: clean up
14:00:13.637 [universe.profile.update]: JS Garbage Collection
14:00:13.637 [universe.profile.update]: Update complete
14:00:13.637 [universe.profile.draw]: Begin draw
14:00:13.637 [universe.profile.draw]: Begin opaque pass
14:00:13.641 [universe.profile.draw]: Begin translucent pass
14:00:13.641 [universe.profile.draw]: Begin HUD
14:00:13.642 [universe.profile.draw]: End drawing
14:00:13.652 [universe.profile.update]: Begin update
14:00:13.652 [universe.profile.update]: update:entity
14:00:13.653 [universe.profile.update]: updating linked lists
14:00:13.653 [universe.profile.update]: collision and shadow detection
14:00:13.653 [universe.profile.update]: clean up
14:00:13.653 [universe.profile.update]: JS Garbage Collection
14:00:13.653 [universe.profile.update]: Update complete
14:00:13.653 [universe.profile.draw]: Begin draw
14:00:13.654 [universe.profile.draw]: Begin opaque pass
14:00:13.657 [universe.profile.draw]: Begin translucent pass
14:00:13.657 [universe.profile.draw]: Begin HUD
14:00:13.658 [universe.profile.draw]: End drawing
14:00:13.669 [universe.profile.update]: Begin update
...
Re: twitchy graphics
Did I apply the hidden setting right?
.GNUstepDefaults:
also tried it as:
Both ways the results are similar:
.GNUstepDefaults:
Code: Select all
{
NSGlobalDomain = {
};
oolite = {
"Jameson-humbletrash" = "-29624";
"anti-aliasing" = 1;
"debug-settings-override" = {
};
fullscreen = YES;
};
}
Code: Select all
{
NSGlobalDomain = {
};
oolite = {
"Jameson-humbletrash" = "-29624";
"anti-aliasing" = YES;
"debug-settings-override" = {
};
fullscreen = YES;
};
}
Code: Select all
19:16:32.533 [universe.profile.update]: Begin update
19:16:32.533 [universe.profile.update]: update:entity
19:16:32.533 [universe.profile.update]: updating linked lists
19:16:32.533 [universe.profile.update]: collision and shadow detection
19:16:32.533 [universe.profile.update]: clean up
19:16:32.533 [universe.profile.update]: JS Garbage Collection
19:16:32.533 [universe.profile.update]: Update complete
19:16:32.533 [universe.profile.draw]: Begin draw
19:16:32.533 [universe.profile.draw]: Begin opaque pass
19:16:32.533 [universe.profile.draw]: Begin translucent pass
19:16:32.533 [universe.profile.draw]: Begin HUD
19:16:32.534 [universe.profile.draw]: End drawing
19:16:32.549 [universe.profile.update]: Begin update
19:16:32.549 [universe.profile.update]: update:entity
19:16:32.549 [universe.profile.update]: updating linked lists
19:16:32.549 [universe.profile.update]: collision and shadow detection
19:16:32.549 [universe.profile.update]: clean up
19:16:32.549 [universe.profile.update]: JS Garbage Collection
19:16:32.549 [universe.profile.update]: Update complete
19:16:32.549 [universe.profile.draw]: Begin draw
19:16:32.549 [universe.profile.draw]: Begin opaque pass
19:16:32.549 [universe.profile.draw]: Begin translucent pass
19:16:32.550 [universe.profile.draw]: Begin HUD
19:16:32.550 [universe.profile.draw]: End drawing
19:16:32.565 [universe.profile.update]: Begin update
19:16:32.565 [universe.profile.update]: update:entity
19:16:32.565 [screenshot]: Saved screen shot "oolite-003.png" (1920 x 1080 pixels).
19:16:33.053 [universe.profile.update]: updating linked lists
19:16:33.053 [universe.profile.update]: collision and shadow detection
19:16:33.053 [universe.profile.update]: clean up
19:16:33.053 [universe.profile.update]: JS Garbage Collection
19:16:33.053 [universe.profile.update]: Update complete
19:16:33.053 [universe.profile.draw]: Begin draw
19:16:33.053 [universe.profile.draw]: Begin opaque pass
19:16:33.053 [universe.profile.draw]: Begin translucent pass
19:16:33.054 [universe.profile.draw]: Begin HUD
19:16:33.054 [universe.profile.draw]: End drawing
19:16:33.068 [universe.profile.update]: Begin update
19:16:33.068 [universe.profile.update]: update:entity
19:16:33.068 [universe.profile.update]: updating linked lists
19:16:33.068 [universe.profile.update]: collision and shadow detection
19:16:33.068 [universe.profile.update]: clean up
19:16:33.068 [universe.profile.update]: JS Garbage Collection
19:16:33.069 [universe.profile.update]: Update complete
19:16:33.069 [universe.profile.draw]: Begin draw
19:16:33.069 [universe.profile.draw]: Begin opaque pass
19:16:33.069 [universe.profile.draw]: Begin translucent pass
19:16:33.069 [universe.profile.draw]: Begin HUD
19:16:33.069 [universe.profile.draw]: End drawing
19:16:33.084 [universe.profile.update]: Begin update
19:16:33.084 [universe.profile.update]: update:entity
19:16:33.084 [universe.profile.update]: updating linked lists
19:16:33.084 [universe.profile.update]: collision and shadow detection
19:16:33.084 [universe.profile.update]: clean up
19:16:33.084 [universe.profile.update]: JS Garbage Collection
19:16:33.084 [universe.profile.update]: Update complete
19:16:33.084 [universe.profile.draw]: Begin draw
19:16:33.084 [universe.profile.draw]: Begin opaque pass
19:16:33.084 [universe.profile.draw]: Begin translucent pass
19:16:33.084 [universe.profile.draw]: Begin HUD
19:16:33.085 [universe.profile.draw]: End drawing
19:16:33.099 [universe.profile.update]: Begin update
19:16:33.099 [universe.profile.update]: update:entity
19:16:33.099 [universe.profile.update]: updating linked lists
19:16:33.099 [universe.profile.update]: collision and shadow detection
19:16:33.099 [universe.profile.update]: clean up
19:16:33.099 [universe.profile.update]: JS Garbage Collection
19:16:33.099 [universe.profile.update]: Update complete
19:16:33.099 [universe.profile.draw]: Begin draw
19:16:33.100 [universe.profile.draw]: Begin opaque pass
19:16:33.100 [universe.profile.draw]: Begin translucent pass
19:16:33.100 [universe.profile.draw]: Begin HUD
19:16:33.100 [universe.profile.draw]: End drawing
19:16:33.115 [universe.profile.update]: Begin update
19:16:33.115 [universe.profile.update]: update:entity
19:16:33.116 [universe.profile.update]: updating linked lists
19:16:33.116 [universe.profile.update]: collision and shadow detection
19:16:33.116 [universe.profile.update]: clean up
19:16:33.116 [universe.profile.update]: JS Garbage Collection
19:16:33.116 [universe.profile.update]: Update complete
19:16:33.116 [universe.profile.draw]: Begin draw
19:16:33.116 [universe.profile.draw]: Begin opaque pass
19:16:33.116 [universe.profile.draw]: Begin translucent pass
19:16:33.116 [universe.profile.draw]: Begin HUD
19:16:33.116 [universe.profile.draw]: End drawing
...and keep it under lightspeed!
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
Re: twitchy graphics
What I don't understand, is why V-sync seems to be ON no matter what settings I use in MyOpenGLView.m or NVidia control panel.
Does Oolite have a hidden .GNUstepsDefault setting for V-sync too?
Or maybe Oolite reads monitor refresh rate & forces that to be used?
Does Oolite have a hidden .GNUstepsDefault setting for V-sync too?
Or maybe Oolite reads monitor refresh rate & forces that to be used?
...and keep it under lightspeed!
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
Re: twitchy graphics
Anti-aliasing settings look fine. I'm impressed that it seems to have no effect whatsoever on rendering times for you...
Nothing like that, so far as I know. That line SDL_GL is the only one where Oolite sets vsync, and if I turn that off and the Nvidia settings to off, I get no vsync.Zieman wrote:What I don't understand, is why V-sync seems to be ON no matter what settings I use in MyOpenGLView.m or NVidia control panel.
Does Oolite have a hidden .GNUstepsDefault setting for V-sync too?
Or maybe Oolite reads monitor refresh rate & forces that to be used?
- Cody
- Sharp Shooter Spam Assassin
- Posts: 16081
- Joined: Sat Jul 04, 2009 9:31 pm
- Location: The Lizard's Claw
- Contact:
Re: twitchy graphics
Same here... if V-sync is off in the Nvidia control panel, it's off in-game.
Zieman... you have given that build its own profile in the Nvidia control panel, yes?
Zieman... you have given that build its own profile in the Nvidia control panel, yes?
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
And any survivors, their debts I will certainly pay. There's always a way!
Re: twitchy graphics
I would have thought so. For every other game this is true.Cody wrote:Same here... if V-sync is off in the Nvidia control panel, it's off in-game.
Yes I have. And I have tried setting both that profile and the global settings to no V-sync, to no avail. I even tried to rename my 'regular' Oolite folder to something else, in case it interferes. And applying same V-sync off settings to all Oolite executables' profiles.Cody wrote:Zieman... you have given that build its own profile in the Nvidia control panel, yes?
...and keep it under lightspeed!
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
-
- Quite Grand Sub-Admiral
- Posts: 6683
- Joined: Wed Feb 28, 2007 7:54 am
Re: twitchy graphics
Does "every other game" include games running under OpenGL or only ones running under DirectX? Your driver issue could be OpenGL-specific.Zieman wrote:I would have thought so. For every other game this is true.Cody wrote:Same here... if V-sync is off in the Nvidia control panel, it's off in-game.
Re: twitchy graphics
Yes it does, FooBillard for example (Free OpenGL billiard game).another_commander wrote:Does "every other game" include games running under OpenGL or only ones running under DirectX? Your driver issue could be OpenGL-specific.Zieman wrote:I would have thought so. For every other game this is true.Cody wrote:Same here... if V-sync is off in the Nvidia control panel, it's off in-game.
...and keep it under lightspeed!
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
Re: twitchy graphics
Might still be OpenGL / NVidia issue, OpenGL -stuff behaves differently than DirectX -stuff.
DirectX:
- benchmarks can reach up to 1000+ FPS
- older games can have ridiculous FPS too (like Rally Trophy - biggest number I saw in the menus was over 6000 FPS, game engine seems locked at 250 FPS max)
- even Elite: Dangerous goes up to several hundred at times.
OpenGL:
- Oolite seems to be locked to 56-63 FPS (FRAPS reports almost stable 60, very rarely drops to 59)
- FooBillard seems to be locked at 90 FPS (FRAPS, might vary similarly to Oolite, but FRAPS doesn't refresh often enough to show that)
- FurMark 1.12.0 shows 70 FPS (1920x1080 preset with no AA, min 70 & max 72)
- FurMark 1.12.0 shows 110 FPS (1280x720 preset with no AA, min 109 & max 112)
DirectX:
- benchmarks can reach up to 1000+ FPS
- older games can have ridiculous FPS too (like Rally Trophy - biggest number I saw in the menus was over 6000 FPS, game engine seems locked at 250 FPS max)
- even Elite: Dangerous goes up to several hundred at times.
OpenGL:
- Oolite seems to be locked to 56-63 FPS (FRAPS reports almost stable 60, very rarely drops to 59)
- FooBillard seems to be locked at 90 FPS (FRAPS, might vary similarly to Oolite, but FRAPS doesn't refresh often enough to show that)
- FurMark 1.12.0 shows 70 FPS (1920x1080 preset with no AA, min 70 & max 72)
- FurMark 1.12.0 shows 110 FPS (1280x720 preset with no AA, min 109 & max 112)
...and keep it under lightspeed!
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM
Friendliest Meteor Police that side of Riedquat
Far Arm ships
Z-ships
Baakili Far Trader
Tin of SPAM