Re: ScreenSaverView
Re: ScreenSaverView
- Subject: Re: ScreenSaverView
- From: Dylan Neild <email@hidden>
- Date: Wed, 25 Sep 2002 23:22:31 -0400
This is heavily understated. :)
I popped a PCI video card (RAGE 128) into my machine and gave my saver
a hook first hand. The screen saver turns off a lot of features when it
detects a Rage128 OpenGL engine, and running on the Rage128 (PCI or
AGP) seems a-ok with my code (though not as pretty as with the RADEON
8500, for sure).
With a RADEON 8500 and a Rage128 installed, it is less then half as
fast to drive both monitors... a lot less. Maybe like 10% of normal
framerates on both cards. Maybe even less. This is clearly not just an
issue of the CPU being worked too heavily (my application uses 5-10%
CPU when on a single screen).. it's clearly some sort of locking or
synching issue in the apple OpenGL implementation, as you suggest.
I don't write in carbon, so I can't tell if this is an OpenGL layer
issue, or a cocoa NSOpenGL* issue.
In the meantime, blacking out all the displays and drawing to just the
main monitor works fine for me.
Incidentally, I don't think you need to instantiate an
OpenGLView/Context for each extra display. ScreenSaverViews
implementation of either initWithFrame or startAnimation causes the
screen to fade to black... with a little experimentation, you could
just have the relevent method _only_ call the associated super method
when a non-main monitor is detected... at least, as far as I can tell.
Isn't much, but saves the overhead (as slight as it is, granted) of
having an extra OpenGL context kicking around. :)
Dylan
On Tuesday, September 24, 2002, at 03:41 PM, Christopher Holland wrote:
Each OpenGLView will get an initWithFrame call. This is normal, as you
have noted.
So, the problem is that it is trying to draw to 2 or more screens at
one time (I am guessing that it is a synching issue for the
contexts...but I have not idea really, it is in Apple's code) and is
slowing down.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.