B+ slows dramatically with 2 monitors.
BlitzPlus Forums/BlitzPlus Programming/B+ slows dramatically with 2 monitors.
| ||
Blitz+ canvas operations slow in dual screen. I’ve noticed that Blitz Plus canvas operations (Displaying text or graphics on a canvas) are very slow if you move the app window to a second monitor. I have a favor to ask. If you have two monitors can you run my test app and see if the number at the bottom changes as you move the window between monitors. I get a dramatic difference. The app is 100's of times slower if the window is in on the 2nd monitor. Any ideas on if this is a Blitz+ problem or a graphics card problem? I have a Matrox G550. Identical resolutions , both 16bit color, different refresh rates. Thanks a lot for any help here! debugwindow=CreateWindow( "debug",0,0,900,700,main,3) debugcanvas=CreateCanvas(10,10,800,600,debugwindow) SetBuffer CanvasBuffer(debugcanvas) num=0 timetemp#=MilliSecs() While WaitEvent(1)<>$803 For f=1 To 100 Color Rand(0,255),Rand(0,255),Rand(0,255) Text Rnd(0,700),Rnd(0,500),Chr(Rand(50,80)) Next num=num+1 If timetemp- MilliSecs()<-1000 Cls Color 255,255,255 Text 0,550,num num=0 timetemp#=MilliSecs() EndIf FlipCanvas debugcanvas Wend End |
| ||
Sorry I don't have 2 monitors to try it with and I'm not that well up on B+ app stuff, but I thought 2 monitors just appeared internally as if it was a single screen. I reckon it might be the fact that you are using FlipCanvas with 2 monitors running at diff speeds. Can you turn off the vertical blanking wait on Flipcanvas? |
| ||
RAM, yes you can do a FlipCanvas debugcanvas,False but it's still the same. Nice theory though. The window can be spread across two screens but if any part of the canvas touches the other screen it slows down. |
| ||
Well I'm all out of ideas! |
| ||
Yup I noticed this as well :/ |
| ||
yup same here, with three monitors.. the left and right ones slow down like hell, the middle one always works fine. Tracer |
| ||
This is because generally on multiple monitor systems only the primary monitor is hardware accelerated. This is changing, but it's not widespread yet... |
| ||
I discovered this same effect a few days ago and was going to play with SetGfxDriver to see how to manage the delay... but I haven't got back to it yet. I guess that's not going to have much effect on a GUI app though. |
| ||
Thanks all for the input. On the Matrox G550 - my card - both are h/w accelerated but the Gendacs run at slightly different speeds - primary is faster. But all I'm doing is sending some text to a canvas - like just about every Windows app does. I can run just about any app in the 2nd monitor and never notice any slowdown. This has to be an architectural problem with Blitz+ canvases. POedBoy & Tracer would you mind telling me what gfx card you're using. Thanks! |
| ||
A canvas is an accelerated surface. Doesn't matter what you're sending to it, it's hardware accelerated. If it's on the second monitor, it's going to slow down. If you were just using edit and button controls, no, you wouldn't see any slowdown... |
| ||
Fixed it. What I did was to draw everything to the imagebuffer and then pop the image onto the canvas. This speeded things up a lot and runs nice again. I'll have to rejig my app a fair bit but at least it's fixed. Thanks for all the input that led me to think up a solution! Cheers |
| ||
In the interests of fairness I just want to add to this long dead thread. B+ does work perfectly with dual monitors. The problem was with the crappy Matrox drivers. *sniff* sorry B+, how could I ever think it was your fault. |