Hey, just wanted to drop this here as a serious UX issue I’ve been running into — especially if you’re like me and use ChatGPT for long sessions (think: research, code, writing, idea dumping, etc.).
After a while, the browser starts lagging hard. Like, I’ll type a sentence, and it just hangs. Feels like I’m typing in a frozen Google Doc from 2008. 
What’s causing it? Not the model — the UI.
Basically, ChatGPT loads the entire conversation into the DOM. That means tens or even hundreds of thousands of tokens worth of messages are all being rendered at once. It becomes this endless scroll monster.
What’s needed:
Virtual scroll. Same thing Discord, Slack, Gmail, etc. already do. Only render what’s visible, lazy-load the rest as you scroll. Super standard stuff.
This would:
Fix the typing/input lag
Stop the UI from turning into molasses during long chats
Keep memory usage sane
Let us keep working in one thread without having to refresh or start a new one
I’m routinely hitting 100k–300k token chats and seeing serious slowdown. Especially on mid-tier laptops or when you’ve got other tabs open. It becomes unusable at times.
TL;DR:
- The longer the chat, the slower the UI
- ChatGPT’s frontend tries to render everything
- Needs virtual scroll like literally every other modern app
- Would make a massive difference for anyone using GPT for more than quick Q&A
Anyone else hitting this? Would love to see the team pick it up — feels like low-hanging fruit with huge upside.
yes… the typing experience on long chats was as if the entire dom was reloaded since the beginning of eons.. 
It tooks 2sec for me to print any
And I noticed that this also overheat my devices
Yep, I have noticed this too, very annoying.
Any solution?
This is clearly not a bug, it’s a feature that OpenAI designed to force users to clear context.
very annoying! Only happening with long chats, and on the web browser… When i load the same chat on my iPhone, everything is fine. So this need a UI fix asap, because it is since months, and it makes me turn to other products like claude or DeepSeek… Extremely annoying! Even typing in the chat text input field lags so much… like 0.5/letter typed!
Please fix it. This issue has been around forever. Is your front-end team so incompetant?
This is a real issue and quite a frustrating one
Moving to another chat loses a lot of context that is built up over a single conversation and some of it inevitably gets lost when you try to summarise it unless you copy-paste last 200k tokens which is obviously a ridiculous solution from UX perspective
btw I have a feeling that also all of the forks of the chat are also stored in-memory
I was experiencing the same problems when dealing with long conversations. I investigated further and found that the reason for the slow input is the feature-rich composer used by ChatGPT (ProseMirror). I wrote a userscript that fixes the slow input problem by replacing ProseMirror with a plain-text composer. Now, typing feels again swift. I published the script in my GitHub page alberti42. Unfortunately, I cannot paste any URL link here, so you will have to search for my GitHub page in Google, and then look for the repository named chatGPT-plain-composer. There you will also find the instructions on how to install the script. It works with Firefox and Chrome.
Sometimes I find it’s easier to compose what I need in a temporary Notepad, before copying and pasting it. Whiles it’s a minor issue, it can become an irritant to have the UI consistently rendering 2–3 seconds behind my actual keystrokes.
Same experience here.
My personal suggestion/feature request: Decouple the model context from rendered DOM, allowing the user to clear the chat history in the UI while staying within the same chat in order to maintain context. If that’s not possible, then provide some way to compress the chat on request.
While it’s always an option to start a new chat, it can be a little frustrating to have to build up context with the model all over again.
Hey @Garry_Cotton, yeah, this comes up a lot with longer threads.
Once conversations get large, the UI is still rendering the entire DOM tree, and that can definitely cause input lag over time. The idea of decoupling model context from what’s rendered in the UI is interesting. Being able to “collapse” or compress older parts of the chat while keeping the context intact would solve a lot of the friction without forcing people to start over.
Starting a new chat works technically, but like you said, rebuilding context isn’t always ideal.
Appreciate you spelling out the suggestion clearly, especially the virtual scroll / compression angle. That’s helpful feedback in a thread like this.
Thanks for acknowledging the issue.
However this should probably be treated as more than a minor UX
friction.
ChatGPT is fundamentally a productivity tool. UI latency directly
reduces user productivity, especially during typing where any lag
breaks flow.
From the outside it appears that large conversations cause the UI
to render and maintain an increasingly large DOM tree, which leads
to expensive layout recalculations and input lag over time.
Virtualized list rendering (windowing) is a standard solution for
long lists in modern UI architectures and is widely used to keep UI
latency constant regardless of list size.
Because this issue directly affects typing responsiveness — one of
the most critical interaction loops in the product — leaving it
unresolved creates a contradiction between the product’s goal
(productivity) and the actual user experience.
For that reason this likely deserves treatment as a priority
performance defect rather than just a UX improvement.