comparison mac/dw.m @ 873:fe7a8dc9392c

Dynamically set the video memory backing location, only if there is a render control. So we don't waste video memory on windows that won't get benefit from it.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Tue, 05 Apr 2011 00:35:31 +0000
parents 13debcad9757
children 7b2750744552
comparison
equal deleted inserted replaced
872:13debcad9757 873:fe7a8dc9392c
2197 else if([handle isMemberOfClass:[DWRender class]]) 2197 else if([handle isMemberOfClass:[DWRender class]])
2198 { 2198 {
2199 DWRender *render = (DWRender *)handle; 2199 DWRender *render = (DWRender *)handle;
2200 NSSize oldsize = [render size]; 2200 NSSize oldsize = [render size];
2201 NSSize newsize = [render frame].size; 2201 NSSize newsize = [render frame].size;
2202 NSWindow *window = [render window];
2203
2204 if([window preferredBackingLocation] != NSWindowBackingLocationVideoMemory)
2205 {
2206 [window setPreferredBackingLocation:NSWindowBackingLocationVideoMemory];
2207 }
2202 2208
2203 /* Eliminate duplicate configure requests */ 2209 /* Eliminate duplicate configure requests */
2204 if(oldsize.width != newsize.width || oldsize.height != newsize.height) 2210 if(oldsize.width != newsize.width || oldsize.height != newsize.height)
2205 { 2211 {
2206 [render setSize:newsize]; 2212 [render setSize:newsize];
6301 initWithContentRect:frame 6307 initWithContentRect:frame
6302 styleMask:(flStyle | NSTexturedBackgroundWindowMask) 6308 styleMask:(flStyle | NSTexturedBackgroundWindowMask)
6303 backing:NSBackingStoreBuffered 6309 backing:NSBackingStoreBuffered
6304 defer:false]; 6310 defer:false];
6305 6311
6306 [window setPreferredBackingLocation:NSWindowBackingLocationVideoMemory];
6307 [window setTitle:[ NSString stringWithUTF8String:title ]]; 6312 [window setTitle:[ NSString stringWithUTF8String:title ]];
6308 6313
6309 DWView *view = [[DWView alloc] init]; 6314 DWView *view = [[DWView alloc] init];
6310 6315
6311 [window setContentView:view]; 6316 [window setContentView:view];