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

  • From: Stephan Assmus <superstippi@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 11 Jul 2008 16:46:14 +0200

Jan Klötzke wrote:
> 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...

Thanks for the info so far. I have searched a bit in the VESA driver and 
the platform boot code, but I don't find the place where the write 
combining mode is specified/setup for the original framebuffer area.

Best regards,
-Stephan

Other related posts: