Bitte ändert euer Passwort!

Im März 2026 wurde das Forum gehackt. Dabei hatten die Angreifer Zugriff auf die Datenbank und somit Zugriff auf eure Passwörter. Auch wenn das Forum kein Passwort im Klartext speichert, können die Angreifer eure Passwörter knacken. Bitte ändert daher dringend euer Passwort für das Forum. Solltet ihr das gleiche Passwort auch an anderer Stelle verwenden, ändert es bitte unbedingt an allen Stellen!

Loop time and renderer:renderPolyline with points widely outside the screen size

  • borisff
  • Autor
  • Offline
  • Senior Mitglied
  • Senior Mitglied
  • Beiträge: 65
  • Thanks: 3

Loop time and renderer:renderPolyline with points widely outside the screen size

17 Okt. 2021 16:49 - 17 Okt. 2021 16:50
#
LUA addPoint isn't protected against points widely outside the screen, so
the time between the loop calls can be very high on a real transmitter when using
renderer:renderPolyline.

Attached example
when run on emulator, loop time is 21ms
when run on DC-24, Loop time stabilizes near 660ms.

File Attachment:

Dateiname: looptime.lua
Dateigröße:1.64 KB
Letzte Änderung: 17 Okt. 2021 16:50 von borisff.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • LeonAir
  • Offline
  • Senior Mitglied
  • Senior Mitglied
  • Beiträge: 57
  • Thanks: 58

Re: Loop time and renderer:renderPolyline with points widely outside the screen size

17 Okt. 2021 18:04
#
Does lcd.setClipping or renderer:setClipping improve the performance? (fixed some typos btw)

File Attachment:

Dateiname: looptime.lua
Dateigröße:1.83 KB

In either case it's an indicator for poor optimization.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • borisff
  • Autor
  • Offline
  • Senior Mitglied
  • Senior Mitglied
  • Beiträge: 65
  • Thanks: 3

Re: Loop time and renderer:renderPolyline with points widely outside the screen size

18 Okt. 2021 12:19 - 18 Okt. 2021 12:29
#
The version with lcd.setClipping and ren::setClipping gives on DC-24 850ms (!) loop time in it's .lc form. Doing the setClipping in the tprint once at first run, same behavior.
When using a more reasonable out of screen addPoint(310 * 2, 160 * 2) delay is 20ms with the setClipping.

I found the bug giving very wide y values in my real app on a particular case using a function checkPoint(x, y) called before any addPoint(x,y)
local function checkPoint(x, y)
if (x < 0 or x > app.width) then
print(lFormat(app.Name .. " Bad x=%d",x))
end
if (y < 0 or y > app.height) then
print(lFormat(app.Name .. " Bad y=%d",y))
end
end

l
Letzte Änderung: 18 Okt. 2021 12:29 von borisff.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • davidmcq137
  • Offline
  • Senior Mitglied
  • Senior Mitglied
  • Beiträge: 79
  • Thanks: 87

Re: Loop time and renderer:renderPolyline with points widely outside the screen size

19 Okt. 2021 02:57
#
I have seen the same thing and done the same defense. Have you also noticed that when setting a small clip window on the screen it moves it over by the size of the clip window from the place you specified?

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Raf
  • Offline
  • Premium Mitglied
  • Premium Mitglied
  • Beiträge: 141
  • Thanks: 192

Re: Loop time and renderer:renderPolyline with points widely outside the screen size

19 Okt. 2021 11:58
#
When you set clipping, the X/Y coordinates will be relative to the clipped window/rectangle.
Voltario T30, Touch Switch, MicroVario, AMS, SE6

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • davidmcq137
  • Offline
  • Senior Mitglied
  • Senior Mitglied
  • Beiträge: 79
  • Thanks: 87

Re: Loop time and renderer:renderPolyline with points widely outside the screen size

19 Okt. 2021 12:47
#
Ah! So the bug is me, not Jeti .. nice :-)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.531 Sekunden
Powered by Kunena Forum