Author Topic: [why] is display graph slow?  (Read 6911 times)

0 Members and 1 Guest are viewing this topic.

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
[why] is display graph slow?
« on: December 04, 2010, 08:13:18 pm »
why does dispgraph have too be so slow?

Is there not anyway to have the code continue to run while its updating?




Edit by ZTrumpet to fix spelling in title of thread.
« Last Edit: December 04, 2010, 08:56:39 pm by ztrumpet »
School: East Central High School
 
Axe: 1.0.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: [why] is diplay graph slow?
« Reply #1 on: December 04, 2010, 08:27:55 pm »
It's TI's display routine or the LCD or something like that. It's not the command itself though. Blame TI :P (I could be wrong, though I feel like like that is what the general consensus is :P)
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)

Offline nemo

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1203
  • Rating: +95/-11
    • View Profile
Re: [why] is diplay graph slow?
« Reply #2 on: December 04, 2010, 08:32:43 pm »
it's not TI's routine, but we can still blame TI for the slow LCD driver.


Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: [why] is diplay graph slow?
« Reply #3 on: December 04, 2010, 08:33:30 pm »
why does dispgraph have too be so slow?

Is there not anyway to have the code continue to run while its updating?

It would require interrupts because the z80 doesn't do parallel processing. Think about it: every pixel on the LCD has to be updated. That's 6144 pixels. That's a lot of data to transfer for the z80. Using interrupts would slow down your code, increase the code size a lot, and not display as quickly.

That, and the LCD driver is slow.
« Last Edit: December 04, 2010, 08:33:53 pm by Qwerty.55 »
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: [why] is diplay graph slow?
« Reply #4 on: December 04, 2010, 08:34:01 pm »
Well isn't blaming TI usually the general solve to most problems we find with the calculator? ;) But ya, I wasn't sure if it was sure what it was. I knew it had to do with the LCD though.
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: [why] is diplay graph slow?
« Reply #5 on: December 04, 2010, 08:34:33 pm »
To quote Sean McLaughlin from Day 26 of his Learn TI-83 Plus Assembly in 28 Days:
Quote
The TI-85 and higher-number calculators have a memory mapped screen. That means a section of the calculator's RAM that holds a bit image of the screen is constantly being monitored. Whenever a byte in this area is changed, the display changes immediately. It is also possible to change the RAM area the driver looks at with a single port output. By switching the buffer location back and forth rapidly, you could create Game Boy-style flickerless 4- or 8-level grayscale.
Unfortunately, the "crap series" (everything lower than a TI-85) uses a driver that stores the screen image in its own RAM. In order to change the display, you have to send each byte in the image to the driver. It is also a very slow driver which needs a delay every time it is accessed.

The next line, although not applicable to answering your question, is my favorite line in the whole tutorial. ;D
Quote
Hopefully you are sufficiently depressed now, so let's look at how to make the Toshiba T6A04 (that's the name of the driver) our bitch.
« Last Edit: December 04, 2010, 08:37:02 pm by Runer112 »

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
Re: [why] is diplay graph slow?
« Reply #6 on: December 04, 2010, 08:36:26 pm »
TI did it right on the 89. They came up with the graph first and then updated the screen instead of updating the screen at each point.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: [why] is diplay graph slow?
« Reply #7 on: December 04, 2010, 08:39:11 pm »
I think on newer 89s it's not as great, though. For the 83+ you have to not update the screen too often. If a game of yours requires a fast speed, you may be forced to update the LCD only every 2 or 3 frames. In Axe tunnel, the faster speed modes are done by updating the LCD less often, even though stuff is drawn on the buffer. That's how slow DispGraph is.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: [why] is diplay graph slow?
« Reply #8 on: December 04, 2010, 08:43:18 pm »
hum... just a thought here, but would it be possible to make a graphing screen that would still allow allow the user to use trace, but only update after all functions have been drawn.
I am assuming this would work because it says the screen info is stored into the calculators ram.
School: East Central High School
 
Axe: 1.0.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: [why] is diplay graph slow?
« Reply #9 on: December 04, 2010, 08:46:35 pm »
Do you mean GRAPH?
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline ztrumpet

  • The Rarely Active One
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 5712
  • Rating: +364/-4
  • If you see this, send me a PM. Just for fun.
    • View Profile
Re: [why] is display graph slow?
« Reply #10 on: December 04, 2010, 08:57:10 pm »
The next line, although not applicable to answering your question, is my favorite line in the whole tutorial. ;D
Quote
Hopefully you are sufficiently depressed now, so let's look at how to make the Toshiba T6A04 (that's the name of the driver) our bitch.
Mine too. O0

Offline meishe91

  • Super Ninja
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2946
  • Rating: +115/-11
    • View Profile
    • DeviantArt
Re: [why] is display graph slow?
« Reply #11 on: December 04, 2010, 09:01:33 pm »
The next line, although not applicable to answering your question, is my favorite line in the whole tutorial. ;D
Quote
Hopefully you are sufficiently depressed now, so let's look at how to make the Toshiba T6A04 (that's the name of the driver) our bitch.
Mine too. O0

I haven't even read the tutorial and that's my favorite line :P
Spoiler For Spoiler:



For the 51st time, that is not my card! (Magic Joke)

Offline jnesselr

  • King Graphmastur
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2270
  • Rating: +81/-20
  • TAO == epic
    • View Profile
Re: [why] is display graph slow?
« Reply #12 on: December 04, 2010, 09:07:38 pm »
The next line, although not applicable to answering your question, is my favorite line in the whole tutorial. ;D
Quote
Hopefully you are sufficiently depressed now, so let's look at how to make the Toshiba T6A04 (that's the name of the driver) our bitch.
Mine too. O0

I haven't even read the tutorial and that's my favorite line :P
Yeah, I remember that... Good times, good times...

Offline AngelFish

  • Is this my custom title?
  • Administrator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3242
  • Rating: +270/-27
  • I'm a Fishbot
    • View Profile
Re: [why] is display graph slow?
« Reply #13 on: December 04, 2010, 09:18:26 pm »
hum... just a thought here, but would it be possible to make a graphing screen that would still allow allow the user to use trace, but only update after all functions have been drawn.
I am assuming this would work because it says the screen info is stored into the calculators ram.

Trace works by computing the function at every point that would be used during graphing. So it would take at least as long to trace as to graph the function.
∂²Ψ    -(2m(V(x)-E)Ψ
---  = -------------
∂x²        ℏ²Ψ

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: [why] is display graph slow?
« Reply #14 on: December 04, 2010, 09:22:21 pm »
Trace or Graph it doesn't matter.

I was just asking if it was possible to draw the orrigional functions and only have it displayed after they are done being drawn.  Also, if it could transition straight into TRACE.
School: East Central High School
 
Axe: 1.0.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________