[haiku-development] Re: Anyone seen this - Vesa delay

  • From: Jan Klötzke <jan.kloetzke@xxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 11 Jul 2008 15:03:57 +0200

Stephan Assmus <superstippi@xxxxxx> wrote:
> As I wrote earlier, enlarging the space for vm86_prepare fixes the issue
> for me that I cannot switch resolutions. However, the change also brings a
> significant slowdown in graphics speed. I am assuming that without the
> change, any call to vesa_set_display_mode() fails, and the MTRR setup is
> not triggered. In that case, the original mapping is probably still active
> (I assume) and my graphics speed is very high. With the patch, the MTRR
> setup is also triggered, but something is wrong and the graphics speed
> degrades considerably. So far my theory at least... :-)

The problem is that each time vesa_set_display_mode() is called the frame 
buffer is remapped and the memory type is not updated. It seems that a mode 
switch also takes place when the app server starts. This could explain your 
degraded performance because the MTRR region is removed when the area is 
deleted. So the missing part is simply to set the memory type again in the 
vesa driver or not remap the framebuffer at all...

/Jan


Other related posts: