Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically enable / disable FancyGraphics™ based on screen content #143

Open
MightyPork opened this issue Sep 11, 2017 · 14 comments
Open

Comments

@MightyPork
Copy link
Member

there's no need to redraw or even check cursor neighborhood if we know there are no wide/tall characters on the screen at all

(tall characters may be tricky to detect, but i think they're gonna be rare. maybe 𝄞 ? could have a list of the more common ones...)

a similar mechanism for counting can be used as is now employed to count blinky cells

@cpsdqs
Copy link
Collaborator

cpsdqs commented Sep 11, 2017

Should we even consider a situation where the user has set the font to Zapfino
screenshot

@MightyPork
Copy link
Member Author

MightyPork commented Sep 11, 2017

i have something very unpleasant to say to such a user

@MightyPork MightyPork modified the milestone: 1.x POOL Sep 11, 2017
@MightyPork MightyPork modified the milestones: 1.x POOL, 1.2 Sep 24, 2017
@cpsdqs
Copy link
Collaborator

cpsdqs commented Sep 25, 2017

So this is the only thing left that's priority—fancy graphics is still really slow for full screen redraws, and there's an abundance of tall characters; even # is taller than the cell size (by, like, a pixel) in whatever font Safari chose.
I think the goal should rather be to speed up fancy graphics than to hack it by only enabling it if necessary, while it's still really slow; so, here's some options:

  • Find a more efficient way of clipping regions (e.g. whatever algorithm voxel renderers use to reduce triangle counts)
  • Cache character bitmaps—not really sure about this one. Might speed up all rendering
  • This option only listed for completeness: use OpenGL (requires font cache)
  • other ideas?

@MightyPork
Copy link
Member Author

I think the only case where this matters are symbols / emoji that go outside the box horizontally.
⌛↯☢, weather symbols (for meteostation UI) ...

maybe I could add a checkbox to permanently enable it if people want it? And i guess we can move it out of priority… that's quite niche

@cpsdqs
Copy link
Collaborator

cpsdqs commented Sep 25, 2017

So, none of the above
works for me, less work yay

@MightyPork
Copy link
Member Author

i mean if you get some genial idea to make it faster, that would be nice 🤷‍♂️

@cpsdqs
Copy link
Collaborator

cpsdqs commented Sep 25, 2017

That's my ideas up there xD

@MightyPork MightyPork modified the milestones: 1.2, 1.x POOL Sep 26, 2017
@cpsdqs
Copy link
Collaborator

cpsdqs commented Oct 27, 2017

number three at ~20ms per draw
screenshot etc

@MightyPork
Copy link
Member Author

MightyPork commented Oct 27, 2017

if it's faster than what we had and compatible with what we currently support ¯\_(ツ)_/¯
but 20ms quite a lot, no?

@cpsdqs
Copy link
Collaborator

cpsdqs commented Oct 27, 2017

well it's actually fairly smooth, but fattens app.*.js up to be 110kB and doesn't support the custom character drawing stuff because I didn't bother adding it

@MightyPork
Copy link
Member Author

110 minified without demo? 👀

@cpsdqs
Copy link
Collaborator

cpsdqs commented Oct 27, 2017

yeah, non-prod is 145k xD

@cpsdqs
Copy link
Collaborator

cpsdqs commented Oct 27, 2017

I'll push it to a new branch

@MightyPork
Copy link
Member Author

mmk but i don't think we should merge that in this state

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants