-
Notifications
You must be signed in to change notification settings - Fork 0
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
WIP: towards more op
timal rendering in cOPs
#17
base: render-writer
Are you sure you want to change the base?
Conversation
529c464
to
5264294
Compare
This kind of experimentation is why I love reinventing the wheel. Between my discovery that using "\r" is more suited than CSI CUD when the renderer might be used to update a log leader, and your epiphany that it could be faster to update diagonally, we might be onto something. One thing is certain: there’s more than one way to render, so loosely coupling the display and renderer(s) will be key. I’m sure you noticed my diff that also introduced a |
Also, when benchmarking, let’s keep in mind that cursor optimizations are designed mostly to reduce network traffic, so these apps perform alright over ssh. I’m not sure how relevant that is, but my assumption was that spending CPU time to avoid writing a lot was classically valuable. 24 bit color is very wasteful on the wire, but that’s irrelevant if we’re optimizing for fat clients that run locally. Do your benchmarks even reveal a performance gain in RenderOver vs Render? There might be more to gain from preparing the write buffer with reusable chunks than there is in preparing one-use cursor motions and only drawing invalidated cells. |
2c2ec47
to
6ea1fcb
Compare
6ea1fcb
to
6defcff
Compare
Heh, great questions:
The "new" side just uses a single display and |
5264294
to
c03faf2
Compare
I think the conclusion is that we provide both Render and RenderOver, and let the developer decide whether size on wire is important. Do I read this right? |
Unclear really; I'm dubious on exposing a front/back buffer and letting dev
decide; would rather hide it, and switch to it by env detection and/or
option.
…On Sun, Dec 10, 2017 at 9:54 PM Kris Kowal ***@***.***> wrote:
I think the conclusion is that we provide both Render and RenderOver, and
let the developer decide whether size on wire is important. Do I read this
right?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#17 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AADCM6wlZy4rpGRYIGO3YcgK7--Nro-wks5s_MNNgaJpZM4Q8Uyd>
.
|
👍 Render sans RenderOver it shall be.
On Sun, Dec 10, 2017 at 10:02 PM Joshua T Corbin <[email protected]>
wrote:
… Unclear really; I'm dubious on exposing a front/back buffer and letting dev
decide; would rather hide it, and switch to it by env detection and/or
option.
On Sun, Dec 10, 2017 at 9:54 PM Kris Kowal ***@***.***>
wrote:
> I think the conclusion is that we provide both Render and RenderOver, and
> let the developer decide whether size on wire is important. Do I read
this
> right?
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#17 (comment)>, or
mute
> the thread
> <
https://github.com/notifications/unsubscribe-auth/AADCM6wlZy4rpGRYIGO3YcgK7--Nro-wks5s_MNNgaJpZM4Q8Uyd
>
> .
>
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
<#17 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AADrhvhqFw3i7TIU0crj4JxdJ3CO61GBks5s_MWLgaJpZM4Q8Uyd>
.
|
A PoC that doesn't yet actually work; but you know what's better than two display buffers? Just One.
It can be more optimal for sparse updates since it will (and can potentially do better) by moving diagonally between chunks.
Plus it introduces something to own the write/byte buffer between rounds.