-
Notifications
You must be signed in to change notification settings - Fork 72
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
Slow performance? #114
Comments
I haven't noticed this; it should be pretty quick on release build. I will have a play. |
I'll try building and profiling it at some point. |
Well, I'm not sure how the project's organized, seems like it's set up to potentially build the demo along with the library at the same time. Haven't figured out how to launch the demo with the debugger yet, but having built the demo I'm getting the same kind of delay. Edit: I figured out how to build and debug the demo, when I hit keystrokes I get very tiny but noticeable spikes, sort of what I'd expect out of a gui, however* when I dig down, the majority of that spike is this line: Line 436 in 2ff7e62
It could be that my system's struggling with very small allocations for dealing with shared_ptr and strings everywhere. |
You're testing a release build, right? |
Yes, although to be fair, since MSVC is a sampling profiler the issue could be anywhere really in those functions because the assembly's shuffled around. It could be the other parts of the code in that area potentially to do with switching modes or processing commands. // The current command is our currently typed multi-key operation
m_currentCommand += input; I'm not familiar with vim commands and editors, the way your comments read it sounds like you're doing a lot of manipulations on strings because you may need to replay keystrokes. Unfortunately whatever's taking that fraction too long doesn't stick out in the performance profiler well, I'm not always getting for example that line being the issue. |
I tried a quick profile and the time in Zep seems minimal on my machine; certainly nowhere in the keyboard code. That matches my experience when live coding with the tool; I don't feel like I'm waiting for it any more than any other editor. It is true that Zep records keystrokes for replay; as you say, the dot command in Vim requires it. But it shouldn't really be a big deal pushing a bunch of characters into an array, or storing undoable commands. I have some profiling code I use in the sister VKLive project; which I could probably pad out in Zep to see where the time is going...
|
There's a bit of editing with Zep being done here (you can see my tweaking things on the left when the video gets going): Or here in an overview video: Subjectively, does this look faster than your experience? I know it may be hard to judge.... |
can you check weather double- or triple-buffering is enabled? (vsync) |
I'm not sure how I'd check other than in code, it looks to be hardcoded to be disabled. |
The performance seems to be relatively slow for me aswell when comparing to some tools like VS Code. Zep seems to struggle when you have big file loaded. Viewing the files is smooth but here is few things i experienced:
|
Describe the bug
I was curious so I grabbed the release page to check out the editor. I'm finding that all my keystrokes take just a bit long to register, I'm not sure what the metric is for feeling as if typing is smooth and responsive, best I can tell maybe there's something like a fraction of a second delay. I'm not sure why, I haven't built the source code to profile, but I figured I should make a note of this. It's just enough to be disorienting to type when looking at the screen.
The text was updated successfully, but these errors were encountered: