hi, i have a suggestion for the directfb framework. currently directfb supports double buffering with a front_buffer and a back_buffer and when a surface_lock is called the back_buffer is locked and the new frame gets written to the back_buffer. so with the current system decoding of video works likes this, a frame gets decoded into a buffer in system memory and then it is copied to the back_buffer and then flip and then the next frame starts. so for each frame there are 2 accesses, one for decoding and one for copying to the framebuffer.
in a memory bandwidth limited system (such as a shared memory system) this is a performace bottleneck as cpu time is being spent on copying frames. a more efficient way is to decode the frame straight into the framebuffer, it will only be more efficient if we only write to the framebuffer and not read from it. this way we skip the frame copy completely freeing up the cpu to do other things. depending on the video codec, we sometimes need to buffer our output so we need to have multiple "back_buffers" if you like and we need to be able to flip these back_buffers to the front_buffer. i would like to implement this for directfb and currently there are 2 ways to go about it (i haven't thought of any more) and both of them will change the directfb API so i would like to have some feedback. the first method is to implement multiple buffer support into directfb comletely so when flip is called we can tell if which back_buffer to flip. this way is quite intrusive and can be messy to implement. the second way is to get the application to manage all the back_buffers and add a function to the directfb API called SetBackBuffer which sets the back_buffer in directfb to a back_buffer managed by the application. this method is less intrusive as only one function call is added and all the buffer management is done in the app which is probably better as not all apps need multiple back_buffers. please let me know what you guys think and whether you think directfb needs this new feature and which method you think is better. cheers, alex -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe directfb-dev" as subject.
