Main Site Documentation

FEZ Touch : GetPixel and Fez Touch performance


#1

Hi all

I’m using the library provided for the Fez Touch (on Panda II). It works great.

In order to “improve” the performance when drawing a moving point, I’d like to be able to put back what was at X,Y before I use SetPixel to draw my point.

So, the question is quite simple : How to I get the color of a pixel at X,Y location ?

Question 2: FillRectangle seems to be much more efficient than DrawLine method. Am I write ? Why this ?

Question 3: What tricks could be use in order to “increase” the drawing performance ? (don’t just answer RLP please :slight_smile: )… I’m drawing a Grid (two loop to draw, one for vertical, the other one for horizontal) and I must admit that the drawing, even if it is quite fast, is not “immediatly” done. By that, I mean that when drawing 10 lines, I can see the 10 lines appearing one by one. I know I’m not using a “3 Ghz” graphic processor, but, is there a way to display 10 lines almost at the same time, so the user won’t have the impression that the board is “kind a slow” ?

Thanks


#2
  1. I don’t think GetPixel is in the standard library; though it is in Spiral.

  2. It’s more efficient because FillRectangle does not have to do any maths, whereas DrawLine does

  3. RLP actually doesn’t do much to boost it unless you doing alpha-blending. For the effect you’re looking for you can look at the LCD’s documentation, send it a do not flush command, write your lines, then tell it to flush again.


#3

For question 3, in my opinion, we should make a buffer image, draw everything you want here and just flush to LCD once time when you are done! hope this will help :))


#4

So the flush command is like drawing to an off screen buffer?

I should haul out my old Fastgraph code from DOS days ;D

Hey! It looks like Ted’s still in business (the guy that wrote FastGraph). Maybe he could write some Panda code :slight_smile:

== John ==


#5

@ Dat Panda doesn’t have nearly the amount of RAM it would need to do a buffer; it doesn’t even have enough RAM to hold a single full screen image; which is why full screen images must be streamed up.