Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (739)
Games in Android Showcase (224)
games submitted by our members
Games in WIP (820)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  VSYNC: When does FlipBufferStrategy really block?  (Read 2267 times)
0 Members and 1 Guest are viewing this topic.
Offline ppeccin

Junior Devvie


Medals: 4
Projects: 1



« Posted 2005-10-29 03:22:54 »

Hi,

Does anybody knows WHEN FlipBufferStrategy blocks the therad waiting for the vblank?
I'm doing some tests and I'm pretty sure that show() does not block, even when using only 2 buffers.
It seems that show() returns imediately, and the next drawImage(), for instance, is the method that really blocks.

I want to use vsync, and I have to know the exact blocking rule used by FlipBufferStragey in order to prepare the code to run either in full screen and windowed modes.

Thanks, and sorry about my english!

Offline ppeccin

Junior Devvie


Medals: 4
Projects: 1



« Reply #1 - Posted 2005-10-30 00:49:20 »

Anyone pleeeease !!!    Undecided
Offline Riven
Administrator

« JGO Overlord »


Medals: 1313
Projects: 4
Exp: 16 years


Hand over your head.


« Reply #2 - Posted 2005-10-30 01:31:24 »

Same when you're doing hardware-accelerated rendering through OpenGL. The behaviour is implementation dependant, so you can't rely on anything.

You might want to draw a tiny (1x1) image just after you flipped your buffers, so that you cover both cases.

Hi, appreciate more people! Σ ♥ = ¾
Learn how to award medals... and work your way up the social rankings!
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline ppeccin

Junior Devvie


Medals: 4
Projects: 1



« Reply #3 - Posted 2005-10-30 02:01:22 »

Humm.

You mean there is no constant rule for the blocking mechanism?
So if I use more than 2 buffers (3, for instance), it would be impossible to predict when the thread will be blocked?

I think that using the vsync block is a very good timing mechanism, but if the blocking occurs in an unpredictable way.....

Thanks for your reply.
Offline kevglass

« JGO Spiffy Duke »


Medals: 319
Projects: 25
Exp: 22 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #4 - Posted 2005-10-30 08:49:43 »

As far as I've seen vsync isn't supported in window mode at all. If anything does block it would be show() - however this being AWT it could well be threaded in the background with show() returning immediately and a thread in the background waiting on vsync before swapping the data you've pushed across (though I would doubt this would work as well as Java2D does).

Kev

Offline ppeccin

Junior Devvie


Medals: 4
Projects: 1



« Reply #5 - Posted 2005-10-30 14:53:20 »

As far as I've seen vsync isn't supported in window mode at all.
You're right, it isn't.

Quote
If anything does block it would be show() - however this being AWT it could well be threaded in the background with show() returning immediately and a thread in the background waiting on vsync before swapping the data you've pushed across
Humm. Could be, but the BufferStrategy could not allow one to draw anything to the backBuffer until the flip is completed in the background. Maybe that's why I get blocked in a drawImage() call...
Could anyone confirm that?

Quote
(though I would doubt this would work as well as Java2D does).
Huh
Didn't understant that...

Thanks
Offline campbell

Junior Devvie




Java games rock!


« Reply #6 - Posted 2005-10-30 19:41:53 »

As far as I've seen vsync isn't supported in window mode at all.
You're right, it isn't.

Actually, when the OGL-based Java2D pipeline is enabled, flipping is vsynced, even in non-fullscreen mode (unless you've explicitly disabled that behavior in the driver settings).

Chris
Offline ppeccin

Junior Devvie


Medals: 4
Projects: 1



« Reply #7 - Posted 2005-10-30 22:57:17 »

 Shocked

I thought page flipping was impossible in windowed mode...
What about the other apps' windows in the desktop? How can they correctly coexist in the framebuffer as the visible buffer pointer is constantly changing?

But ok... If you're telling me that it works, it works! I am the noob here!

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 
Ecumene (61 views)
2017-09-30 02:57:34

theagentd (82 views)
2017-09-26 18:23:31

cybrmynd (189 views)
2017-08-02 12:28:51

cybrmynd (189 views)
2017-08-02 12:19:43

cybrmynd (194 views)
2017-08-02 12:18:09

Sralse (206 views)
2017-07-25 17:13:48

Archive (770 views)
2017-04-27 17:45:51

buddyBro (904 views)
2017-04-05 03:38:00

CopyableCougar4 (1454 views)
2017-03-24 15:39:42

theagentd (1331 views)
2017-03-24 15:32:08
List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05

SF/X Libraries
by SkyAphid
2017-03-02 06:38:56

SF/X Libraries
by SkyAphid
2017-03-02 06:38:32

SF/X Libraries
by SkyAphid
2017-03-02 06:38:05

SF/X Libraries
by SkyAphid
2017-03-02 06:37:51
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!