From: Tao, Qian (�+�� IES)
Date: Sun, 17 Aug 2003 15:04:31 +0800
the relationship between framebuffer and starting speed----a newbie question
I want to make Xserver start more fast.
Why? What is the point? The typical X server starts once and runs for days, weeks, or months. Shaving a second off of initialization time is nothing but a waste of optimization time. Concentrate on things that are done over and over: that's where you make your optimization wins.
And I study the code in dix/main.c,and reduce some code in Keyboard and Mouse initialization.I find that it takes only 0.5 second from the start of main.c to the dispatch() function(dix/main.c).
But when I type in XFree86,It seems that from the the typing-XFree86 to the bitmap comes out on screen takes me 2~3 second.
I think that most time is spent in from RAM to Screen.
What makes you think so? It is true that copying a screen-sized bitmap to your frame buffer will take time, but you would need to do some profiling to know for sure. It's probably not more than tens of milliseconds. Some drivers use I/O ports to write to the VGA-compatible registers on their chips. I/O ports on the x86 are notoriously slow. Some drivers actually have to delay at certain points to allow the hardware to initialize itself. It also takes time to load XFree86 and all of its drivers from disk: there's a lot of code to load and link.
But I also hear that framebuffer doesn't support acclerration and it doesn't work if I play DVD. In fact I don't know the exact meaning of framebuffer.
The word "frame buffer" refers to the area in the video card's memory that contains the screen image. The frame buffer driver is a basic driver that treats that memory as a simple, dumb bitmap with no acceleration. It is a way to support graphics chips that do not yet have accelerated drivers.
Can you explain to me,the relationship between framebuffer and starting speed ,and If framebuffer can support accleration.
No, the frame buffer driver does not do any acceleration. It is completely generic: all it gets is a memory pointer. It does not know what kind of graphics chip it has, so cannot know how to use the acceleration features of any single chip.
- Tim Roberts, [EMAIL PROTECTED]
Providenza & Boekelheide, Inc.
