寻找一种方法来强制缓存kivy小部件

时间:2018-12-28 02:32:11

标签: python kivy

我目前正在使用Kivy开发嵌入式多点触摸软件。 但是,我们的硬件规格不太严格,因此我正在尝试优化GUI以提高性能。

然后我发现Kivy Popup第一次弹出时速度很慢,然后又变快了。所以现在我猜想Kivy正在做一些缓存。

因此,我希望窗口小部件(尤其是弹出窗口和屏幕,因为它们非常慢)的行为就像它们以前被打开过一样。

在尝试初始化程序时,我尝试打开并关闭所有弹出窗口小部件,并浏览所有屏幕。看起来很有效,除了我还不知道如何隐藏屏幕变化,但我正在寻找更好的方法。

我一直在寻找有关kivy.cache here的kivy文档

但是尚不清楚这是否是我想要的。此外,很难理解我必须做什么以及所期望得到的结果。 (似乎它无论如何都无法正常工作)

1 个答案:

答案 0 :(得分:0)

最好是找到在第一次启动期间花费最多时间的时间,以确保对其进行缓存,而不是预加载每个可能的窗口小部件。一种可能是它只是加载默认的样式纹理,您可以通过将任何图像窗口小部件的源设置为def Cryptodata2(symbol,tick_interval='1m'): url = 'https://api.binance.com/api/v1/klines?symbol='+symbol+'&interval='+tick_interval df = pd.read_json(url) df.columns = [ "date","open","high","low","close","volume", "close time","quote asset volume","number of trades","taker buy base asset volume", "Taker buy quote asset volume","ignore"] df['date'] = pd.to_datetime(df['date'],dayfirst=True, unit = 'ms') df.set_index('date',inplace=True) del df['ignore'] return df 来加载该纹理,如果需要,第一个需要它的窗口小部件(包括弹出窗口)将不会自行加载做。如果您发现即使显示了Button后,第一个Popup仍然加载缓慢,那肯定是另外一回事,也许在https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT log_level运行kivy可以帮助您了解减速之前的最后情况。

images/defaulttheme-0.png