Comments (9)
Fixed in 76934a4. This was due to Terminal spamming WPF with new character events. We changed the way XWT handles GUI events in WPF completely. It may still need some optimizations, and your mileage may vary on different PCs.
from renode.
It's probably a side effect of moving to WPF, not anything we added as a feature. We will investigate it
from renode.
Probably yes, it could be some smartness to make it more efficient? Which looks like is, as the execution finished much faster, but at price no seeing anything and wondering if it got stuck somewhere.
from renode.
Just tested it with a Win10 VM from here:
https://developer.microsoft.com/en-us/windows/downloads/virtual-machines
And there it updates every single character. So if you are having macs as workstations then a Win10 VM might not be enough to reproduce this problem.
On a positive note, now the Renode 1.4 on Windows 10 works straight away, so no need to install that gtk sharp dependancy as previously.
from renode.
Yet another update/correction. It has nothing to do with the VM, it was only coincidence that by default the VM had a single core, after giving it more resource it became broken again.
And now I can "fix it" on a native machine as well, after starting renode and giving it affinity of 1 core, the original (update all the time) behaviour is back. Is this maybe a race condition or synching between multiple threads? Even giving the VM 2 cores or the affinity of 2 threads should be enough to "break it". I would say slower, but consistent and predictable results would be better. On Linux even with 32 thread machine the UART behaves as expected.
from renode.
Nice findings, this will help a lot! Thanks.
from renode.
I will re-test it after this fix will make into a release.
from renode.
If I understand the fix correctly instead of spawning each thread instance per character now the it's instancianed only once and then it's used to push all characters through the same instance. Looks much more efficient.
from renode.
Not exactly. Dispatch
is the usual way of reporting actions for WPF. They are all performed on the GUI thread. Apparently the mechanism of reporting the events is too heavy for our needs, so we reimplemented it. It's not optimal from the design point of view and may be subject of further optimizations.
from renode.
Related Issues (20)
- Error while using CC2520 SPI peripheral on STM32F4
- Error when running HSS in Renode with PolarFire SoC Icicle Example .resc files HOT 4
- STM32 Timer limits behaviour
- Trying to write to a disabled Tx
- STM32F2 DMA driven SPI
- STM32F2 DMA driven I2C
- Support of an ethernet device driver (Hifve_Unleashed board)
- STM32H7 Timer triggered DMA sampled ADC
- Compilation of VerilatorIntegrationLibrary in Xcelium fails HOT 1
- Support for MK10DN512VLQ10 NXP Kinetis)
- Renode v1.15.0 Fatal error in Mac HOT 1
- STM32H7 I2C
- STM32H7 SPI
- STM32_Timer Produces error HOT 6
- STM32 F2 and H7 EMAC
- Support of an ethernet device driver (litex_vexriscv board) for Zephyr
- Updating BME280 I2C sensor value using python script. HOT 1
- Save statefile inside a Hook (it hangs) via python script HOT 3
- Read value from GPIO
- hi i am trying to run gdb for blinky which is using nordic-blinky-zephyr.elf and using nrf52840 board when i am trying gdb not working HOT 1
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 renode.