- The new interface is portable and much faster than before. For example, unmapping a hyperpage is almost a one-line operation.
- The new interface is also thread-safe and uses the EPROCESS hyperspace spinlock.
- However, in order to isolate from React Mm internals, the Hyper IRQL and Process are stored as globals, so this will not work on SMP.
- For now, mapping vs. zero PTEs are not treated differently, but the two interfaces have been separated pending future work.
- Performance tests with _rdtsc resulted in an improvement of over 300% compared to the old interface.
- Hyperspace mappings are frequent, so the improvement is noticeable during startup (3/10ths of a second).
- This also fixes incorrect initializtion of hyperspace -- pages were zeroed out (which requires hyperspace) before hyperspace was created.
svn path=/trunk/; revision=39925
- Free remaining irps and make sure that the dpc finished before stopping the audio stream. This fixing stuttering when there are too few audio buffers available.
- Complete the IRPs when they are actually have played. This should make audio playback position become more accurate and prevents application to feed in too much audio buffers
- VLC 0.9.8a can now playback audio files (no window is shown -> different issue)
svn path=/trunk/; revision=39917
* Remove huge hack, which is not needed anymore since 39912.
* Put all global variables into device extension, allowing support for more than one USB keyboard.
* Cleanup driver extension structure.
* Remove unneeded endpoint finding code.
- Add test code for LEDs support (now puts three of them into ON state).
svn path=/trunk/; revision=39913
- Fix bug where "DIR directoryname /S" wouldn't list subdirectories (you needed to do directoryname\*.*)
- Get rid of extra * that appeared in DIR /B /S output
svn path=/trunk/; revision=39910
- Queue ~ one second of audio data before starting to stream
- Check if an audio pin is already open and re-use it in that case
svn path=/trunk/; revision=39907
- Under lucky circunstances, you might be able to now to play an mp3 with winamp ;)
- Dedicated to all people helping to achieve this
svn path=/trunk/; revision=39894
- Fix 2 bugs in KsRegister*Worker code
- Implement fast write support for the general purpose dispatcher in portcls
- Implement a IIrpQueue object will queue pending irp requests
- Refactor IPinWaveCyclic interrupt handling code to work with IIrpQueue
- Handle wave out request in IRP_MJ_WRITE and submit them using KsStreamIo
-
svn path=/trunk/; revision=39893
- Update SD cache code to treat it as such.
- Improves performance by 500% during security checks - noticeable impact during large file or registry transfer operations.
svn path=/trunk/; revision=39876
- DefWndNCPaint needs to split up and some parts have to move to subsystems to provide the menu functions independent of window non-client drawing
svn path=/trunk/; revision=39874
is definitely a bug. This fixes it, but the intention of the previous code
might not be what I thought it was. I won't be sad if this fix is reverted
and something else takes its place.
svn path=/trunk/; revision=39873