Skip to content

Test: Incremental rendering #311090

@pwang347

Description

@pwang347

Refs: #311088

  • anyOS
  • anyOS
  • anyOS

Complexity: 3


Context

Our current markdown rendering approach is an innate 50ms render loop to achieve a type-writer effect. With new reasoning models, this can sometimes look a bit awkward as there are long pauses and the animation itself can be jumpy while partially rendering content like LaTeX.

So the goal here is to modernize our rendering strategy with these outcomes:

  1. See if we can improve actual rendering performance by rendering as things come in and buffering it based on preference (no buffer is the most efficient, since number of renders would just be how may token stream events we have)
  2. See if we can improve the perception of performance by offering more options and allowing for longer animations (50ms render loop effectively kills the possibility of any longer animation).

Test Steps

  1. Enable the chat.experimental.incrementalRendering.enabled setting
  2. Render long segments of markdown (some sample prompts below)
    1. give a long dissertation about code, with code blocks interleaved
    2. write a paragraph about coding, then call the terminal to sleep for 2s, then repeat this 3 times
  3. Or, you could just try to use this along with your regular long-running tasks :)
  4. Make sure you try this across different thinking levels / models. E.g., the animation should be smooth for haiku, sonnet and opus models.
  5. Make sure you try different settings; compare with the setting disabled, and try different animations, buffer modes to find what feels the most performant/speedy to you. Subjective opinions would be great to hear here.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions