lvgl / lv_drivers

TFT and touch pad drivers for LVGL embedded GUI library
https://docs.lvgl.io/master/porting/index.html
MIT License
312 stars 313 forks source link

6.0 driver for fbdev? #57

Closed xqdd closed 5 years ago

kisvegabor commented 5 years ago

I've just updated the driver but haven't tested yet: f07f7a3

Is it working well?

xqdd commented 5 years ago

How to init lv_display_drv_t 's buffer?

https://blog.littlevgl.com/2018-01-03/linux_fb is out of date

kisvegabor commented 5 years ago

I'll update it soon.

Until that see https://docs.littlevgl.com/en/html/porting/display.html

xqdd commented 5 years ago

ok, thanks for all your work!

xqdd commented 5 years ago

And I found that the mouse movement is pretty slow, How to increase read frequency ( image ) or just listen to the changes rather than roll polling

kisvegabor commented 5 years ago

Lower LV_INDEV_DEF_READ_PERIOD in lv_conf.h.

Let me know if the fb driver is not working.

xqdd commented 5 years ago

ok, I will tell you when I figure out what the buffer is, now it's NULL then I got a segment fault image

kisvegabor commented 5 years ago

Have you initialized the driver as shown in the documentation?

    lv_disp_drv_t disp_drv;                 /*A variable to hold the drivers. Can be local variable*/
    lv_disp_drv_init(&disp_drv);            /*Basic initialization*/
    disp_drv.buffer = &disp_buf;            /*Set an initialized buffer*/
    disp_drv.flush_cb = my_flush_cb;        /*Set a flush callback to draw to the display*/
    lv_disp_t * disp;
    disp = lv_disp_drv_register(&disp_drv); /*Register the driver and save the created display objects*/
xqdd commented 5 years ago

error:

image

init_fb

image

kisvegabor commented 5 years ago

I'll update the Linux framebuffer project soon and get back to you.

kisvegabor commented 5 years ago

I updated and tested the Linux frame buffer project: https://github.com/littlevgl/linux_frame_buffer

There was a bug in demo example when "slide show" was enabled.

I've enabled the blog post too: https://blog.littlevgl.com/2018-01-03/linux_fb

xqdd commented 5 years ago

it can't display with init mouse code, it work in v5.3

bool mouse_read(struct _lv_indev_drv_t *indev_drv, lv_indev_data_t *data) {
    return evdev_read(data);
}

void init_mouse() {
    evdev_init();
    lv_indev_drv_t indev_drv;
    lv_indev_drv_init(&indev_drv);      /*Basic initialization*/
    indev_drv.type =LV_INDEV_TYPE_POINTER;               /*See below.*/
    indev_drv.read_cb =mouse_read; /*See below.*/
/*Register the driver in LittlevGL and save the created input device object*/
    lv_indev_t * my_indev = lv_indev_drv_register(&indev_drv);

    lv_obj_t *cursor_obj = lv_img_create(lv_scr_act(), NULL);
    lv_img_set_src(cursor_obj, LV_SYMBOL_GPS);
    lv_indev_set_cursor(my_indev, cursor_obj);
}

image

log

# ./video_monitor 
The framebuffer device was opened successfully.
1920x1080, 32bpp
The framebuffer device was mapped to memory successfully.
kisvegabor commented 5 years ago

Does the display work properly now? I'll check the evdev soon.

xqdd commented 5 years ago

no problem in the display, but it pretty slow when switching or in animation with lower CPU ( about 50% when animating ) and memory ( 13% )

1f4a58b72aaf19166c8a6615ab9784ca.zip

when I disable animation and preload, switch tab need to wait 2-3 seconds

kisvegabor commented 5 years ago

Try to add lv_tick_inc(5) into a pthread like:

while(1) {
  lv_tick_inc(5);
  usleep(5000);
}
xqdd commented 5 years ago

Is that what you mean?Or use in somewhere else (create a pthread by myself then call it in while clause)? image

kisvegabor commented 5 years ago

Yes, I meant that!

xqdd commented 5 years ago

Better, but it misses a feature call v-sync I think

void *my_thread(void*) {
    while (1) {
        lv_tick_inc(5);
        lv_task_handler();
        usleep(5000);
    }
}

int main() {
    lv_init();
    init_fb();
    init_mouse();

    App app;
    app.init_app();

    pthread_t id1,id2,id3,id4,id5;
    pthread_create(&id1, NULL, my_thread, NULL);
    pthread_create(&id2, NULL, my_thread, NULL);
    pthread_create(&id3, NULL, my_thread, NULL);
    pthread_create(&id4, NULL, my_thread, NULL);
    pthread_create(&id5, NULL, my_thread, NULL);
    pthread_join(id1, NULL);
    pthread_join(id2, NULL);
    pthread_join(id3, NULL);
    pthread_join(id4, NULL);
    pthread_join(id5, NULL);

    return 0;
}

d71ccf7b2d8b2cd16323a354aec35388.zip

kisvegabor commented 5 years ago

lv_task_handler should be in the main() function. So the task should look like this:

   while (1) {
        lv_tick_inc(5);
        usleep(5000);
    }

You should create the task only once. If it's still slow probably you need to measure the real "usleep time" and pass it in milliseconds to lv_tick_inc().

The refreshing seems very slow.

xqdd commented 5 years ago

How fast is your MCU?

armv7 soft float without gpu


# cat /proc/cpuinfo 
Processor       : ARMv7 Processor rev 0 (v7l)
processor       : 0
BogoMIPS        : 1849.75

processor : 1 BogoMIPS : 1856.30

Features : swp half thumb fastmult vfp edsp vfpv3 vfpv3d16 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x3 CPU part : 0xc09 CPU revision : 0

Hardware : godnet Revision : 0000 Serial : 0000000000000000

cat /proc/cpuinfo

Processor : ARMv7 Processor rev 0 (v7l) processor : 0 BogoMIPS : 1849.75

processor : 1 BogoMIPS : 1856.30

Features : swp half thumb fastmult vfp edsp vfpv3 vfpv3d16 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x3 CPU part : 0xc09 CPU revision : 0

Hardware : godnet Revision : 0000 Serial : 0000000000000000

kisvegabor commented 5 years ago

A 1,8 GHz processor should be definitely faster. Try the other things I metioned above.

xqdd commented 5 years ago

ok

xqdd commented 5 years ago

Better with -O3 compile config and pthread

1c93370f00ee296defde93eaad1bece9.zip

void *my_thread(void *) {
    while (1) {
        lv_tick_inc(5);
        usleep(5000);
    }
}

int main() {
    lv_init();
    init_fb();
    init_mouse();

    App app;
    app.init_app();

    pthread_t pid1;
    pthread_create(&pid1, NULL, my_thread, NULL);

    while(1){
        lv_tick_inc(5);
        lv_task_handler();
        usleep(5000);
    }

    return 0;
}
# cmake_minimum_required(VERSION <specify CMake version here>)
cmake_minimum_required(VERSION 3.14)
project(video_monitor)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -O3")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")

file(GLOB_RECURSE INCLUDES "lvgl/*.h" "lv_drivers/*.h" "lv_examples/*.h" "./*.h")
file(GLOB_RECURSE SOURCES "lvgl/*.c" "lv_drivers/*.c" "lv_examples/*.c")
file(GLOB_RECURSE SRC "src/*.h" "src/*.cpp")

file(GLOB_RECURSE COMMON "common/*.h" "common/*.c")
INCLUDE_DIRECTORIES(include)
link_directories(lib)
add_executable(video_monitor main.cpp ${COMMON} ${SOURCES} ${INCLUDES} ${SRC})
target_link_libraries(video_monitor dl pthread mpi libaec.a libanr.a libresampler.a libVoiceEngine.a libjpeg.a)
kisvegabor commented 5 years ago

It should look like this. (now you call lv_tick_inc in both places)

void *my_thread(void *) {
    while (1) {
        lv_tick_inc(5);
        usleep(5000);
    }
}

int main() {
    lv_init();
    init_fb();
    init_mouse();

    App app;
    app.init_app();

    pthread_t pid1;
    pthread_create(&pid1, NULL, my_thread, NULL);

    while(1){
        lv_task_handler();
        usleep(5000);
    }

    return 0;
}

It seems my_thread sleeps longer than 5 ms. Try to measure the real time between two calls of lv_tick_inc() https://stackoverflow.com/a/41449642/1999969

xqdd commented 5 years ago

it seen not good, about 10ms error

void *my_thread(void *) {
    while (1) {
        clock_t begin = clock();

        lv_tick_inc(5);
        usleep(5000);

        clock_t end = clock();

        printf("begin: %i end: %i spent: %i\n", begin, end, end - begin);
    }
}

int main() {
    lv_init();
    init_fb();
    init_mouse();

    App app;
    app.init_app();

    pthread_t pid1;
    pthread_create(&pid1, NULL, my_thread, NULL);

    while (1) {
        lv_task_handler();
        usleep(5000);
    }

    return 0;
}
logs ```log The framebuffer device was opened successfully. 1920x1080, 32bpp The framebuffer device was mapped to memory successfully. show cursor begin: 14768 end: 22781 spent: 8013 begin: 22845 end: 30912 spent: 8067 begin: 30950 end: 41745 spent: 10795 begin: 41794 end: 49725 spent: 7931 begin: 49745 end: 60579 spent: 10834 begin: 60628 end: 68809 spent: 8181 begin: 68838 end: 78207 spent: 9369 begin: 78241 end: 87918 spent: 9677 begin: 87941 end: 97226 spent: 9285 begin: 97253 end: 107198 spent: 9945 begin: 107249 end: 116434 spent: 9185 begin: 116455 end: 126071 spent: 9616 begin: 126118 end: 135247 spent: 9129 begin: 135282 end: 140991 spent: 5709 begin: 141007 end: 141018 spent: 11 begin: 141031 end: 150597 spent: 9566 begin: 150654 end: 159660 spent: 9006 begin: 159706 end: 168674 spent: 8968 begin: 168700 end: 177660 spent: 8960 begin: 177714 end: 186775 spent: 9061 begin: 186820 end: 195866 spent: 9046 begin: 195889 end: 205104 spent: 9215 begin: 205166 end: 213839 spent: 8673 begin: 213892 end: 223210 spent: 9318 begin: 223242 end: 232665 spent: 9423 begin: 232684 end: 242107 spent: 9423 begin: 242173 end: 251249 spent: 9076 begin: 251303 end: 260424 spent: 9121 begin: 260445 end: 264705 spent: 4260 begin: 264737 end: 264765 spent: 28 begin: 264777 end: 273369 spent: 8592 begin: 273392 end: 282661 spent: 9269 begin: 282730 end: 291557 spent: 8827 begin: 291601 end: 300977 spent: 9376 begin: 301025 end: 310217 spent: 9192 begin: 310240 end: 319631 spent: 9391 begin: 319697 end: 328755 spent: 9058 begin: 328793 end: 337814 spent: 9021 begin: 337839 end: 346992 spent: 9153 begin: 347023 end: 356024 spent: 9001 begin: 356061 end: 365247 spent: 9186 begin: 365273 end: 374430 spent: 9157 begin: 374509 end: 383308 spent: 8799 begin: 383350 end: 392734 spent: 9384 begin: 392784 end: 397528 spent: 4744 begin: 397545 end: 397567 spent: 22 begin: 397593 end: 408401 spent: 10808 begin: 408439 end: 416622 spent: 8183 begin: 416645 end: 419283 spent: 2638 begin: 419349 end: 431960 spent: 12611 begin: 432016 end: 436448 spent: 4432 begin: 436468 end: 449006 spent: 12538 begin: 449112 end: 456443 spent: 7331 begin: 456501 end: 466024 spent: 9523 begin: 466048 end: 475796 spent: 9748 begin: 475840 end: 485651 spent: 9811 begin: 485679 end: 496035 spent: 10356 begin: 496092 end: 506191 spent: 10099 begin: 506237 end: 516135 spent: 9898 begin: 516222 end: 525888 spent: 9666 begin: 525945 end: 535268 spent: 9323 begin: 535309 end: 538889 spent: 3580 begin: 538939 end: 549237 spent: 10298 begin: 549288 end: 559240 spent: 9952 begin: 559290 end: 568856 spent: 9566 begin: 568877 end: 578607 spent: 9730 begin: 578650 end: 589128 spent: 10478 begin: 589193 end: 598240 spent: 9047 begin: 598263 end: 607982 spent: 9719 begin: 608040 end: 618874 spent: 10834 begin: 618955 end: 628048 spent: 9093 begin: 628091 end: 637724 spent: 9633 begin: 637794 end: 648113 spent: 10319 begin: 648176 end: 657655 spent: 9479 begin: 657723 end: 667362 spent: 9639 begin: 667388 end: 677251 spent: 9863 begin: 677309 end: 682179 spent: 4870 begin: 682199 end: 682215 spent: 16 begin: 682232 end: 682487 spent: 255 begin: 682506 end: 682539 spent: 33 begin: 682556 end: 682629 spent: 73 begin: 682644 end: 682681 spent: 37 begin: 682702 end: 683035 spent: 333 begin: 683056 end: 683110 spent: 54 begin: 683124 end: 683224 spent: 100 begin: 683242 end: 683547 spent: 305 begin: 683563 end: 683679 spent: 116 begin: 683710 end: 683776 spent: 66 begin: 683793 end: 683863 spent: 70 begin: 683881 end: 683912 spent: 31 begin: 683936 end: 684019 spent: 83 begin: 684038 end: 684050 spent: 12 begin: 684064 end: 684115 spent: 51 begin: 684134 end: 684311 spent: 177 begin: 684328 end: 684360 spent: 32 begin: 684372 end: 684440 spent: 68 begin: 684459 end: 684647 spent: 188 begin: 684669 end: 684736 spent: 67 begin: 684753 end: 684765 spent: 12 begin: 684778 end: 684827 spent: 49 begin: 684852 end: 684902 spent: 50 begin: 684915 end: 684973 spent: 58 begin: 684992 end: 685005 spent: 13 begin: 685018 end: 685072 spent: 54 begin: 685096 end: 685147 spent: 51 begin: 685158 end: 685232 spent: 74 begin: 685393 end: 685562 spent: 169 begin: 685585 end: 685651 spent: 66 begin: 685666 end: 685729 spent: 63 begin: 685740 end: 685801 spent: 61 begin: 685831 end: 685874 spent: 43 begin: 685889 end: 685959 spent: 70 begin: 685970 end: 685997 spent: 27 begin: 686014 end: 686226 spent: 212 begin: 686247 end: 686273 spent: 26 begin: 686288 end: 686350 spent: 62 begin: 686363 end: 686401 spent: 38 begin: 686425 end: 686553 spent: 128 begin: 686566 end: 686593 spent: 27 begin: 686609 end: 687952 spent: 1343 begin: 688048 end: 697482 spent: 9434 begin: 697537 end: 707297 spent: 9760 begin: 707346 end: 717195 spent: 9849 begin: 717257 end: 726776 spent: 9519 begin: 726836 end: 737630 spent: 10794 begin: 737695 end: 746603 spent: 8908 begin: 746647 end: 756851 spent: 10204 begin: 756923 end: 766833 spent: 9910 begin: 766919 end: 776162 spent: 9243 begin: 776205 end: 786535 spent: 10330 begin: 786613 end: 797728 spent: 11115 begin: 798413 end: 806872 spent: 8459 begin: 806930 end: 816679 spent: 9749 begin: 816719 end: 826803 spent: 10084 begin: 826880 end: 829105 spent: 2225 begin: 829161 end: 838632 spent: 9471 begin: 838675 end: 848670 spent: 9995 begin: 848732 end: 859405 spent: 10673 begin: 859470 end: 868450 spent: 8980 begin: 868488 end: 878415 spent: 9927 begin: 878480 end: 888558 spent: 10078 begin: 888616 end: 898245 spent: 9629 begin: 898284 end: 908281 spent: 9997 begin: 908331 end: 918193 spent: 9862 begin: 918252 end: 928787 spent: 10535 begin: 928845 end: 938149 spent: 9304 begin: 938221 end: 948279 spent: 10058 begin: 948386 end: 958959 spent: 10573 begin: 959030 end: 960733 spent: 1703 begin: 960770 end: 970963 spent: 10193 begin: 971036 end: 981207 spent: 10171 begin: 981258 end: 990870 spent: 9612 begin: 990931 end: 1000983 spent: 10052 begin: 1001027 end: 1011242 spent: 10215 begin: 1011315 end: 1021562 spent: 10247 begin: 1021614 end: 1031089 spent: 9475 begin: 1031131 end: 1041432 spent: 10301 begin: 1041551 end: 1051993 spent: 10442 begin: 1052069 end: 1061301 spent: 9232 begin: 1061363 end: 1070958 spent: 9595 begin: 1071013 end: 1080581 spent: 9568 begin: 1080603 end: 1086228 spent: 5625 begin: 1086247 end: 1086275 spent: 28 begin: 1086290 end: 1096323 spent: 10033 begin: 1096953 end: 1106746 spent: 9793 begin: 1106802 end: 1116040 spent: 9238 begin: 1116062 end: 1125839 spent: 9777 begin: 1125912 end: 1136417 spent: 10505 begin: 1136895 end: 1145937 spent: 9042 begin: 1145976 end: 1155646 spent: 9670 begin: 1155713 end: 1166043 spent: 10330 begin: 1166109 end: 1175444 spent: 9335 begin: 1175514 end: 1185132 spent: 9618 begin: 1185160 end: 1192645 spent: 7485 begin: 1192673 end: 1202116 spent: 9443 begin: 1202134 end: 1202170 spent: 36 begin: 1202200 end: 1211970 spent: 9770 begin: 1212052 end: 1222218 spent: 10166 begin: 1222273 end: 1231907 spent: 9634 begin: 1231961 end: 1241602 spent: 9641 begin: 1241668 end: 1271197 spent: 29529 begin: 1271242 end: 1277319 spent: 6077 begin: 1277371 end: 1290240 spent: 12869 begin: 1290298 end: 1296522 spent: 6224 begin: 1296672 end: 1306168 spent: 9496 begin: 1306206 end: 1314214 spent: 8008 begin: 1314235 end: 1314253 spent: 18 begin: 1314270 end: 1324228 spent: 9958 begin: 1324266 end: 1333773 spent: 9507 begin: 1333792 end: 1343697 spent: 9905 begin: 1343718 end: 1353556 spent: 9838 begin: 1353580 end: 1362986 spent: 9406 begin: 1363015 end: 1372640 spent: 9625 begin: 1372664 end: 1382557 spent: 9893 begin: 1382579 end: 1392291 spent: 9712 begin: 1392320 end: 1402201 spent: 9881 begin: 1402219 end: 1411997 spent: 9778 begin: 1412016 end: 1421846 spent: 9830 begin: 1421880 end: 1422341 spent: 461 begin: 1422355 end: 1422441 spent: 86 begin: 1422458 end: 1422542 spent: 84 begin: 1422554 end: 1422618 spent: 64 begin: 1422643 end: 1422696 spent: 53 begin: 1422707 end: 1422760 spent: 53 begin: 1422782 end: 1422815 spent: 33 begin: 1422836 end: 1422908 spent: 72 begin: 1422923 end: 1422953 spent: 30 begin: 1422970 end: 1423047 spent: 77 begin: 1423063 end: 1423101 spent: 38 begin: 1423118 end: 1423184 spent: 66 begin: 1423200 end: 1423233 spent: 33 begin: 1423253 end: 1433135 spent: 9882 begin: 1433382 end: 1442877 spent: 9495 begin: 1442897 end: 1452823 spent: 9926 begin: 1452846 end: 1462301 spent: 9455 begin: 1462348 end: 1471801 spent: 9453 begin: 1471817 end: 1481748 spent: 9931 begin: 1481771 end: 1491617 spent: 9846 begin: 1491666 end: 1501144 spent: 9478 begin: 1501162 end: 1511103 spent: 9941 begin: 1511120 end: 1521058 spent: 9938 begin: 1521079 end: 1529540 spent: 8461 begin: 1529573 end: 1529598 spent: 25 begin: 1529608 end: 1539617 spent: 10009 begin: 1539642 end: 1549370 spent: 9728 begin: 1549413 end: 1559112 spent: 9699 begin: 1559134 end: 1569019 spent: 9885 begin: 1569042 end: 1578905 spent: 9863 begin: 1578953 end: 1588553 spent: 9600 begin: 1588575 end: 1598464 spent: 9889 begin: 1598487 end: 1608356 spent: 9869 begin: 1608379 end: 1617884 spent: 9505 begin: 1617916 end: 1627660 spent: 9744 begin: 1627682 end: 1637477 spent: 9795 begin: 1637503 end: 1643740 spent: 6237 begin: 1643769 end: 1643818 spent: 49 begin: 1643834 end: 1653743 spent: 9909 begin: 1653768 end: 1663481 spent: 9713 begin: 1663518 end: 1672507 spent: 8989 begin: 1672527 end: 1682295 spent: 9768 begin: 1682315 end: 1692218 spent: 9903 begin: 1692239 end: 1702030 spent: 9791 begin: 1702071 end: 1711747 spent: 9676 begin: 1711767 end: 1721675 spent: 9908 begin: 1721696 end: 1732168 spent: 10472 begin: 1732333 end: 1741727 spent: 9394 begin: 1741794 end: 1751089 spent: 9295 begin: 1751197 end: 1761183 spent: 9986 begin: 1761223 end: 1765270 spent: 4047 begin: 1765296 end: 1765312 spent: 16 begin: 1765325 end: 1775100 spent: 9775 begin: 1775127 end: 1784802 spent: 9675 begin: 1784832 end: 1794459 spent: 9627 begin: 1794477 end: 1804327 spent: 9850 begin: 1804353 end: 1814089 spent: 9736 begin: 1814136 end: 1823874 spent: 9738 begin: 1823893 end: 1833816 spent: 9923 begin: 1833838 end: 1843632 spent: 9794 begin: 1843665 end: 1853279 spent: 9614 begin: 1853298 end: 1863273 spent: 9975 begin: 1863294 end: 1873058 spent: 9764 begin: 1873080 end: 1882523 spent: 9443 begin: 1882558 end: 1892260 spent: 9702 begin: 1892281 end: 1895482 spent: 3201 begin: 1895505 end: 1905287 spent: 9782 begin: 1905332 end: 1914957 spent: 9625 begin: 1914979 end: 1924867 spent: 9888 begin: 1924888 end: 1934771 spent: 9883 begin: 1934818 end: 1944367 spent: 9549 begin: 1944386 end: 1954239 spent: 9853 begin: 1954262 end: 1964134 spent: 9872 begin: 1964160 end: 1973583 spent: 9423 begin: 1973610 end: 1982950 spent: 9340 begin: 1982968 end: 1992755 spent: 9787 begin: 1992783 end: 2002201 spent: 9418 begin: 2002242 end: 2011695 spent: 9453 begin: 2011716 end: 2021619 spent: 9903 begin: 2021638 end: 2031136 spent: 9498 begin: 2031177 end: 2031216 spent: 39 begin: 2031232 end: 2039676 spent: 8444 begin: 2039693 end: 2046311 spent: 6618 begin: 2046332 end: 2051166 spent: 4834 begin: 2051194 end: 2056571 spent: 5377 begin: 2056591 end: 2065802 spent: 9211 begin: 2065821 end: 2076781 spent: 10960 begin: 2076814 end: 2083796 spent: 6982 begin: 2083830 end: 2092991 spent: 9161 begin: 2093015 end: 2102146 spent: 9131 begin: 2102244 end: 2111138 spent: 8894 begin: 2111193 end: 2120271 spent: 9078 begin: 2120294 end: 2129517 spent: 9223 begin: 2129537 end: 2138716 spent: 9179 begin: 2138778 end: 2147872 spent: 9094 begin: 2147916 end: 2156852 spent: 8936 begin: 2156926 end: 2166205 spent: 9279 begin: 2166283 end: 2175004 spent: 8721 begin: 2175047 end: 2181969 spent: 6922 begin: 2181986 end: 2182026 spent: 40 begin: 2182080 end: 2184234 spent: 2154 begin: 2184249 end: 2184322 spent: 73 begin: 2184339 end: 2184374 spent: 35 begin: 2184390 end: 2184456 spent: 66 begin: 2184474 end: 2184506 spent: 32 begin: 2184521 end: 2184584 spent: 63 begin: 2184601 end: 2184654 spent: 53 begin: 2184681 end: 2184784 spent: 103 begin: 2184801 end: 2184857 spent: 56 begin: 2184873 end: 2185012 spent: 139 begin: 2185027 end: 2194226 spent: 9199 begin: 2194246 end: 2194257 spent: 11 begin: 2194267 end: 2194336 spent: 69 begin: 2194358 end: 2194397 spent: 39 begin: 2194418 end: 2194491 spent: 73 begin: 2194507 end: 2194541 spent: 34 begin: 2194557 end: 2194641 spent: 84 begin: 2194873 end: 2194912 spent: 39 begin: 2194924 end: 2194979 spent: 55 begin: 2194996 end: 2195034 spent: 38 begin: 2195071 end: 2195178 spent: 107 begin: 2195196 end: 2195403 spent: 207 begin: 2195418 end: 2195433 spent: 15 begin: 2195448 end: 2197131 spent: 1683 begin: 2197161 end: 2197197 spent: 36 begin: 2197215 end: 2197312 spent: 97 begin: 2197329 end: 2197364 spent: 35 begin: 2197392 end: 2197511 spent: 119 begin: 2197530 end: 2197571 spent: 41 begin: 2197585 end: 2197629 spent: 44 begin: 2197680 end: 2202010 spent: 4330 begin: 2202030 end: 2202044 spent: 14 begin: 2202059 end: 2202132 spent: 73 begin: 2202150 end: 2202183 spent: 33 begin: 2202205 end: 2202283 spent: 78 begin: 2202295 end: 2202314 spent: 19 begin: 2202329 end: 2202390 spent: 61 begin: 2202422 end: 2202451 spent: 29 begin: 2202462 end: 2202516 spent: 54 begin: 2202534 end: 2202571 spent: 37 begin: 2202595 end: 2202708 spent: 113 begin: 2202725 end: 2202752 spent: 27 begin: 2202765 end: 2204623 spent: 1858 begin: 2204641 end: 2204689 spent: 48 begin: 2204714 end: 2210401 spent: 5687 begin: 2210423 end: 2210650 spent: 227 begin: 2210669 end: 2210742 spent: 73 begin: 2210770 end: 2210830 spent: 60 begin: 2210843 end: 2210913 spent: 70 begin: 2210925 end: 2211030 spent: 105 begin: 2211051 end: 2211117 spent: 66 begin: 2211145 end: 2211234 spent: 89 begin: 2211250 end: 2211300 spent: 50 begin: 2211317 end: 2211336 spent: 19 begin: 2211358 end: 2213653 spent: 2295 begin: 2213670 end: 2214339 spent: 669 begin: 2214357 end: 2214451 spent: 94 begin: 2214488 end: 2214530 spent: 42 begin: 2214546 end: 2214622 spent: 76 begin: 2214640 end: 2214676 spent: 36 begin: 2214709 end: 2219119 spent: 4410 begin: 2219136 end: 2219151 spent: 15 begin: 2219168 end: 2219235 spent: 67 begin: 2219249 end: 2219297 spent: 48 begin: 2219326 end: 2219437 spent: 111 begin: 2219454 end: 2219505 spent: 51 begin: 2219522 end: 2219646 spent: 124 begin: 2219674 end: 2219731 spent: 57 begin: 2219750 end: 2219827 spent: 77 begin: 2219847 end: 2219877 spent: 30 begin: 2219900 end: 2220021 spent: 121 begin: 2220037 end: 2220066 spent: 29 begin: 2220078 end: 2220142 spent: 64 begin: 2220160 end: 2220207 spent: 47 begin: 2220227 end: 2220317 spent: 90 begin: 2220334 end: 2220362 spent: 28 begin: 2220377 end: 2220452 spent: 75 begin: 2220481 end: 2220516 spent: 35 begin: 2220527 end: 2220599 spent: 72 begin: 2220616 end: 2220650 spent: 34 begin: 2220685 end: 2220794 spent: 109 begin: 2220812 end: 2220843 spent: 31 begin: 2220861 end: 2220942 spent: 81 begin: 2220963 end: 2220990 spent: 27 begin: 2221014 end: 2221107 spent: 93 begin: 2221134 end: 2221195 spent: 61 begin: 2221211 end: 2221301 spent: 90 begin: 2221327 end: 2221353 spent: 26 begin: 2221368 end: 2221520 spent: 152 begin: 2221535 end: 2221562 spent: 27 begin: 2221597 end: 2221709 spent: 112 begin: 2221728 end: 2221759 spent: 31 begin: 2221777 end: 2221882 spent: 105 begin: 2221898 end: 2221919 spent: 21 begin: 2221945 end: 2222011 spent: 66 begin: 2222023 end: 2222053 spent: 30 begin: 2222076 end: 2222285 spent: 209 begin: 2222306 end: 2222337 spent: 31 begin: 2222353 end: 2222417 spent: 64 begin: 2222432 end: 2222476 spent: 44 begin: 2222502 end: 2222564 spent: 62 begin: 2222582 end: 2222611 spent: 29 begin: 2222623 end: 2222666 spent: 43 begin: 2222682 end: 2222727 spent: 45 begin: 2222746 end: 2222820 spent: 74 begin: 2222835 end: 2222850 spent: 15 begin: 2222866 end: 2222928 spent: 62 begin: 2222956 end: 2223019 spent: 63 begin: 2223035 end: 2223109 spent: 74 begin: 2223127 end: 2223156 spent: 29 begin: 2223176 end: 2223341 spent: 165 begin: 2223357 end: 2223407 spent: 50 begin: 2223420 end: 2224005 spent: 585 begin: 2224056 end: 2233483 spent: 9427 begin: 2233540 end: 2243732 spent: 10192 begin: 2243787 end: 2253050 spent: 9263 begin: 2253076 end: 2262916 spent: 9840 begin: 2262987 end: 2273362 spent: 10375 begin: 2273422 end: 2282608 spent: 9186 begin: 2282647 end: 2292477 spent: 9830 begin: 2292552 end: 2302738 spent: 10186 begin: 2302822 end: 2312463 spent: 9641 begin: 2312525 end: 2322250 spent: 9725 begin: 2322272 end: 2331694 spent: 9422 begin: 2331987 end: 2342384 spent: 10397 begin: 2342452 end: 2351423 spent: 8971 begin: 2351446 end: 2361099 spent: 9653 begin: 2361188 end: 2362724 spent: 1536 begin: 2362743 end: 2371174 spent: 8431 begin: 2371192 end: 2378214 spent: 7022 begin: 2378238 end: 2386473 spent: 8235 begin: 2386496 end: 2394915 spent: 8419 begin: 2394933 end: 2405705 spent: 10772 begin: 2405729 end: 2437618 spent: 31889 begin: 2437635 end: 2460139 spent: 22504 begin: 2460221 end: 2481523 spent: 21302 begin: 2481541 end: 2492476 spent: 10935 begin: 2492495 end: 2501381 spent: 8886 begin: 2501422 end: 2505575 spent: 4153 begin: 2505593 end: 2505608 spent: 15 begin: 2505622 end: 2514867 spent: 9245 begin: 2514901 end: 2523577 spent: 8676 begin: 2523598 end: 2532027 spent: 8429 begin: 2532045 end: 2540835 spent: 8790 begin: 2540872 end: 2550405 spent: 9533 begin: 2550430 end: 2559106 spent: 8676 begin: 2559153 end: 2568228 spent: 9075 begin: 2568251 end: 2577663 spent: 9412 begin: 2577722 end: 2586649 spent: 8927 begin: 2586687 end: 2595832 spent: 9145 begin: 2595860 end: 2605468 spent: 9608 begin: 2605500 end: 2613789 spent: 8289 begin: 2613812 end: 2622649 spent: 8837 begin: 2622686 end: 2631825 spent: 9139 begin: 2631860 end: 2633679 spent: 1819 begin: 2633691 end: 2642385 spent: 8694 begin: 2642429 end: 2651584 spent: 9155 begin: 2651605 end: 2660777 spent: 9172 begin: 2660811 end: 2669776 spent: 8965 begin: 2669826 end: 2679213 spent: 9387 begin: 2679250 end: 2688302 spent: 9052 begin: 2688367 end: 2697260 spent: 8893 begin: 2697297 end: 2706683 spent: 9386 begin: 2706738 end: 2716125 spent: 9387 begin: 2716163 end: 2724926 spent: 8763 begin: 2724971 end: 2733857 spent: 8886 begin: 2733893 end: 2743224 spent: 9331 begin: 2743260 end: 2752617 spent: 9357 begin: 2752648 end: 2752969 spent: 321 begin: 2752987 end: 2762801 spent: 9814 begin: 2762822 end: 2770267 spent: 7445 begin: 2770341 end: 2780270 spent: 9929 begin: 2780325 end: 2789780 spent: 9455 begin: 2789819 end: 2799588 spent: 9769 begin: 2799628 end: 2808408 spent: 8780 begin: 2808430 end: 2815368 spent: 6938 begin: 2815385 end: 2822656 spent: 7271 begin: 2822686 end: 2828812 spent: 6126 begin: 2828837 end: 2835668 spent: 6831 begin: 2835688 end: 2842114 spent: 6426 begin: 2842143 end: 2853082 spent: 10939 begin: 2853107 end: 2860183 spent: 7076 begin: 2860198 end: 2864980 spent: 4782 begin: 2864997 end: 2865042 spent: 45 begin: 2865096 end: 2865215 spent: 119 begin: 2865226 end: 2865287 spent: 61 begin: 2865303 end: 2865335 spent: 32 begin: 2865347 end: 2865412 spent: 65 begin: 2865434 end: 2865473 spent: 39 begin: 2865486 end: 2865538 spent: 52 begin: 2865552 end: 2865599 spent: 47 begin: 2865626 end: 2865737 spent: 111 begin: 2865748 end: 2867627 spent: 1879 begin: 2867646 end: 2867720 spent: 74 begin: 2867746 end: 2867810 spent: 64 begin: 2867827 end: 2867889 spent: 62 begin: 2867901 end: 2867939 spent: 38 begin: 2867959 end: 2868043 spent: 84 begin: 2868060 end: 2872579 spent: 4519 begin: 2872598 end: 2872614 spent: 16 begin: 2872632 end: 2881543 spent: 8911 begin: 2881586 end: 2890580 spent: 8994 begin: 2890606 end: 2899023 spent: 8417 begin: 2899048 end: 2908423 spent: 9375 begin: 2908498 end: 2917271 spent: 8773 begin: 2917321 end: 2926686 spent: 9365 begin: 2926735 end: 2936097 spent: 9362 begin: 2936122 end: 2945764 spent: 9642 begin: 2945824 end: 2954608 spent: 8784 begin: 2954639 end: 2963624 spent: 8985 begin: 2963647 end: 2972792 spent: 9145 begin: 2972823 end: 2981869 spent: 9046 begin: 2981916 end: 2985889 spent: 3973 begin: 2985906 end: 2985945 spent: 39 begin: 2985999 end: 2994974 spent: 8975 begin: 2995025 end: 3004391 spent: 9366 begin: 3004443 end: 3013795 spent: 9352 begin: 3013816 end: 3023318 spent: 9502 begin: 3023375 end: 3032387 spent: 9012 begin: 3032423 end: 3041488 spent: 9065 begin: 3041530 end: 3050769 spent: 9239 begin: 3050821 end: 3059781 spent: 8960 begin: 3059819 end: 3068888 spent: 9069 begin: 3068912 end: 3078196 spent: 9284 begin: 3078227 end: 3087085 spent: 8858 begin: 3087125 end: 3092331 spent: 5206 begin: 3092349 end: 3092367 spent: 18 begin: 3092552 end: 3102035 spent: 9483 begin: 3102120 end: 3111164 spent: 9044 begin: 3111213 end: 3120181 spent: 8968 begin: 3120208 end: 3129297 spent: 9089 begin: 3129401 end: 3138357 spent: 8956 begin: 3138404 end: 3147383 spent: 8979 begin: 3147404 end: 3156574 spent: 9170 begin: 3156610 end: 3165063 spent: 8453 begin: 3165099 end: 3174191 spent: 9092 begin: 3174224 end: 3183196 spent: 8972 begin: 3183214 end: 3188073 spent: 4859 begin: 3188104 end: 3188116 spent: 12 begin: 3188129 end: 3196666 spent: 8537 begin: 3196691 end: 3205693 spent: 9002 begin: 3205737 end: 3214382 spent: 8645 begin: 3214425 end: 3223278 spent: 8853 begin: 3223296 end: 3232063 spent: 8767 begin: 3232097 end: 3240636 spent: 8539 begin: 3240670 end: 3249924 spent: 9254 begin: 3249946 end: 3259212 spent: 9266 begin: 3259231 end: 3268449 spent: 9218 begin: 3268481 end: 3274928 spent: 6447 begin: 3274943 end: 3274963 spent: 20 begin: 3274982 end: 3284096 spent: 9114 begin: 3284131 end: 3292867 spent: 8736 begin: 3292895 end: 3302493 spent: 9598 begin: 3302537 end: 3311947 spent: 9410 begin: 3311996 end: 3320610 spent: 8614 begin: 3320656 end: 3329926 spent: 9270 begin: 3329983 end: 3339154 spent: 9171 begin: 3339173 end: 3348900 spent: 9727 begin: 3348989 end: 3357893 spent: 8904 begin: 3357939 end: 3359021 spent: 1082 begin: 3359040 end: 3368183 spent: 9143 begin: 3368222 end: 3377281 spent: 9059 begin: 3377317 end: 3387120 spent: 9803 begin: 3387141 end: 3396856 spent: 9715 begin: 3396940 end: 3406704 spent: 9764 begin: 3406745 end: 3416445 spent: 9700 begin: 3416490 end: 3426299 spent: 9809 begin: 3426355 end: 3436031 spent: 9676 begin: 3436106 end: 3436387 spent: 281 begin: 3436400 end: 3436486 spent: 86 begin: 3436504 end: 3436539 spent: 35 begin: 3436562 end: 3436640 spent: 78 begin: 3436658 end: 3436692 spent: 34 begin: 3436703 end: 3436761 spent: 58 begin: 3436790 end: 3436827 spent: 37 begin: 3436840 end: 3436886 spent: 46 begin: 3436905 end: 3436940 spent: 35 begin: 3436957 end: 3437031 spent: 74 begin: 3437057 end: 3437090 spent: 33 begin: 3437103 end: 3437156 spent: 53 begin: 3437173 end: 3437229 spent: 56 begin: 3437256 end: 3437316 spent: 60 begin: 3437332 end: 3437400 spent: 68 begin: 3437413 end: 3441391 spent: 3978 begin: 3441421 end: 3441469 spent: 48 begin: 3441483 end: 3441554 spent: 71 begin: 3441567 end: 3441590 spent: 23 begin: 3441608 end: 3441681 spent: 73 begin: 3441700 end: 3441728 spent: 28 begin: 3441744 end: 3441808 spent: 64 begin: 3441824 end: 3441856 spent: 32 begin: 3441882 end: 3441976 spent: 94 begin: 3441988 end: 3442019 spent: 31 begin: 3442037 end: 3442105 spent: 68 begin: 3442128 end: 3442161 spent: 33 begin: 3442177 end: 3452154 spent: 9977 begin: 3452173 end: 3452763 spent: 590 begin: 3452782 end: 3462140 spent: 9358 begin: 3462164 end: 3462203 spent: 39 begin: 3462216 end: 3462356 spent: 140 begin: 3462372 end: 3462404 spent: 32 begin: 3462431 end: 3471873 spent: 9442 begin: 3471896 end: 3472620 spent: 724 begin: 3472632 end: 3479723 spent: 7091 begin: 3479765 end: 3479781 spent: 16 begin: 3479792 end: 3479922 spent: 130 begin: 3479939 end: 3479970 spent: 31 begin: 3479983 end: 3485865 spent: 5882 begin: 3485898 end: 3485919 spent: 21 begin: 3485930 end: 3491329 spent: 5399 begin: 3491350 end: 3491506 spent: 156 begin: 3491529 end: 3497681 spent: 6152 begin: 3497702 end: 3497714 spent: 12 begin: 3497729 end: 3501643 spent: 3914 begin: 3501685 end: 3501698 spent: 13 begin: 3501709 end: 3505336 spent: 3627 begin: 3505357 end: 3505374 spent: 17 begin: 3505391 end: 3508287 spent: 2896 begin: 3508313 end: 3508343 spent: 30 begin: 3508359 end: 3510703 spent: 2344 begin: 3510724 end: 3510767 spent: 43 begin: 3510796 end: 3512917 spent: 2121 begin: 3512936 end: 3512957 spent: 21 begin: 3512969 end: 3514907 spent: 1938 begin: 3514939 end: 3514988 spent: 49 begin: 3515006 end: 3516244 spent: 1238 begin: 3516260 end: 3516285 spent: 25 begin: 3516302 end: 3517079 spent: 777 begin: 3517103 end: 3517139 spent: 36 begin: 3517155 end: 3517766 spent: 611 begin: 3517787 end: 3517830 spent: 43 begin: 3518055 end: 3519448 spent: 1393 begin: 3519466 end: 3519489 spent: 23 begin: 3519503 end: 3519693 spent: 190 begin: 3519724 end: 3519779 spent: 55 begin: 3519790 end: 3519897 spent: 107 begin: 3519913 end: 3519942 spent: 29 begin: 3519957 end: 3520024 spent: 67 begin: 3520049 end: 3520076 spent: 27 begin: 3520088 end: 3520155 spent: 67 begin: 3520171 end: 3520246 spent: 75 begin: 3520268 end: 3520344 spent: 76 begin: 3520358 end: 3520393 spent: 35 begin: 3520407 end: 3521189 spent: 782 begin: 3521217 end: 3521248 spent: 31 begin: 3521260 end: 3521327 spent: 67 begin: 3521344 end: 3521370 spent: 26 begin: 3521383 end: 3521442 spent: 59 begin: 3521468 end: 3521523 spent: 55 begin: 3521543 end: 3521562 spent: 19 begin: 3521581 end: 3522763 spent: 1182 begin: 3522791 end: 3522822 spent: 31 begin: 3522837 end: 3522916 spent: 79 begin: 3522934 end: 3522971 spent: 37 begin: 3523004 end: 3523112 spent: 108 begin: 3523129 end: 3523153 spent: 24 begin: 3523167 end: 3523232 spent: 65 begin: 3523250 end: 3523280 spent: 30 begin: 3523298 end: 3523392 spent: 94 begin: 3523408 end: 3523458 spent: 50 begin: 3523472 end: 3523603 spent: 131 begin: 3523637 end: 3523652 spent: 15 begin: 3523663 end: 3523778 spent: 115 begin: 3523798 end: 3523846 spent: 48 begin: 3523872 end: 3523970 spent: 98 begin: 3523987 end: 3524006 spent: 19 begin: 3524025 end: 3524095 spent: 70 begin: 3524110 end: 3524139 spent: 29 begin: 3524176 end: 3524191 spent: 15 begin: 3524202 end: 3524287 spent: 85 begin: 3524306 end: 3524366 spent: 60 begin: 3524390 end: 3524409 spent: 19 begin: 3524428 end: 3524518 spent: 90 begin: 3524532 end: 3524615 spent: 83 begin: 3524646 end: 3524661 spent: 15 begin: 3524672 end: 3524912 spent: 240 begin: 3524929 end: 3524962 spent: 33 begin: 3524982 end: 3525089 spent: 107 begin: 3525121 end: 3525150 spent: 29 begin: 3525236 end: 3525323 spent: 87 begin: 3525343 end: 3525521 spent: 178 begin: 3525544 end: 3525573 spent: 29 begin: 3525586 end: 3525740 spent: 154 begin: 3525759 end: 3525809 spent: 50 begin: 3525834 end: 3525890 spent: 56 begin: 3525907 end: 3525921 spent: 14 begin: 3525935 end: 3525991 spent: 56 begin: 3526011 end: 3526185 spent: 174 begin: 3526203 end: 3526271 spent: 68 begin: 3526287 end: 3526355 spent: 68 begin: 3526367 end: 3526434 spent: 67 begin: 3526463 end: 3526529 spent: 66 begin: 3526539 end: 3526602 spent: 63 begin: 3526622 end: 3526641 spent: 19 begin: 3526665 end: 3526743 spent: 78 begin: 3526759 end: 3526789 spent: 30 begin: 3526802 end: 3526873 spent: 71 begin: 3526889 end: 3526921 spent: 32 begin: 3526944 end: 3527915 spent: 971 begin: 3527960 end: 3528993 spent: 1033 begin: 3529011 end: 3529196 spent: 185 begin: 3529214 end: 3529275 spent: 61 begin: 3529291 end: 3529421 spent: 130 begin: 3529434 end: 3529472 spent: 38 begin: 3529506 end: 3529613 spent: 107 begin: 3529627 end: 3529660 spent: 33 begin: 3529677 end: 3532704 spent: 3027 begin: 3532721 end: 3532776 spent: 55 begin: 3532801 end: 3542608 spent: 9807 begin: 3542628 end: 3550718 spent: 8090 begin: 3550741 end: 3560764 spent: 10023 begin: 3560792 end: 3569694 spent: 8902 begin: 3569719 end: 3578845 spent: 9126 begin: 3578867 end: 3588571 spent: 9704 begin: 3588662 end: 3598386 spent: 9724 begin: 3598434 end: 3608114 spent: 9680 begin: 3608137 end: 3608156 spent: 19 begin: 3608174 end: 3618238 spent: 10064 begin: 3618278 end: 3626526 spent: 8248 begin: 3626557 end: 3635627 spent: 9070 begin: 3635652 end: 3644829 spent: 9177 begin: 3644953 end: 3653874 spent: 8921 begin: 3653934 end: 3663006 spent: 9072 begin: 3663025 end: 3672517 spent: 9492 begin: 3672627 end: 3681303 spent: 8676 begin: 3681359 end: 3684129 spent: 2770 begin: 3684146 end: 3693386 spent: 9240 begin: 3693405 end: 3702783 spent: 9378 begin: 3702833 end: 3712005 spent: 9172 begin: 3712037 end: 3721848 spent: 9811 begin: 3721869 end: 3731426 spent: 9557 begin: 3731460 end: 3740936 spent: 9476 begin: 3740981 end: 3750518 spent: 9537 begin: 3750541 end: 3760051 spent: 9510 begin: 3760093 end: 3767501 spent: 7408 begin: 3767520 end: 3767536 spent: 16 begin: 3767556 end: 3776444 spent: 8888 begin: 3776598 end: 3785564 spent: 8966 begin: 3785602 end: 3794308 spent: 8706 begin: 3794339 end: 3803223 spent: 8884 begin: 3803250 end: 3811990 spent: 8740 begin: 3812017 end: 3820832 spent: 8815 begin: 3820878 end: 3829795 spent: 8917 begin: 3829815 end: 3838727 spent: 8912 begin: 3838761 end: 3847260 spent: 8499 begin: 3847296 end: 3856407 spent: 9111 begin: 3856439 end: 3857071 spent: 632 begin: 3857092 end: 3866941 spent: 9849 begin: 3867007 end: 3877560 spent: 10553 begin: 3877619 end: 3887124 spent: 9505 begin: 3887167 end: 3897075 spent: 9908 begin: 3897157 end: 3907655 spent: 10498 begin: 3907730 end: 3916712 spent: 8982 begin: 3916753 end: 3926566 spent: 9813 begin: 3926666 end: 3937123 spent: 10457 begin: 3937306 end: 3946830 spent: 9524 begin: 3946900 end: 3954152 spent: 7252 begin: 3954174 end: 3954239 spent: 65 begin: 3954273 end: 3964995 spent: 10722 begin: 3965070 end: 3974041 spent: 8971 begin: 3974082 end: 3983911 spent: 9829 begin: 3983985 end: 3994450 spent: 10465 begin: 3994974 end: 4004096 spent: 9122 begin: 4004138 end: 4013810 spent: 9672 begin: 4013885 end: 4024137 spent: 10252 begin: 4024187 end: 4033968 spent: 9781 begin: 4034027 end: 4043760 spent: 9733 begin: 4043780 end: 4053288 spent: 9508 begin: 4053330 end: 4061579 spent: 8249 begin: 4061602 end: 4061619 spent: 17 begin: 4061637 end: 4071501 spent: 9864 begin: 4071598 end: 4081284 spent: 9686 begin: 4081310 end: 4089365 spent: 8055 begin: 4089382 end: 4096079 spent: 6697 begin: 4096115 end: 4104112 spent: 7997 begin: 4104133 end: 4111321 spent: 7188 begin: 4111349 end: 4122200 spent: 10851 begin: 4122276 end: 4131147 spent: 8871 begin: 4131190 end: 4140835 spent: 9645 begin: 4140873 end: 4151950 spent: 11077 begin: 4152022 end: 4161167 spent: 9145 begin: 4161222 end: 4168528 spent: 7306 begin: 4168557 end: 4168584 spent: 27 begin: 4168599 end: 4168723 spent: 124 begin: 4168736 end: 4168763 spent: 27 begin: 4168781 end: 4168858 spent: 77 begin: 4168873 end: 4168905 spent: 32 begin: 4168921 end: 4168998 spent: 77 begin: 4169016 end: 4169058 spent: 42 begin: 4169086 end: 4169178 spent: 92 begin: 4169193 end: 4169224 spent: 31 begin: 4169238 end: 4169351 spent: 113 begin: 4169383 end: 4169396 spent: 13 begin: 4169407 end: 4169478 spent: 71 begin: 4169495 end: 4169537 spent: 42 begin: 4169553 end: 4169663 spent: 110 begin: 4169685 end: 4169727 spent: 42 begin: 4169745 end: 4169819 spent: 74 begin: 4169839 end: 4169885 spent: 46 begin: 4169906 end: 4169986 spent: 80 begin: 4170003 end: 4170047 spent: 44 begin: 4170062 end: 4170087 spent: 25 begin: 4170145 end: 4170246 spent: 101 begin: 4170264 end: 4170502 spent: 238 begin: 4170517 end: 4170533 spent: 16 begin: 4170552 end: 4180376 spent: 9824 begin: 4180467 end: 4190758 spent: 10291 begin: 4190813 end: 4200223 spent: 9410 begin: 4200270 end: 4210154 spent: 9884 begin: 4210273 end: 4220450 spent: 10177 begin: 4220506 end: 4229925 spent: 9419 begin: 4229979 end: 4239799 spent: 9820 begin: 4239848 end: 4250161 spent: 10313 begin: 4250228 end: 4260840 spent: 10612 begin: 4260965 end: 4270023 spent: 9058 begin: 4270044 end: 4275973 spent: 5929 begin: 4276003 end: 4276020 spent: 17 begin: 4276038 end: 4279478 spent: 3440 begin: 4279500 end: 4279543 spent: 43 begin: 4279573 end: 4288691 spent: 9118 begin: 4288735 end: 4298068 spent: 9333 begin: 4298122 end: 4307506 spent: 9384 begin: 4307544 end: 4316513 spent: 8969 begin: 4316554 end: 4325814 spent: 9260 begin: 4325856 end: 4335190 spent: 9334 begin: 4335215 end: 4344673 spent: 9458 begin: 4344705 end: 4353490 spent: 8785 begin: 4353526 end: 4362681 spent: 9155 begin: 4362708 end: 4371599 spent: 8891 begin: 4371625 end: 4380252 spent: 8627 begin: 4380274 end: 4389092 spent: 8818 begin: 4389133 end: 4391905 spent: 2772 begin: 4391939 end: 4401588 spent: 9649 begin: 4401613 end: 4410105 spent: 8492 begin: 4410132 end: 4419025 spent: 8893 begin: 4419042 end: 4428946 spent: 9904 begin: 4429022 end: 4438597 spent: 9575 begin: 4438633 end: 4448567 spent: 9934 begin: 4448591 end: 4457896 spent: 9305 begin: 4457929 end: 4467395 spent: 9466 begin: 4467434 end: 4477347 spent: 9913 begin: 4477491 end: 4486930 spent: 9439 begin: 4486969 end: 4496103 spent: 9134 begin: 4496155 end: 4504575 spent: 8420 begin: 4504590 end: 4504607 spent: 17 begin: 4504626 end: 4514524 spent: 9898 begin: 4514557 end: 4523010 spent: 8453 begin: 4523035 end: 4532529 spent: 9494 begin: 4532565 end: 4541701 spent: 9136 begin: 4541744 end: 4549993 spent: 8249 begin: 4550030 end: 4559409 spent: 9379 begin: 4559456 end: 4568840 spent: 9384 begin: 4568895 end: 4577864 spent: 8969 begin: 4577910 end: 4587188 spent: 9278 begin: 4587231 end: 4596658 spent: 9427 begin: 4596680 end: 4606088 spent: 9408 begin: 4606166 end: 4614057 spent: 7891 begin: 4614073 end: 4614089 spent: 16 begin: 4614107 end: 4623284 spent: 9177 begin: 4623324 end: 4632333 spent: 9009 begin: 4632384 end: 4641432 spent: 9048 begin: 4641451 end: 4650680 spent: 9229 begin: 4650745 end: 4659519 spent: 8774 begin: 4659566 end: 4668434 spent: 8868 begin: 4668458 end: 4677574 spent: 9116 begin: 4677602 end: 4686613 spent: 9011 begin: 4686641 end: 4695497 spent: 8856 begin: 4695515 end: 4703892 spent: 8377 begin: 4703916 end: 4713326 spent: 9410 begin: 4713406 end: 4722033 spent: 8627 begin: 4722056 end: 4722069 spent: 13 begin: 4722096 end: 4731845 spent: 9749 begin: 4731938 end: 4740647 spent: 8709 begin: 4740698 end: 4749566 spent: 8868 begin: 4749587 end: 4759236 spent: 9649 begin: 4759254 end: 4765273 spent: 6019 begin: 4765304 end: 4780326 spent: 15022 begin: 4780349 end: 4790033 spent: 9684 begin: 4790092 end: 4800890 spent: 10798 begin: 4800971 end: 4810000 spent: 9029 begin: 4810051 end: 4820264 spent: 10213 begin: 4820383 end: 4829427 spent: 9044 begin: 4829450 end: 4829463 spent: 13 begin: 4829475 end: 4839469 spent: 9994 begin: 4839487 end: 4849244 spent: 9757 begin: 4849281 end: 4858940 spent: 9659 begin: 4858962 end: 4868808 spent: 9846 begin: 4868828 end: 4878610 spent: 9782 begin: 4878678 end: 4888994 spent: 10316 begin: 4889062 end: 4898431 spent: 9369 begin: 4898487 end: 4908922 spent: 10435 begin: 4909159 end: 4918532 spent: 9373 begin: 4918586 end: 4928478 spent: 9892 begin: 4928537 end: 4932921 spent: 4384 begin: 4932941 end: 4932966 spent: 25 begin: 4932989 end: 4933077 spent: 88 begin: 4933091 end: 4933104 spent: 13 begin: 4933118 end: 4933199 spent: 81 begin: 4933220 end: 4933255 spent: 35 begin: 4933272 end: 4933352 spent: 80 begin: 4933367 end: 4933406 spent: 39 begin: 4933437 end: 4943594 spent: 10157 begin: 4943650 end: 4953270 spent: 9620 begin: 4953288 end: 4961647 spent: 8359 begin: 4961687 end: 4971379 spent: 9692 begin: 4971400 end: 4980042 spent: 8642 begin: 4980096 end: 4989436 spent: 9340 begin: 4989456 end: 4997837 spent: 8381 begin: 4997924 end: 4998005 spent: 81 begin: 4998024 end: 5006805 spent: 8781 begin: 5006828 end: 5016024 spent: 9196 begin: 5016062 end: 5024504 spent: 8442 begin: 5024547 end: 5033452 spent: 8905 begin: 5033469 end: 5042493 spent: 9024 begin: 5042520 end: 5051828 spent: 9308 begin: 5051892 end: 5060468 spent: 8576 begin: 5060506 end: 5066137 spent: 5631 begin: 5066156 end: 5066174 spent: 18 begin: 5066195 end: 5075872 spent: 9677 begin: 5075921 end: 5085533 spent: 9612 begin: 5085552 end: 5095127 spent: 9575 begin: 5095169 end: 5104370 spent: 9201 begin: 5104411 end: 5113961 spent: 9550 begin: 5113988 end: 5123294 spent: 9306 begin: 5123318 end: 5132939 spent: 9621 begin: 5132969 end: 5135189 spent: 2220 begin: 5135202 end: 5144830 spent: 9628 begin: 5144856 end: 5154152 spent: 9296 begin: 5154179 end: 5163720 spent: 9541 begin: 5163770 end: 5173635 spent: 9865 begin: 5173670 end: 5183321 spent: 9651 begin: 5183366 end: 5192545 spent: 9179 begin: 5192583 end: 5202017 spent: 9434 begin: 5202035 end: 5202052 spent: 17 begin: 5202066 end: 5211650 spent: 9584 begin: 5211677 end: 5221037 spent: 9360 begin: 5221061 end: 5230271 spent: 9210 begin: 5230295 end: 5239535 spent: 9240 begin: 5239568 end: 5249006 spent: 9438 begin: 5249024 end: 5258058 spent: 9034 begin: 5258080 end: 5266155 spent: 8075 begin: 5266188 end: 5266208 spent: 20 begin: 5266225 end: 5266743 spent: 518 begin: 5266758 end: 5266792 spent: 34 begin: 5266930 end: 5276439 spent: 9509 begin: 5276496 end: 5285552 spent: 9056 begin: 5285605 end: 5294566 spent: 8961 begin: 5294586 end: 5302800 spent: 8214 begin: 5302836 end: 5302868 spent: 32 begin: 5302887 end: 5311665 spent: 8778 begin: 5311684 end: 5319009 spent: 7325 begin: 5319061 end: 5329114 spent: 10053 begin: 5329173 end: 5334334 spent: 5161 begin: 5334351 end: 5334369 spent: 18 begin: 5334386 end: 5338106 spent: 3720 begin: 5338132 end: 5338159 spent: 27 begin: 5338172 end: 5338817 spent: 645 begin: 5338841 end: 5338878 spent: 37 begin: 5338905 end: 5338992 spent: 87 begin: 5339009 end: 5339042 spent: 33 begin: 5339056 end: 5339126 spent: 70 begin: 5339153 end: 5339189 spent: 36 begin: 5339200 end: 5339280 spent: 80 begin: 5339297 end: 5339327 spent: 30 begin: 5339343 end: 5339424 spent: 81 begin: 5339448 end: 5339479 spent: 31 begin: 5339490 end: 5339546 spent: 56 begin: 5339558 end: 5339605 spent: 47 begin: 5339632 end: 5339743 spent: 111 begin: 5339755 end: 5339780 spent: 25 begin: 5339798 end: 5339863 spent: 65 begin: 5339888 end: 5339938 spent: 50 begin: 5339957 end: 5340076 spent: 119 begin: 5340102 end: 5340127 spent: 25 begin: 5340150 end: 5340236 spent: 86 begin: 5340257 end: 5340286 spent: 29 begin: 5340308 end: 5350176 spent: 9868 begin: 5350199 end: 5359979 spent: 9780 begin: 5360024 end: 5369673 spent: 9649 begin: 5369697 end: 5379540 spent: 9843 begin: 5379560 end: 5389436 spent: 9876 begin: 5389489 end: 5398955 spent: 9466 begin: 5398978 end: 5408790 spent: 9812 begin: 5408811 end: 5418719 spent: 9908 begin: 5418740 end: 5428151 spent: 9411 begin: 5428182 end: 5437728 spent: 9546 begin: 5437745 end: 5441300 spent: 3555 begin: 5441322 end: 5451144 spent: 9822 begin: 5451178 end: 5460896 spent: 9718 begin: 5460917 end: 5470805 spent: 9888 begin: 5470828 end: 5481508 spent: 10680 begin: 5481601 end: 5491158 spent: 9557 begin: 5491246 end: 5500715 spent: 9469 begin: 5500755 end: 5510398 spent: 9643 begin: 5510458 end: 5520185 spent: 9727 begin: 5520255 end: 5531540 spent: 11285 begin: 5531615 end: 5538999 spent: 7384 begin: 5539074 end: 5539163 spent: 89 begin: 5539229 end: 5549375 spent: 10146 begin: 5549444 end: 5558958 spent: 9514 begin: 5559015 end: 5568933 spent: 9918 begin: 5569031 end: 5578916 spent: 9885 begin: 5578971 end: 5588766 spent: 9795 begin: 5588809 end: 5598413 spent: 9604 begin: 5598442 end: 5608080 spent: 9638 begin: 5608106 end: 5619154 spent: 11048 begin: 5619278 end: 5628143 spent: 8865 begin: 5628164 end: 5628198 spent: 34 begin: 5628271 end: 5632581 spent: 4310 begin: 5632603 end: 5632620 spent: 17 begin: 5632636 end: 5642576 spent: 9940 begin: 5642607 end: 5652252 spent: 9645 begin: 5652270 end: 5662160 spent: 9890 begin: 5662180 end: 5672094 spent: 9914 begin: 5672115 end: 5681857 spent: 9742 begin: 5681896 end: 5691592 spent: 9696 begin: 5691612 end: 5701520 spent: 9908 begin: 5701543 end: 5711322 spent: 9779 begin: 5711354 end: 5719045 spent: 7691 begin: 5719070 end: 5719084 spent: 14 begin: 5719098 end: 5729054 spent: 9956 begin: 5729089 end: 5738691 spent: 9602 begin: 5738710 end: 5748618 spent: 9908 begin: 5748637 end: 5758533 spent: 9896 begin: 5758554 end: 5768324 spent: 9770 begin: 5768357 end: 5778083 spent: 9726 begin: 5778100 end: 5788048 spent: 9948 begin: 5788071 end: 5797791 spent: 9720 begin: 5797823 end: 5803316 spent: 5493 begin: 5803334 end: 5803356 spent: 22 begin: 5803370 end: 5813291 spent: 9921 begin: 5813326 end: 5822885 spent: 9559 begin: 5822905 end: 5832788 spent: 9883 begin: 5832811 end: 5842688 spent: 9877 begin: 5842709 end: 5852483 spent: 9774 begin: 5852510 end: 5862308 spent: 9798 begin: 5862329 end: 5872209 spent: 9880 begin: 5872230 end: 5882020 spent: 9790 begin: 5882056 end: 5882614 spent: 558 begin: 5882630 end: 5892598 spent: 9968 begin: 5892620 end: 5902397 spent: 9777 begin: 5902437 end: 5911968 spent: 9531 begin: 5911989 end: 5922032 spent: 10043 begin: 5922059 end: 5931661 spent: 9602 begin: 5931679 end: 5941548 spent: 9869 begin: 5941579 end: 5951069 spent: 9490 begin: 5951088 end: 5957778 spent: 6690 begin: 5957932 end: 5957967 spent: 35 begin: 5958001 end: 5967852 spent: 9851 begin: 5967869 end: 5977742 spent: 9873 begin: 5977763 end: 5987665 spent: 9902 begin: 5987708 end: 5997318 spent: 9610 begin: 5997342 end: 6007134 spent: 9792 begin: 6007156 end: 6017064 spent: 9908 begin: 6017087 end: 6026748 spent: 9661 begin: 6026782 end: 6032515 spent: 5733 begin: 6032532 end: 6032561 spent: 29 begin: 6032579 end: 6042403 spent: 9824 begin: 6042445 end: 6052114 spent: 9669 begin: 6052133 end: 6062056 spent: 9923 begin: 6062078 end: 6071916 spent: 9838 begin: 6071953 end: 6081628 spent: 9675 begin: 6081651 end: 6091491 spent: 9840 begin: 6091508 end: 6101433 spent: 9925 begin: 6101455 end: 6102294 spent: 839 begin: 6102318 end: 6112144 spent: 9826 begin: 6112162 end: 6122014 spent: 9852 begin: 6122035 end: 6131795 spent: 9760 begin: 6131835 end: 6141460 spent: 9625 begin: 6141486 end: 6151267 spent: 9781 begin: 6151287 end: 6161123 spent: 9836 begin: 6161165 end: 6170146 spent: 8981 begin: 6170164 end: 6175587 spent: 5423 begin: 6175605 end: 6175624 spent: 19 begin: 6175644 end: 6182161 spent: 6517 begin: 6182209 end: 6189565 spent: 7356 begin: 6189619 end: 6198729 spent: 9110 begin: 6198788 end: 6208897 spent: 10109 begin: 6208993 end: 6219608 spent: 10615 begin: 6219654 end: 6228619 spent: 8965 begin: 6228668 end: 6238808 spent: 10140 begin: 6238931 end: 6248258 spent: 9327 begin: 6248281 end: 6248296 spent: 15 begin: 6248310 end: 6248395 spent: 85 begin: 6248408 end: 6248450 spent: 42 begin: 6248471 end: 6248559 spent: 88 begin: 6248571 end: 6248604 spent: 33 begin: 6248622 end: 6248707 spent: 85 begin: 6248729 end: 6248771 spent: 42 begin: 6248787 end: 6248858 spent: 71 begin: 6248871 end: 6248905 spent: 34 begin: 6248937 end: 6249037 spent: 100 begin: 6249053 end: 6249085 spent: 32 begin: 6249103 end: 6249193 spent: 90 begin: 6249209 end: 6249253 spent: 44 begin: 6249272 end: 6258965 spent: 9693 begin: 6259002 end: 6268671 spent: 9669 begin: 6268694 end: 6278385 spent: 9691 begin: 6278414 end: 6288450 spent: 10036 begin: 6288473 end: 6297674 spent: 9201 begin: 6297700 end: 6307614 spent: 9914 begin: 6307711 end: 6317395 spent: 9684 begin: 6317439 end: 6327435 spent: 9996 begin: 6327484 end: 6330532 spent: 3048 begin: 6330551 end: 6340310 spent: 9759 begin: 6340378 end: 6350227 spent: 9849 begin: 6350285 end: 6360051 spent: 9766 begin: 6360075 end: 6370184 spent: 10109 begin: 6370263 end: 6379933 spent: 9670 begin: 6379968 end: 6389773 spent: 9805 begin: 6389792 end: 6399792 spent: 10000 begin: 6399887 end: 6409437 spent: 9550 begin: 6409476 end: 6419563 spent: 10087 begin: 6419615 end: 6422670 spent: 3055 begin: 6422693 end: 6426406 spent: 3713 begin: 6426438 end: 6426456 spent: 18 begin: 6426467 end: 6426634 spent: 167 begin: 6426654 end: 6426687 spent: 33 begin: 6426707 end: 6435654 spent: 8947 begin: 6435705 end: 6444659 spent: 8954 begin: 6444674 end: 6453820 spent: 9146 begin: 6453915 end: 6462104 spent: 8189 begin: 6462133 end: 6471288 spent: 9155 begin: 6471329 end: 6480473 spent: 9144 begin: 6480498 end: 6489309 spent: 8811 begin: 6489341 end: 6498396 spent: 9055 begin: 6498431 end: 6507436 spent: 9005 begin: 6507462 end: 6514770 spent: 7308 begin: 6514806 end: 6514833 spent: 27 begin: 6514845 end: 6523311 spent: 8466 begin: 6523333 end: 6532686 spent: 9353 begin: 6532729 end: 6541464 spent: 8735 begin: 6541513 end: 6550819 spent: 9306 begin: 6550854 end: 6560084 spent: 9230 begin: 6560107 end: 6569723 spent: 9616 begin: 6569780 end: 6578759 spent: 8979 begin: 6578802 end: 6587801 spent: 8999 begin: 6587823 end: 6596984 spent: 9161 begin: 6597090 end: 6605953 spent: 8863 begin: 6605976 end: 6609024 spent: 3048 begin: 6609044 end: 6609064 spent: 20 begin: 6609086 end: 6617902 spent: 8816 begin: 6617924 end: 6627107 spent: 9183 begin: 6627131 end: 6636743 spent: 9612 begin: 6636764 end: 6646874 spent: 10110 begin: 6646949 end: 6656644 spent: 9695 begin: 6656691 end: 6665727 spent: 9036 begin: 6665747 end: 6674777 spent: 9030 begin: 6674815 end: 6683284 spent: 8469 begin: 6683300 end: 6692771 spent: 9471 begin: 6693068 end: 6702316 spent: 9248 begin: 6702401 end: 6708450 spent: 6049 begin: 6708471 end: 6708486 spent: 15 begin: 6708505 end: 6718323 spent: 9818 begin: 6718344 end: 6727315 spent: 8971 begin: 6727357 end: 6735990 spent: 8633 begin: 6736004 end: 6744358 spent: 8354 begin: 6744385 end: 6753518 spent: 9133 begin: 6753557 end: 6762258 spent: 8701 begin: 6762287 end: 6771386 spent: 9099 begin: 6771414 end: 6781301 spent: 9887 begin: 6781357 end: 6789283 spent: 7926 begin: 6789328 end: 6798155 spent: 8827 begin: 6798185 end: 6807258 spent: 9073 begin: 6807282 end: 6808532 spent: 1250 begin: 6808554 end: 6818005 spent: 9451 begin: 6818032 end: 6827409 spent: 9377 begin: 6827434 end: 6837206 spent: 9772 begin: 6837244 end: 6846702 spent: 9458 begin: 6846736 end: 6856635 spent: 9899 begin: 6856689 end: 6866397 spent: 9708 begin: 6866439 end: 6875465 spent: 9026 begin: 6875485 end: 6892353 spent: 16868 begin: 6892383 end: 6897478 spent: 5095 begin: 6897506 end: 6905381 spent: 7875 begin: 6905402 end: 6913436 spent: 8034 begin: 6913463 end: 6921771 spent: 8308 begin: 6921802 end: 6921829 spent: 27 begin: 6921846 end: 6931423 spent: 9577 begin: 6931471 end: 6940854 spent: 9383 begin: 6940927 end: 6949729 spent: 8802 begin: 6949783 end: 6959057 spent: 9274 begin: 6959105 end: 6968552 spent: 9447 begin: 6968573 end: 6977745 spent: 9172 begin: 6977802 end: 6986863 spent: 9061 begin: 6986911 end: 6997179 spent: 10268 begin: 6997223 end: 7006454 spent: 9231 begin: 7006495 end: 7015671 spent: 9176 begin: 7015695 end: 7025103 spent: 9408 begin: 7025141 end: 7034803 spent: 9662 begin: 7034842 end: 7035755 spent: 913 begin: 7035772 end: 7035847 spent: 75 begin: 7035862 end: 7035901 spent: 39 begin: 7035919 end: 7036099 spent: 180 begin: 7036119 end: 7036154 spent: 35 begin: 7036170 end: 7036228 spent: 58 begin: 7036241 end: 7036285 spent: 44 begin: 7036311 end: 7036374 spent: 63 begin: 7036386 end: 7036424 spent: 38 begin: 7036441 end: 7036501 spent: 60 begin: 7036527 end: 7036611 spent: 84 begin: 7036629 end: 7036843 spent: 214 begin: 7036858 end: 7036892 spent: 34 begin: 7036911 end: 7036985 spent: 74 begin: 7037009 end: 7037056 spent: 47 begin: 7037074 end: 7037216 spent: 142 begin: 7037233 end: 7037277 spent: 44 begin: 7037299 end: 7037366 spent: 67 begin: 7037384 end: 7037431 spent: 47 begin: 7037445 end: 7037471 spent: 26 begin: 7037498 end: 7037616 spent: 118 begin: 7037636 end: 7037824 spent: 188 begin: 7037838 end: 7037899 spent: 61 begin: 7037912 end: 7037956 spent: 44 begin: 7037981 end: 7038053 spent: 72 begin: 7038070 end: 7038104 spent: 34 begin: 7038121 end: 7038204 spent: 83 begin: 7038459 end: 7038507 spent: 48 begin: 7038522 end: 7038587 spent: 65 begin: 7038599 end: 7038636 spent: 37 begin: 7038672 end: 7038737 spent: 65 begin: 7038755 end: 7038952 spent: 197 begin: 7038969 end: 7039029 spent: 60 begin: 7039047 end: 7039093 spent: 46 begin: 7039118 end: 7039188 spent: 70 begin: 7039205 end: 7039219 spent: 14 begin: 7039231 end: 7039301 spent: 70 begin: 7039329 end: 7039367 spent: 38 begin: 7039378 end: 7039431 spent: 53 begin: 7039449 end: 7039468 spent: 19 begin: 7039484 end: 7039571 spent: 87 begin: 7039587 end: 7039626 spent: 39 begin: 7039638 end: 7039858 spent: 220 begin: 7039876 end: 7039907 spent: 31 begin: 7039946 end: 7039963 spent: 17 begin: 7039978 end: 7040052 spent: 74 begin: 7040077 end: 7040101 spent: 24 begin: 7040122 end: 7040414 spent: 292 begin: 7040429 end: 7040472 spent: 43 begin: 7040488 end: 7040629 spent: 141 begin: 7040653 end: 7040698 spent: 45 begin: 7040712 end: 7040791 spent: 79 begin: 7040811 end: 7040858 spent: 47 begin: 7040870 end: 7040951 spent: 81 begin: 7040973 end: 7040984 spent: 11 begin: 7040994 end: 7041462 spent: 468 begin: 7041482 end: 7041776 spent: 294 begin: 7041802 end: 7042043 spent: 241 begin: 7042060 end: 7042094 spent: 34 begin: 7042108 end: 7042194 spent: 86 begin: 7042229 end: 7042273 spent: 44 begin: 7042295 end: 7042359 spent: 64 begin: 7042374 end: 7042404 spent: 30 begin: 7042427 end: 7042502 spent: 75 begin: 7042522 end: 7042556 spent: 34 begin: 7042 ```
xqdd commented 5 years ago

more test

# chmod +x video_monitor ;./video_monitor 
            fuction  time(usec)    realtime      reduce
----------------------------------------------------
         usleep         500000     502037       2037
         nanosleep      500000     509860       9860
         select         500000     510408      10408
         pselect        500000     509859       9859
--------------------------------
         usleep         100000     109669       9669
         nanosleep      100000     110126      10126
         select         100000     109582       9582
         pselect        100000     109938       9938
--------------------------------
         usleep          50000      59847       9847
         nanosleep       50000      59934       9934
         select          50000      60007      10007
         pselect         50000      59993       9993
--------------------------------
         usleep          10000      19799       9799
         nanosleep       10000      20013      10013
         select          10000      19901       9901
         pselect         10000      19823       9823
--------------------------------
         usleep           1000      10028       9028
         nanosleep        1000       9946       8946
         select           1000       9943       8943
         pselect          1000       9894       8894
--------------------------------
         usleep            900       9925       9025
         nanosleep         900       9983       9083
         select            900       9747       8847
         pselect           900      10082       9182
--------------------------------
         usleep            500       9954       9454
         nanosleep         500       9788       9288
         select            500       9990       9490
         pselect           500       9991       9491
--------------------------------
         usleep            100      10011       9911
         nanosleep         100       9830       9730
         select            100       9911       9811
         pselect           100      10122      10022
--------------------------------
         usleep             10       9658       9648
         nanosleep          10      10009       9999
         select             10      10011      10001
         pselect            10       9733       9723
--------------------------------
         usleep              1       9945       9944
         nanosleep           1       9994       9993
         select              1      10045      10044
         pselect             1       9815       9814
--------------------------------
int test_delay() {
    unsigned int nTimeTestSec = 0;
    unsigned int nTimeTest = 0;
    struct timeval tvBegin;
    struct timeval tvNow;
    int ret = 0;
    unsigned int nDelay = 0;
    struct timeval tv;
    int fd = 1;
    int i = 0;
    struct timespec req;

    unsigned int delay[20] =
            {500000, 100000, 50000, 10000, 1000, 900, 500, 100, 10, 1, 0};
    int nReduce = 0; //误差

    fprintf(stderr, "%19s%12s%12s%12s\n", "fuction", "time(usec)", "realtime", "reduce");
    fprintf(stderr, "----------------------------------------------------\n");
    for (i = 0; i < 20; i++) {
        if (delay[i] <= 0)
            break;
        nDelay = delay[i];
        //test sleep
        gettimeofday(&tvBegin, NULL);
        ret = usleep(nDelay);
        if (ret == -1) {
            fprintf(stderr, "usleep error, errno=%d [%s]\n", errno, strerror(errno));
        }
        gettimeofday(&tvNow, NULL);
        nTimeTest = (tvNow.tv_sec - tvBegin.tv_sec) * 1000000 + tvNow.tv_usec - tvBegin.tv_usec;
        nReduce = nTimeTest - nDelay;

        fprintf(stderr, "\t usleep       %8u   %8u   %8d\n", nDelay, nTimeTest, nReduce);

        //test nanosleep
        req.tv_sec = nDelay / 1000000;
        req.tv_nsec = (nDelay % 1000000) * 1000;

        gettimeofday(&tvBegin, NULL);
        ret = nanosleep(&req, NULL);
        if (-1 == ret) {
            fprintf(stderr, "\t nanousleep   %8u   not support\n", nDelay);
        }
        gettimeofday(&tvNow, NULL);
        nTimeTest = (tvNow.tv_sec - tvBegin.tv_sec) * 1000000 + tvNow.tv_usec - tvBegin.tv_usec;
        nReduce = nTimeTest - nDelay;
        fprintf(stderr, "\t nanosleep    %8u   %8u   %8d\n", nDelay, nTimeTest, nReduce);

        //test select
        tv.tv_sec = 0;
        tv.tv_usec = nDelay;

        gettimeofday(&tvBegin, NULL);
        ret = select(0, NULL, NULL, NULL, &tv);
        if (-1 == ret) {
            fprintf(stderr, "select error. errno = %d [%s]\n", errno, strerror(errno));
        }

        gettimeofday(&tvNow, NULL);
        nTimeTest = (tvNow.tv_sec - tvBegin.tv_sec) * 1000000 + tvNow.tv_usec - tvBegin.tv_usec;
        nReduce = nTimeTest - nDelay;
        fprintf(stderr, "\t select       %8u   %8u   %8d\n", nDelay, nTimeTest, nReduce);

        //pselcet
        req.tv_sec = nDelay / 1000000;
        req.tv_nsec = (nDelay % 1000000) * 1000;

        gettimeofday(&tvBegin, NULL);
        ret = pselect(0, NULL, NULL, NULL, &req, NULL);
        if (-1 == ret) {
            fprintf(stderr, "select error. errno = %d [%s]\n", errno, strerror(errno));
        }

        gettimeofday(&tvNow, NULL);
        nTimeTest = (tvNow.tv_sec - tvBegin.tv_sec) * 1000000 + tvNow.tv_usec - tvBegin.tv_usec;
        nReduce = nTimeTest - nDelay;
        fprintf(stderr, "\t pselect      %8u   %8u   %8d\n", nDelay, nTimeTest, nReduce);

        fprintf(stderr, "--------------------------------\n");

    }

    return 0;
}
kisvegabor commented 5 years ago

I've just also realized clock() isn't working well here.

I've update the main.c to correctly measure the time and optimized fbdev.c

xqdd commented 5 years ago

I will test it when I can use my mouse in v6.0 ^^

kisvegabor commented 5 years ago

I will test it when I can use my mouse in v6.0 ^^

It would be good the get feedback from the display part too.

The tick handling is improved again: cc02e15

xqdd commented 5 years ago

How to use it? Like this?

void *my_thread(void *) {
    while (1) {
        lv_tick_inc(custom_tick_get());
    }
}

int main(void) {
    /*LittlevGL init*/
    lv_init();

    /*Linux frame buffer device init*/
    fbdev_init();

    /*A small buffer for LittlevGL to draw the screen's content*/
    static lv_color_t buf[DISP_BUF_SIZE];

    /*Initialize a descriptor for the buffer*/
    static lv_disp_buf_t disp_buf;
    lv_disp_buf_init(&disp_buf, buf, NULL, DISP_BUF_SIZE);

    /*Initialize and register a display driver*/
    lv_disp_drv_t disp_drv;
    lv_disp_drv_init(&disp_drv);
    disp_drv.buffer = &disp_buf;
    disp_drv.flush_cb = fbdev_flush;
    lv_disp_drv_register(&disp_drv);

    /*Create a Demo*/
    demo_create();

    pthread_t pid1;
    pthread_create(&pid1, NULL, my_thread, NULL);

    /*Handle LitlevGL tasks (tickless mode)*/
    while (1) {
        lv_task_handler();
        usleep(5000);
    }
    return 0;
}
embeddedt commented 5 years ago

It's already configured for you. Just git pull the latest version and use it. No changes should be necessary.

xqdd commented 5 years ago

Are you sure not need lv_tick_inc()? https://github.com/littlevgl/lv_linux_frame_buffer/blob/master/main.c#L37

embeddedt commented 5 years ago

@XQDD Please read lv_conf.h carefully.

https://github.com/littlevgl/lvgl/blob/89bc24a7d99e09c0bf22033111db780654d921fc/lv_conf_template.h#L200-L206

@kisvegabor enabled LV_TICK_CUSTOM on this project, so calling lv_tick_inc is not necessary.

xqdd commented 5 years ago

Please ignore the noise... It seems the same

24df6efe36dfab4af8d29e3ca5e0bbb5.zip

kisvegabor commented 5 years ago

It's not the same because now the duration of the animation is correct. You just have a few FPS. In the previous version the tab switching was much slower (~2sec instead of ~500ms).

stale[bot] commented 5 years ago

This issue or pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.