您尚未登录。

楼主 # 2022-03-09 17:02:21

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

如题,用了LVGL的gif库来显示动图,图片大小2.13M,转换成C文件之后13.6M,效果不太好,显示得很缓慢,是哪里没优化好吗,还是说软件解码效果就是这样的?有什么其它的图形库显示gif图片流畅的吗,请大佬们指点一二

最近编辑记录 岁月快快快 (2022-03-09 17:19:57)

离线

楼主 #1 2022-03-09 17:04:33

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

test.gif
这是原图

离线

楼主 #4 2022-03-10 11:48:22

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

aozima 说:

要不用硬件jpg?

硬件jpg解码是视频解码吧,直接用播放视频的形式来做感觉不好做成一个控件啊,图片控件可以直接调用lvgl的接口来显示和隐藏

离线

楼主 #6 2022-03-10 15:11:33

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

cube 说:

把那个帧率fps显示打开,看下现在是什么帧率?

fps显示是30-32  cpu占用率百分之九十多,整个gif做的是6秒钟,板子上显示12秒才显示完  翻了一倍.....

最近编辑记录 岁月快快快 (2022-03-10 15:53:33)

离线

楼主 #8 2022-03-11 19:25:53

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

@海石生风
lvgl有缓存图片的功能,我打开了感觉也没有什么用,准备试一下移植AWTK看看效果如何

离线

楼主 #10 2022-03-15 23:38:21

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

@海石生风
多谢指点,现在正在移植AWTK到linux上,按照官方的教程编译demo,一直报错:
TypeError: File /home/robert/myProject/aboutLinux/linuxFile/SweepFLoorMachineUseLinux/awtkApp/awtk-linux-fb/bin found where directory expected.:
File "/home/robert/myProject/aboutLinux/linuxFile/SweepFLoorMachineUseLinux/awtkApp/awtk-linux-fb/SConstruct", line 77:
SConscript(SConscriptFiles)
File "/usr/local/lib/python3.7/dist-packages/SCons/Script/SConscript.py", line 660:
return method(*args, **kw)
File "/usr/local/lib/python3.7/dist-packages/SCons/Script/SConscript.py", line 597:
return _SConscript(self.fs, *files, **subst_kw)
File "/usr/local/lib/python3.7/dist-packages/SCons/Script/SConscript.py", line 285:
exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)
File "/home/robert/myProject/aboutLinux/linuxFile/SweepFLoorMachineUseLinux/awtkApp/awtk-linux-fb/build/var/awtk/src/SConscript", line 100:
LIBS=TKC_DEPS_LIBS, LINKFLAGS=TKC_LINKFLAGS)
File "/usr/local/lib/python3.7/dist-packages/SCons/Environment.py", line 238:
return super().call(target, source, *args, **kw)
File "/usr/local/lib/python3.7/dist-packages/SCons/Util.py", line 742:
return self.method(*nargs, **kwargs)
File "/usr/local/lib/python3.7/dist-packages/SCons/Builder.py", line 662:
return self._execute(env, target, source, OverrideWarner(kw), ekw)
File "/usr/local/lib/python3.7/dist-packages/SCons/Builder.py", line 568:
tlist, slist = self._create_nodes(env, target, source)
File "/usr/local/lib/python3.7/dist-packages/SCons/Builder.py", line 513:
tlist = env.arg2nodes(target, target_factory, target=target, source=source)
File "/usr/local/lib/python3.7/dist-packages/SCons/Environment.py", line 468:
v = node_factory(self.subst(v, **kw))
File "/usr/local/lib/python3.7/dist-packages/SCons/Node/FS.py", line 1435:
return self._lookup(name, directory, File, create)
File "/usr/local/lib/python3.7/dist-packages/SCons/Node/FS.py", line 1414:
return root._lookup_abs(p, fsclass, create)
File "/usr/local/lib/python3.7/dist-packages/SCons/Node/FS.py", line 2434:
dir_node = self._lookup_abs(dir_name, Dir)
File "/usr/local/lib/python3.7/dist-packages/SCons/Node/FS.py", line 2439:
result.diskcheck_match()
File "/usr/local/lib/python3.7/dist-packages/SCons/Node/FS.py", line 1646:
"File %s found where directory expected.")
File "/usr/local/lib/python3.7/dist-packages/SCons/Node/FS.py", line 389:
return self.func(*args, **kw)
File "/usr/local/lib/python3.7/dist-packages/SCons/Node/FS.py", line 410:
raise TypeError(errorfmt % node.get_abspath())

按照 https://github.com/zlgopen/awtk-linux-fb/issues/49#
去修改,也是报一样的错误

有遇到过这样的错误吗

最近编辑记录 岁月快快快 (2022-03-16 00:06:08)

离线

楼主 #12 2022-03-17 13:06:07

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

diff --git a/awtk_config.py b/awtk_config.py
index b789e90..e43b4ef 100644
--- a/awtk_config.py
+++ b/awtk_config.py
@@ -103,15 +103,18 @@ OS_FLAGS='-Wall -Os -fno-strict-aliasing '
 #TSLIB_LIB_DIR=joinPath(TK_LINUX_FB_ROOT, '3rd/tslib/src/.libs')
 
 #for prebuild tslib
-TSLIB_LIB_DIR='/opt/28x/tslib/lib'
-TSLIB_INC_DIR='/opt/28x/tslib/include'
-TOOLS_PREFIX='/opt/28x/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-linux-'
+#TSLIB_LIB_DIR='/opt/28x/tslib/lib'
+#TSLIB_INC_DIR='/opt/28x/tslib/include'
+#TOOLS_PREFIX='/opt/28x/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-linux-'
+TSLIB_LIB_DIR=''
+TSLIB_INC_DIR=''
+TOOLS_PREFIX='/usr/local/arm-linux-gcc/bin/arm-linux-gnueabi'
 
 #TOOLS_PREFIX='/opt/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-'
 
 #for qemu
-TOOLS_PREFIX='/opt/qemu/buildroot-2021.02.2/output/host/bin/arm-linux-'
-TSLIB_LIB_DIR=''
+#TOOLS_PREFIX='/opt/qemu/buildroot-2021.02.2/output/host/bin/arm-linux-'
+#TSLIB_LIB_DIR=''
 
 #TSLIB_LIB_DIR=''

按照官方的教程来移植的,apt安装和pip安装scons都试过了,都是报这个错误;https://github.com/zlgopen/awtk-linux-fb/issues/49#  github上面有人说是linux环境的问题,我之前的环境是ubuntu16.04.6,重新装了个deepin20.4,也是报一样的错误

最近编辑记录 岁月快快快 (2022-03-17 13:06:57)

离线

楼主 #13 2022-03-17 13:46:40

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

海石生风 说:

@岁月快快快
没遇到过种问题,你的awtk-linux-fb/awtk_config.py配置文件是怎么改的?帖下git diff输出看下。
建议尝试用apt或者从源码重新安装scons。

从源码安装也试了,报一样的错误
sad

离线

楼主 #15 2022-03-18 23:38:03

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

把awtk-linux-fb文件夹下"bin"这个文件删掉就可以编译了,这个文件好像是编译一次之后不管通不通过都会生成,然后如果有这文件的时候再去编译就会报上面的错误,应该是把bin这个文件识别成SConstruct文件,然后就报错了,太坑了!

最近编辑记录 岁月快快快 (2022-03-18 23:48:55)

离线

楼主 #17 2022-03-19 13:14:27

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

海石生风 说:

@岁月快快快
AWTK的构造系统在编译前即读取配置文件时会先在编译目录里创建bin文件夹,如果你在这个目录里有个bin文件,那自然创建bin文件夹就失败了,从导致读取配置文件失败。

这个文件不是我创建的,是编译以后自动生成的,也就是我第一次编译因为其它的原因出错了,然后也生成了这个文件,然后再去编译就会一直报错,直接删掉,或者执行scons -c(类似于make clean的操作), 就通过了

离线

楼主 #19 2022-03-20 15:33:27

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

海石生风 说:

那估计是你的文件系统有问题

麻烦不断,又有新问题了,用编译buildroot的工具链来编译awtk-linux-fb报错:

-I/home/robert/myProject/aboutLinux/linuxFile/SweepFLoorMachineUseLinux/awtkApp/awtk/res build/var/awtk/src/charset/encoding.c
build/var/awtk/src/charset/encoding.c:30:10: fatal error: iconv.h: No such file or directory
 #include <iconv.h>
          ^~~~~~~~~
compilation terminated.
scons: *** [build/var/awtk/src/charset/encoding.o] Error 1
scons: building terminated because of errors.

可能是buildroot工具链不支持iconv库?或者是我没配置好?
配置如下:
1.png
.png
buildroot试了buildroot-2018.02.2和buildroot-2018.08.2,都有一样的问题
用同样的buildroot工具链去编译lvgl又是没有问题的,可以编译通过,编译出来的demo可以在板子上运行;
用编译内核的工具链gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz去编译awtk-linux-fb又是可以通过的,没有报缺少iconv.h;
但是用编译内核的工具链编出来的应用程序在板子上执行不了,应该是和编译根文件系统用的glibc的版本不一样导致,所以只能用buildroot的工具链来编译;
strings buildroot-2018.02.2/output/host/bin/arm-linux-gcc | grep -i glibc
GLIBC_2.14
GLIBC_2.3
GLIBC_2.2.5

用编译内核的工具链编译出来的应用程序执行报错信息:

[root@buildroot: /opt/release/bin]$./demo &
[1]-  Done(127)                  ./demo
[root@buildroot: /opt/release/bin]$-sh: ./demo: not found
^C
[root@buildroot: /opt/release/bin]$strings libawtk.so  | grep -i glibc
GLIBC_2.4
GLIBCXX_3.4
GLIBC_2.7
signal@@GLIBC_2.4
atan@@GLIBC_2.4
pthread_cond_init@@GLIBC_2.4
chdir@@GLIBC_2.4
stdin@@GLIBC_2.4
sem_destroy@@GLIBC_2.4
_Znwj@@GLIBCXX_3.4
pthread_mutex_lock@@GLIBC_2.4
wcslen@@GLIBC_2.4
pthread_mutex_init@@GLIBC_2.4
fsync@@GLIBC_2.4
rand@@GLIBC_2.4
sqrt@@GLIBC_2.4
ftruncate@@GLIBC_2.4
iswspace@@GLIBC_2.4
popen@@GLIBC_2.4
log@@GLIBC_2.4
dlerror@@GLIBC_2.4
gettimeofday@@GLIBC_2.4
recvfrom@@GLIBC_2.4
pthread_cond_destroy@@GLIBC_2.4
socketpair@@GLIBC_2.4
getsockopt@@GLIBC_2.4
strcasecmp@@GLIBC_2.4
ftello@@GLIBC_2.4
utime@@GLIBC_2.4
freeaddrinfo@@GLIBC_2.4
strtol@@GLIBC_2.4
free@@GLIBC_2.4
atan2f@@GLIBC_2.4
readdir@@GLIBC_2.4
getaddrinfo@@GLIBC_2.4
fseek@@GLIBC_2.4
atanf@@GLIBC_2.4
tanf@@GLIBC_2.4
qsort@@GLIBC_2.4
strncmp@@GLIBC_2.4
pthread_join@@GLIBC_2.4
ceilf@@GLIBC_2.4
closedir@@GLIBC_2.4
printf@@GLIBC_2.4
cosf@@GLIBC_2.4
pthread_cond_timedwait@@GLIBC_2.4
dlclose@@GLIBC_2.4
feof@@GLIBC_2.4
puts@@GLIBC_2.4
pthread_cond_signal@@GLIBC_2.4
perror@@GLIBC_2.4
asin@@GLIBC_2.4
strtoll@@GLIBC_2.4
getpwuid@@GLIBC_2.4
sendto@@GLIBC_2.4
readlink@@GLIBC_2.4
cos@@GLIBC_2.4
lround@@GLIBC_2.4
exp@@GLIBC_2.4
putchar@@GLIBC_2.4
memset@@GLIBC_2.4
pthread_self@@GLIBC_2.4
opendir@@GLIBC_2.4
acosf@@GLIBC_2.4
srandom@@GLIBC_2.4
recv@@GLIBC_2.4
remove@@GLIBC_2.4
fcntl@@GLIBC_2.4
wcschr@@GLIBC_2.4
listen@@GLIBC_2.4
snprintf@@GLIBC_2.4
ldexp@@GLIBC_2.4
pthread_mutex_trylock@@GLIBC_2.4
close@@GLIBC_2.4
pthread_cond_broadcast@@GLIBC_2.4
fopen@@GLIBC_2.4
_Znaj@@GLIBCXX_3.4
read@@GLIBC_2.4
bsearch@@GLIBC_2.4
pow@@GLIBC_2.4
vfprintf@@GLIBC_2.4
sinf@@GLIBC_2.4
__ctype_toupper_loc@@GLIBC_2.4
memmove@@GLIBC_2.4
freopen@@GLIBC_2.4
rmdir@@GLIBC_2.4
unlink@@GLIBC_2.4
gethostbyname@@GLIBC_2.4
dlopen@@GLIBC_2.4
ioctl@@GLIBC_2.4
tcflush@@GLIBC_2.4
cfsetspeed@@GLIBC_2.4
localtime@@GLIBC_2.4
gmtime_r@@GLIBC_2.4
system@@GLIBC_2.4
realloc@@GLIBC_2.4
strcpy@@GLIBC_2.4
mmap@@GLIBC_2.4
wcsncpy@@GLIBC_2.4
wcscmp@@GLIBC_2.4
_ZdlPv@@GLIBCXX_3.4
__assert_fail@@GLIBC_2.4
ceil@@GLIBC_2.4
open@@GLIBC_2.4
sincosf@@GLIBC_2.4
bind@@GLIBC_2.4
pthread_mutex_destroy@@GLIBC_2.4
tcsetattr@@GLIBC_2.4
fread@@GLIBC_2.4
fileno@@GLIBC_2.4
socket@@GLIBC_2.4
access@@GLIBC_2.4
mkdir@@GLIBC_2.4
atan2@@GLIBC_2.4
__cxa_atexit@@GLIBC_2.4
strstr@@GLIBC_2.4
sqrtf@@GLIBC_2.4
sem_init@@GLIBC_2.4
sem_timedwait@@GLIBC_2.4
__register_atfork@@GLIBC_2.4
pclose@@GLIBC_2.4
_ZdaPv@@GLIBCXX_3.4
__isoc99_vsscanf@@GLIBC_2.7
setsockopt@@GLIBC_2.4
select@@GLIBC_2.4
shutdown@@GLIBC_2.4
sleep@@GLIBC_2.4
raise@@GLIBC_2.4
__ctype_b_loc@@GLIBC_2.4
pthread_cond_wait@@GLIBC_2.4
getuid@@GLIBC_2.4
strtoull@@GLIBC_2.4
connect@@GLIBC_2.4
rewinddir@@GLIBC_2.4
calloc@@GLIBC_2.4
ftell@@GLIBC_2.4
ferror@@GLIBC_2.4
iconv_close@@GLIBC_2.4
fgets@@GLIBC_2.4
__fxstat@@GLIBC_2.4
sem_post@@GLIBC_2.4
fwrite@@GLIBC_2.4
sincos@@GLIBC_2.4
memcpy@@GLIBC_2.4
tan@@GLIBC_2.4
malloc@@GLIBC_2.4
strlen@@GLIBC_2.4
getcwd@@GLIBC_2.4
munmap@@GLIBC_2.4
accept@@GLIBC_2.4
usleep@@GLIBC_2.4
fclose@@GLIBC_2.4
write@@GLIBC_2.4
atof@@GLIBC_2.4
fseeko@@GLIBC_2.4
floorf@@GLIBC_2.4
fmodf@@GLIBC_2.4
__xstat@@GLIBC_2.4
stdout@@GLIBC_2.4
random@@GLIBC_2.4
iconv_open@@GLIBC_2.4
pthread_create@@GLIBC_2.4
strcmp@@GLIBC_2.4
time@@GLIBC_2.4
iconv@@GLIBC_2.4
tcgetattr@@GLIBC_2.4
__errno_location@@GLIBC_2.4
send@@GLIBC_2.4
tolower@@GLIBC_2.4
__sysv_signal@@GLIBC_2.4
strncpy@@GLIBC_2.4
fflush@@GLIBC_2.4
memcmp@@GLIBC_2.4
strrchr@@GLIBC_2.4
wcscpy@@GLIBC_2.4
__ctype_tolower_loc@@GLIBC_2.4
alarm@@GLIBC_2.4
getsockname@@GLIBC_2.4
mktime@@GLIBC_2.4
sin@@GLIBC_2.4
fputs@@GLIBC_2.4
getenv@@GLIBC_2.4
clock_gettime@@GLIBC_2.4
dlsym@@GLIBC_2.4
rename@@GLIBC_2.4
acos@@GLIBC_2.4
sem_wait@@GLIBC_2.4
strchr@@GLIBC_2.4
__cxa_finalize@@GLIBC_2.4
pthread_mutex_unlock@@GLIBC_2.4
settimeofday@@GLIBC_2.4
vsnprintf@@GLIBC_2.4
floor@@GLIBC_2.4
[2]+  Done(127)                  ./demo
[root@buildroot: /opt/release/bin]$[  181.351505] random: crng init done

[root@buildroot: /opt/release/bin]$ldd demo
checking sub-depends for '/usr/lib/libstdc++.so.6'
checking sub-depends for 'not found'
checking sub-depends for 'not found'
checking sub-depends for 'not found'
checking sub-depends for 'not found'
checking sub-depends for '/lib/libgcc_s.so.1'
checking sub-depends for 'not found'
checking sub-depends for '/lib/libc.so.0'
        ld-uClibc.so.1 => /lib/ld-uClibc.so.1 (0xb6f6a000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00000000)
        libpthread.so.0 => not found (0x00000000)
        librt.so.1 => not found (0x00000000)
        libm.so.6 => not found (0x00000000)
        libdl.so.2 => not found (0x00000000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00000000)
        libc.so.6 => not found (0x00000000)
        libc.so.0 => /lib/libc.so.0 (0x00000000)
        /lib/ld-uClibc.so.1 => /lib/ld-uClibc.so.1 (0x00000000)
        /lib/ld-uClibc.so.1 => /lib/ld-uClibc.so.1 (0x00000000)

@海石生风
大佬,你是用的什么版本的工具链来编译awtk的呢

最近编辑记录 岁月快快快 (2022-03-20 20:34:57)

离线

楼主 #21 2022-03-21 16:09:49

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

@海石生风
感谢大佬,example里面的demo已经可以成功编译运行了,但是如果编译我自己在界面设计器里面打包出来的demo,在板子上还是运行不了;
报错无法加载libawtk.so库:

# ./demo
/opt/releaseGif/bin/demo: can't load library 'libawtk.so'

# strings ./libawtk.so  | grep -i glibc
GLIBCXX_3.4
_Znwj@@GLIBCXX_3.4
_Znaj@@GLIBCXX_3.4
_ZdaPv@@GLIBCXX_3.4

对比了example里面编译出来的libawtk.so的glibc库版本又是一样的;
可能是linux下面的界面设计器的问题?
安装的是AWStudio-Community-amd64-1.0.21.deb这个版本

最近编辑记录 岁月快快快 (2022-03-21 16:13:58)

离线

楼主 #23 2022-03-22 20:57:13

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: F1C100s跑rtt+lvgl显示gif图片效果卡顿求助

linux下面好像还是beta版本,看来只能手写或者在windows下弄了

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn