Comments (6)
I thought it might be a large block of ChangeLog notes that I kept in comment form in the file, but it wasn't that. I also thought I might have a tricky hanging bracket or quote that was making the file difficult, but it appears not.
It also appears to not be purely an issue of length, as I pasted in half of the text of Pride and Prejudice and noted only a small slow down. With the entire book, typing was considerably slower.
It appears that there are processes that happen after every keystroke whose rapidity is affected by the length/complexity of the text. That might be worth looking at, changing to a less frequent update, or only after a user has stopped typing for a period.
Would it help to try my source file?
from inform.
We noted on the forum that this only happens when syntax coloring is turned on.
Further profiling (thanks ArdiMaster, https://intfiction.org/t/inform7-ide-slow-editing/49086/22 ) indicates that a whole lot of time is spent in updateTextTouchBarItems. The problem is only observable on MacBook Pros with touchbar.
See screenshot:
from inform.
I'm pretty sure that the real problem is that when syntax coloring is on, the view's redisplay method is being called thousands of times per keystroke. The touchbar call itself is only marginally slow (a few milliseconds), but because it's called way too often, it beats the CPU to death.
from inform.
For additional feedback, I'm running "Version 1.68 (1.68.1)" on Big Sur (11.6) on an M1 Mac Mini and also encountering slow editing. My device doesn't have a touchbar, but there are still large lags on every keystroke, even on small files like the Onyx example.
from inform.
For a possible workaround in the latest version v1.82 (v10.1.2), see #28 (comment)
from inform.
This should be fixed now.
from inform.
Related Issues (20)
- Testing panel (skein) blank after running Extension Project test HOT 8
- Save As… menu item does nothing HOT 1
- Interpreter falsely claims to support line input echo suppression HOT 5
- IFTF logo isn't transparent HOT 1
- Links in Report view not working after compiling legacy version HOT 2
- CocoaGlk: AddressSanitizer: dynamic-stack-buffer-overflow in GlkTypesetter.m HOT 4
- Preference pane is obscured behind dock
- Inform7 IDE Slow Editing HOT 14
- Dark Mode for Story View
- Issues w/launching from outside IDE on MacOS HOT 3
- accessibility (colorblind options) HOT 2
- Contents View Displays White Text on Light Background (Text Unreadable) HOT 3
- Heap buffer overflow in [IFSyntaxData styleAtEndOfLine:] HOT 1
- Inform 6 inclusions unreadable in dark mode HOT 1
- glk_buffer_to_title_case_uni() crashes HOT 2
- Choosing "Inform 10.1, August 2022" as Language Version causes compilation to fail
- Weird game display in Sonoma builds HOT 3
- How to build with custom inform? HOT 2
- Skein scrolls back up to the top after making any change to it
- Contents/Source switching animation is choppy
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from inform.