I had a project I was sending out to potential contractors, to display a 320×200 video feed based off images from SQL. My performance requirement was 30 FPS for 4 videos, 15 FPS for 8. One company wrote:
“For $5000, we can
implement the proof of concept suggested by my senior engineers (see below)…
For example, I had two of my senior engineers review the RFP. They both zeroed in on a possible bottleneck between animating the user interface at 30fps vs. retrieval from the database. It is their recommendation that a *proof of concept* be implemented that indentified the bottleneck (if any) so that the appropriate infrastructure could be implemented to achieve your performance goals.”
Up until that point, I had only used QT for a few days, had never written OpenGL before. I’m not a graphics programmer.
I did it myself, in a day, by reading the SQL in a thread, buffering multiple rows at a time, bypassing the QT calls to skip code that doesn’t apply for single frame videos, and using glTexImage2D to generate the texture and glTexSubImage2D to update the texture.
I didn’t have to modify the QT source, or come up with new data structures, or call an expert. Just pick the low hanging fruit. For all I know it could be twice as fast again if I really knew what I was doing.
Take it as a word of warning when dealing with fat contracting firms, more used to dealing with Cisco than small businesses. These guys think nothing of asking for 2K a day, spending a week on what would take a motivated hungry programmer a few hours. Meeting after meeting, week after week, charging you for that time, just to come up with a price you’d reject out of hand.