Comments (5)
I think we should at least add some gpu optimization to the rendering.
I took it back, the root cause is forced reflow -->
private populateHexAdresses(rowData: VirtualizedPacket[]): void {
const hex_addr = document.getElementById("hexaddr");
const offset = rowData[0].offset;
const addr = document.createElement("div");
addr.className = "row";
addr.setAttribute("data-offset", offset.toString());
addr.innerText = pad(offset.toString(16), 8).toUpperCase();
hex_addr!.appendChild(addr);
this.rows[0].set(offset.toString(), addr);
// We add a left px offset to effectively right align the column
addr.style.left = `${addr.parentElement!.clientWidth - addr.clientWidth}px`;
this.translateRow(addr, offset);
}
Suggestions:
- hold a reference to
hexaddr
DOM node - cache its width
- listen to window size change and then update the cache (and also rerender the viewport if necessary)
I think this will remove most force reflow and reduce this issue by a ton.
from vscode-hexeditor.
This was discussed briefly and I think it was just stated that it was too intertwined with the core of VS to easily utilize in the hex editor. I would be happy to discuss it more with you if you have any further knowledge about how that could easily be done, I would be happy to discuss it as my implementation does do some basic chunk rendering which does have a decent buffer outside the viewport.
from vscode-hexeditor.
We'd have to weed it out but it is feasible! We even have paging capabilities which simply calls for pages to load, as the list scrolls up and down.
from vscode-hexeditor.
I'm seeing a lot of blank frames when scrolling even though the file is relatively small (2k loc), which makes navigating in the document really hard.
If adopting list view is hard, I think we should at least add some gpu optimization to the rendering.
from vscode-hexeditor.
We're now virtual
from vscode-hexeditor.
Related Issues (20)
- Option to copy the hex values HOT 1
- EACCES: permission denied on 444 file I own? HOT 2
- Navigation on large files is very slow HOT 1
- Ctrl + G Go to Line not working
- can not open file with permissions added after failed open
- setting show in multiple units 1x 2x 4x and 8x units
- Search not re-evaluated after file modification HOT 6
- Compare Hex Files HOT 1
- find widget invisible when search button is down HOT 1
- Overwrite option doesn't work when a opened file is deleted HOT 3
- Number of bytes selected (in status bar) is very unreliable.
- More rows are displayed than necessary when the file length changes
- Ctrl + G does not work if the file is switched to the side bar HOT 1
- we are loking for permission to use hex language HOT 1
- UTF-8 data on the data inspector can decode text longer than one byte HOT 2
- add some cjk encoding support for Data Inspector. HOT 1
- Why cannot deletion be performed in editing? HOT 1
- [feature request]Show the memory address of a cell when hovering up with mouse HOT 1
- Localize this extension using the Localization pipeline
- [feature request] Add select until offset command
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 vscode-hexeditor.