Click here to Skip to main content
15,889,116 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: can anyone give me solution for this in java or c Pin
Gary R. Wheeler8-May-21 7:31
Gary R. Wheeler8-May-21 7:31 
GeneralRe: can anyone give me solution for this in java or c Pin
Cp-Coder8-May-21 7:34
Cp-Coder8-May-21 7:34 
GeneralRe: can anyone give me solution for this in java or c Pin
Mycroft Holmes8-May-21 12:54
professionalMycroft Holmes8-May-21 12:54 
AnswerRe: can anyone give me solution for this in java or c Pin
Richard Andrew x648-May-21 1:54
professionalRichard Andrew x648-May-21 1:54 
GeneralRe: can anyone give me solution for this in java or c Pin
OriginalGriff8-May-21 2:13
mveOriginalGriff8-May-21 2:13 
AnswerRe: can anyone give me solution for this in java or c Pin
megaadam8-May-21 3:38
professionalmegaadam8-May-21 3:38 
AnswerRe: can anyone give me solution for this in java or c Pin
abmv8-May-21 4:56
professionalabmv8-May-21 4:56 
PraiseI feel pretty awesome right now Pin
honey the codewitch7-May-21 10:37
mvahoney the codewitch7-May-21 10:37 
I managed to optimize the elephant out of my GFX library. The drawing routines use run lengths to plot horizontal and vertical lines instead of pixels at a time for less bus traffic. At the driver level I also cache the address window of the display device for reuse so I don't have to set it every time. I've overclocked the display from 10MHz to 26MHz with no issues, and the thing is just running like a little champ.

The only issue is I'm generating so much bus traffic so quickly that I'm tickling the watchdog timer and making it puke to the serial port. Fortunately this doesn't happen when doing large DMA transfers like bitmaps, or extremely large buffering batches like screen fills.

Still, I've managed to impress myself, and I don't impress easily. This library smokes on an ESP32. It's ridiculous.

Here's the video of my mess. Ahh wow draw::bitmap_async<>() is just hot! Asynchronous DMA transfer goodness! That's how I'm doing full frame animation on this little monster:

latest gfx on an esp32 w ili9341 display - YouTube[^]


C++
++frame;
for (int y=0; y<240; y+=PARALLEL_LINES) {
    //Calculate lines.
    pretty_effect_calc_lines(lines[calc_line], y, frame, PARALLEL_LINES);
    // wait for the last frame to finish. Don't need this unless transactions are > 7
    if(-1!=sending_line)
        draw::wait_all_async(lcd);
    //Swap sending_line and calc_line
    sending_line=calc_line;
    calc_line=(calc_line==1)?0:1;
    //Send the lines we currently calculated. This call allows for max throughput
    // draw::bitmap_async works better the larger the transfer size. Here ours is pretty big
    const lines_bmp_type& sending_bmp = line_bmps[sending_line];
    rect16 src_bounds = sending_bmp.bounds();
    draw::bitmap_async(lcd,(srect16)src_bounds.offset(0,y),sending_bmp,src_bounds);
    //The line set is queued up for sending now; the actual sending happens in the
    //background. We can go on to calculate the next line set as long as we do not
    //touch lines[sending_line] or the bitmap for it; 
    // the SPI sending process is still reading from that.
}

Real programmers use butterflies

GeneralRe: I feel pretty awesome right now Pin
raddevus7-May-21 10:57
mvaraddevus7-May-21 10:57 
GeneralRe: I feel pretty awesome right now Pin
honey the codewitch7-May-21 12:24
mvahoney the codewitch7-May-21 12:24 
GeneralMust See: AI guided pool stick PinPopular
raddevus7-May-21 10:24
mvaraddevus7-May-21 10:24 
GeneralRe: Must See: AI guided pool stick Pin
PIEBALDconsult8-May-21 3:55
mvePIEBALDconsult8-May-21 3:55 
GeneralThought of the Day Pin
OriginalGriff7-May-21 4:31
mveOriginalGriff7-May-21 4:31 
GeneralRe: Thought of the Day Pin
W Balboos, GHB7-May-21 4:36
W Balboos, GHB7-May-21 4:36 
GeneralRe: Thought of the Day Pin
Daniel Pfeffer7-May-21 5:53
professionalDaniel Pfeffer7-May-21 5:53 
GeneralRe: Thought of the Day Pin
megaadam7-May-21 6:05
professionalmegaadam7-May-21 6:05 
GeneralRe: Thought of the Day Pin
Gary R. Wheeler8-May-21 7:33
Gary R. Wheeler8-May-21 7:33 
GeneralRe: Thought of the Day Pin
Jacquers7-May-21 6:25
Jacquers7-May-21 6:25 
GeneralRe: Thought of the Day Pin
Richard Andrew x647-May-21 9:23
professionalRichard Andrew x647-May-21 9:23 
GeneralRe: Thought of the Day Pin
Ron Anders7-May-21 9:53
Ron Anders7-May-21 9:53 
GeneralRe: Thought of the Day Pin
Slow Eddie8-May-21 12:50
professionalSlow Eddie8-May-21 12:50 
GeneralSo this is what MBAs learn at University Pin
raddevus7-May-21 4:25
mvaraddevus7-May-21 4:25 
GeneralRe: So this is what MBAs learn at University PinPopular
Slacker0077-May-21 4:36
professionalSlacker0077-May-21 4:36 
GeneralRe: So this is what MBAs learn at University Pin
Gary R. Wheeler8-May-21 7:41
Gary R. Wheeler8-May-21 7:41 
GeneralRe: So this is what MBAs learn at University Pin
Erik Burd10-May-21 8:14
professionalErik Burd10-May-21 8:14 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.