Search Results

Search found 18576 results on 744 pages for 'lock screen'.

Page 17/744 | < Previous Page | 13 14 15 16 17 18 19 20 21 22 23 24  | Next Page >

  • Screen flicker -> Severe System Slowdown?

    - by Adam Robinson
    I'm using a Dell D830 laptop, and over the last few weeks it's been developing a very irritating screen flicker problem that leads to the system slowing down almost to the point of unusability. At seemingly random times (no commonality between how long the system has been running, what I was doing, what applications were open, etc.) my screen (I use two external LCD's with the laptop closed in a dock) flickers for a moment, then the system becomes incredibly slow. The screen redraws painfully slowly--almost like what you might expect to see with generic graphics drivers installed--and the entire system is maddeningly unresponsive. The only thing that seems to be able to correct the issue is a restart. I've checked the event logs and nothing out of the ordinary is there, and definitely nothing that's common to all of the events. I'm running XP Pro SP2. Any ideas?

    Read the article

  • One quarter of screen corrupted on MacBook Pro

    - by danyal
    I have a problem with my MacBook Pro's screen - here's a video: http://yfrog.com/4wm63z For those who prefer words, if you divide the screen vertically into 4 columns, the second column is corrupted (flickering, and discoloured, usually with yellow). I took it to an Apple store and they said it could be the screen or the logic board, neither of which will be cheap to replace. However, occasionally this problem will completely go away. So before I part with my cash, or decide to turn this into an overpriced media center for my TV... could the problem be a loose cable, or something else cheaper to fix?

    Read the article

  • Need a solution to stop students from rotating screen on laptops with intel graphics

    - by testguy
    We have some students who have figured out how to rotate the screen using either the hotkey combination or right click context menu. It's easy to fix but it's time consuming because no matter how many times I tell people how to fix it there's always someone that will come up to me. Now I need two things. First, is there a way to disable screen rotation? Second, I need a script to reset the screen resolution to normal on logon and logoff. The solutions need to be able to be deployed from a Win2003 server to WinXP clients. I have way too many computers to go through by hand to uncheck enable hot keys on the intel control panel.

    Read the article

  • Configure GNU screen so that it stores command histories in files

    - by user65950
    I would like to configure GNU screen such that it stores the command histories of all the different windows in different files. I know by default GNU screen does not store the command histories (of its different windows) in a file at all (it stores them in memory instead), but it might be possible to tell it to store them in files instead? The different command history files should have the names <session>.<window>.history, or similar. Does anyone have an idea how to do that? (Just to be clear, I want each GNU screen window to write a different file. I like that each window has a different history, and I typically run different types of commands in the different windows.)

    Read the article

  • Setting Screen Resolution for Extended Display on Windows 8

    - by ptamzz
    I'm using a Dell Inspiron laptop with Windows 8 Developers Preview. I've connected a second screen (some Dell 22 inch one) and have been using it with 'Extend these displays' options in the Screen Resolution settings. It use to be all fine but yesterday I changed my VGA cable to the 2nd monitor and since then the resolution of the 2nd monitor is not setting properly. Earlier, while auto detecting the monitor, the right resolution use to appear but now, as you can see from the attached image, none of the resolution in the drop down fits with the right proportion. So how do I set the right screen resolution. (I think the right one is 1680 x 1050 which is not there in the list)

    Read the article

  • ATI Radeon 4350 lower resolutions do not fill screen in Windows 7

    - by rlandster
    I have a new Windows 7 64-bit machine with an ATI HD4350 card. The card is connected via VGA (DSUB) to a SyncMaster 205 BW LCD monitor. If I set the resolution to 1680x1050 the LCD screen is completely filled and everything looks fine. But, if I try to set the resolution to 1280x768 (my preferred resolution) only about 2/3 of the monitor screen is used. There are large black bars above and below the image (but not on the sides). I have successfully used this monitor at the 1280x768 resolution for many years without this problem (albeit in Windows XP and a different video card). Can anyone suggest how I can get adjust things so that the entire screen is used at the 1280x768 resolution?

    Read the article

  • Lock-Free Data Structures in C++ Compare and Swap Routine

    - by slf
    In this paper: Lock-Free Data Structures (pdf) the following "Compare and Swap" fundamental is shown: template <class T> bool CAS(T* addr, T exp, T val) { if (*addr == exp) { *addr = val; return true; } return false; } And then says The entire procedure is atomic But how is that so? Is it not possible that some other actor could change the value of addr between the if and the assignment? In which case, assuming all code is using this CAS fundamental, it would be found the next time something "expected" it to be a certain way, and it wasn't. However, that doesn't change the fact that it could happen, in which case, is it still atomic? What about the other actor returning true, even when it's changes were overwritten by this actor? If that can't possibly happen, then why? I want to believe the author, so what am I missing here? I am thinking it must be obvious. My apologies in advance if this seems trivial.

    Read the article

  • Inside the Concurrent Collections: ConcurrentDictionary

    - by Simon Cooper
    Using locks to implement a thread-safe collection is rather like using a sledgehammer - unsubtle, easy to understand, and tends to make any other tool redundant. Unlike the previous two collections I looked at, ConcurrentStack and ConcurrentQueue, ConcurrentDictionary uses locks quite heavily. However, it is careful to wield locks only where necessary to ensure that concurrency is maximised. This will, by necessity, be a higher-level look than my other posts in this series, as there is quite a lot of code and logic in ConcurrentDictionary. Therefore, I do recommend that you have ConcurrentDictionary open in a decompiler to have a look at all the details that I skip over. The problem with locks There's several things to bear in mind when using locks, as encapsulated by the lock keyword in C# and the System.Threading.Monitor class in .NET (if you're unsure as to what lock does in C#, I briefly covered it in my first post in the series): Locks block threads The most obvious problem is that threads waiting on a lock can't do any work at all. No preparatory work, no 'optimistic' work like in ConcurrentQueue and ConcurrentStack, nothing. It sits there, waiting to be unblocked. This is bad if you're trying to maximise concurrency. Locks are slow Whereas most of the methods on the Interlocked class can be compiled down to a single CPU instruction, ensuring atomicity at the hardware level, taking out a lock requires some heavy lifting by the CLR and the operating system. There's quite a bit of work required to take out a lock, block other threads, and wake them up again. If locks are used heavily, this impacts performance. Deadlocks When using locks there's always the possibility of a deadlock - two threads, each holding a lock, each trying to aquire the other's lock. Fortunately, this can be avoided with careful programming and structured lock-taking, as we'll see. So, it's important to minimise where locks are used to maximise the concurrency and performance of the collection. Implementation As you might expect, ConcurrentDictionary is similar in basic implementation to the non-concurrent Dictionary, which I studied in a previous post. I'll be using some concepts introduced there, so I recommend you have a quick read of it. So, if you were implementing a thread-safe dictionary, what would you do? The naive implementation is to simply have a single lock around all methods accessing the dictionary. This would work, but doesn't allow much concurrency. Fortunately, the bucketing used by Dictionary allows a simple but effective improvement to this - one lock per bucket. This allows different threads modifying different buckets to do so in parallel. Any thread making changes to the contents of a bucket takes the lock for that bucket, ensuring those changes are thread-safe. The method that maps each bucket to a lock is the GetBucketAndLockNo method: private void GetBucketAndLockNo( int hashcode, out int bucketNo, out int lockNo, int bucketCount) { // the bucket number is the hashcode (without the initial sign bit) // modulo the number of buckets bucketNo = (hashcode & 0x7fffffff) % bucketCount; // and the lock number is the bucket number modulo the number of locks lockNo = bucketNo % m_locks.Length; } However, this does require some changes to how the buckets are implemented. The 'implicit' linked list within a single backing array used by the non-concurrent Dictionary adds a dependency between separate buckets, as every bucket uses the same backing array. Instead, ConcurrentDictionary uses a strict linked list on each bucket: This ensures that each bucket is entirely separate from all other buckets; adding or removing an item from a bucket is independent to any changes to other buckets. Modifying the dictionary All the operations on the dictionary follow the same basic pattern: void AlterBucket(TKey key, ...) { int bucketNo, lockNo; 1: GetBucketAndLockNo( key.GetHashCode(), out bucketNo, out lockNo, m_buckets.Length); 2: lock (m_locks[lockNo]) { 3: Node headNode = m_buckets[bucketNo]; 4: Mutate the node linked list as appropriate } } For example, when adding another entry to the dictionary, you would iterate through the linked list to check whether the key exists already, and add the new entry as the head node. When removing items, you would find the entry to remove (if it exists), and remove the node from the linked list. Adding, updating, and removing items all follow this pattern. Performance issues There is a problem we have to address at this point. If the number of buckets in the dictionary is fixed in the constructor, then the performance will degrade from O(1) to O(n) when a large number of items are added to the dictionary. As more and more items get added to the linked lists in each bucket, the lookup operations will spend most of their time traversing a linear linked list. To fix this, the buckets array has to be resized once the number of items in each bucket has gone over a certain limit. (In ConcurrentDictionary this limit is when the size of the largest bucket is greater than the number of buckets for each lock. This check is done at the end of the TryAddInternal method.) Resizing the bucket array and re-hashing everything affects every bucket in the collection. Therefore, this operation needs to take out every lock in the collection. Taking out mutiple locks at once inevitably summons the spectre of the deadlock; two threads each hold a lock, and each trying to acquire the other lock. How can we eliminate this? Simple - ensure that threads never try to 'swap' locks in this fashion. When taking out multiple locks, always take them out in the same order, and always take out all the locks you need before starting to release them. In ConcurrentDictionary, this is controlled by the AcquireLocks, AcquireAllLocks and ReleaseLocks methods. Locks are always taken out and released in the order they are in the m_locks array, and locks are all released right at the end of the method in a finally block. At this point, it's worth pointing out that the locks array is never re-assigned, even when the buckets array is increased in size. The number of locks is fixed in the constructor by the concurrencyLevel parameter. This simplifies programming the locks; you don't have to check if the locks array has changed or been re-assigned before taking out a lock object. And you can be sure that when a thread takes out a lock, another thread isn't going to re-assign the lock array. This would create a new series of lock objects, thus allowing another thread to ignore the existing locks (and any threads controlling them), breaking thread-safety. Consequences of growing the array Just because we're using locks doesn't mean that race conditions aren't a problem. We can see this by looking at the GrowTable method. The operation of this method can be boiled down to: private void GrowTable(Node[] buckets) { try { 1: Acquire first lock in the locks array // this causes any other thread trying to take out // all the locks to block because the first lock in the array // is always the one taken out first // check if another thread has already resized the buckets array // while we were waiting to acquire the first lock 2: if (buckets != m_buckets) return; 3: Calculate the new size of the backing array 4: Node[] array = new array[size]; 5: Acquire all the remaining locks 6: Re-hash the contents of the existing buckets into array 7: m_buckets = array; } finally { 8: Release all locks } } As you can see, there's already a check for a race condition at step 2, for the case when the GrowTable method is called twice in quick succession on two separate threads. One will successfully resize the buckets array (blocking the second in the meantime), when the second thread is unblocked it'll see that the array has already been resized & exit without doing anything. There is another case we need to consider; looking back at the AlterBucket method above, consider the following situation: Thread 1 calls AlterBucket; step 1 is executed to get the bucket and lock numbers. Thread 2 calls GrowTable and executes steps 1-5; thread 1 is blocked when it tries to take out the lock in step 2. Thread 2 re-hashes everything, re-assigns the buckets array, and releases all the locks (steps 6-8). Thread 1 is unblocked and continues executing, but the calculated bucket and lock numbers are no longer valid. Between calculating the correct bucket and lock number and taking out the lock, another thread has changed where everything is. Not exactly thread-safe. Well, a similar problem was solved in ConcurrentStack and ConcurrentQueue by storing a local copy of the state, doing the necessary calculations, then checking if that state is still valid. We can use a similar idea here: void AlterBucket(TKey key, ...) { while (true) { Node[] buckets = m_buckets; int bucketNo, lockNo; GetBucketAndLockNo( key.GetHashCode(), out bucketNo, out lockNo, buckets.Length); lock (m_locks[lockNo]) { // if the state has changed, go back to the start if (buckets != m_buckets) continue; Node headNode = m_buckets[bucketNo]; Mutate the node linked list as appropriate } break; } } TryGetValue and GetEnumerator And so, finally, we get onto TryGetValue and GetEnumerator. I've left these to the end because, well, they don't actually use any locks. How can this be? Whenever you change a bucket, you need to take out the corresponding lock, yes? Indeed you do. However, it is important to note that TryGetValue and GetEnumerator don't actually change anything. Just as immutable objects are, by definition, thread-safe, read-only operations don't need to take out a lock because they don't change anything. All lockless methods can happily iterate through the buckets and linked lists without worrying about locking anything. However, this does put restrictions on how the other methods operate. Because there could be another thread in the middle of reading the dictionary at any time (even if a lock is taken out), the dictionary has to be in a valid state at all times. Every change to state has to be made visible to other threads in a single atomic operation (all relevant variables are marked volatile to help with this). This restriction ensures that whatever the reading threads are doing, they never read the dictionary in an invalid state (eg items that should be in the collection temporarily removed from the linked list, or reading a node that has had it's key & value removed before the node itself has been removed from the linked list). Fortunately, all the operations needed to change the dictionary can be done in that way. Bucket resizes are made visible when the new array is assigned back to the m_buckets variable. Any additions or modifications to a node are done by creating a new node, then splicing it into the existing list using a single variable assignment. Node removals are simply done by re-assigning the node's m_next pointer. Because the dictionary can be changed by another thread during execution of the lockless methods, the GetEnumerator method is liable to return dirty reads - changes made to the dictionary after GetEnumerator was called, but before the enumeration got to that point in the dictionary. It's worth listing at this point which methods are lockless, and which take out all the locks in the dictionary to ensure they get a consistent view of the dictionary: Lockless: TryGetValue GetEnumerator The indexer getter ContainsKey Takes out every lock (lockfull?): Count IsEmpty Keys Values CopyTo ToArray Concurrent principles That covers the overall implementation of ConcurrentDictionary. I haven't even begun to scratch the surface of this sophisticated collection. That I leave to you. However, we've looked at enough to be able to extract some useful principles for concurrent programming: Partitioning When using locks, the work is partitioned into independant chunks, each with its own lock. Each partition can then be modified concurrently to other partitions. Ordered lock-taking When a method does need to control the entire collection, locks are taken and released in a fixed order to prevent deadlocks. Lockless reads Read operations that don't care about dirty reads don't take out any lock; the rest of the collection is implemented so that any reading thread always has a consistent view of the collection. That leads us to the final collection in this little series - ConcurrentBag. Lacking a non-concurrent analogy, it is quite different to any other collection in the class libraries. Prepare your thinking hats!

    Read the article

  • Dual-screen Multimedia Control Suite for Linux (like Screen Monkey)

    - by samjetski
    I'm looking for some linux software to manage and control a dual monitor/multi screen setup for use in professional-like presentations (ie: monitor1=control, monitor2=projector/audience). I have the dual-monitor configured with my gnome desktop running over both monitors (that's the easy part). What I'm looking for is a neat/seamless way to switch between, say, OpenOffice Impress, DVD Player, VLC live video, Lyricue, other software on monitor2. To have monitor2 shown to the audience and run neat presentations of DVDs, Slideshows, etc. whilst controlling it from monitor1. I can run slideshows, play a DVD on monitor2 (drag & drop VLC on monitor2, and go fullscreen) etc. but this is rather messy in a presentation environment. I found this software: Screen Monkey. Looks like an excellent windows equivalent for what I want to do. Is there anything similar for linux? For Gnome, KDE, anything else X based? Thanks, SamJ

    Read the article

  • Windows XP boot: black screen with cursor after BIOS screen

    - by Radio
    Here is a weird one, Got computer with Windows XP. It's getting stuck on a black screen with cursor blinking. What did I do: - Boot from installation CD (recovery option - command line): chkdsk C: /R copy D:\i386\ntdetect.com c:\ copy D:\i386\ntldr c:\ fixmbr fixboot Chkdsk showed 0 bad sectors and no problems during scan. dir on C:\ shows all directories and files in place (Windows, Program Files, Documents and Settings). BIOS shows correct boot drive. Still does not boot. Not sure what to think of. Please help. UPDATE: Just performed these steps: Backed up current disk C: (without MBR) using True Image to external hard drive Ran Windows XP clean installation with deleting all partitions and creating new one. Hard drive booted fine into Windows GUI installation!!! Then: Interrupted installation. Booted from True Image recovery CD and restored archive of disk C to an new partition. Same issue with black screen.

    Read the article

  • Black screen with cursor after BIOS screen

    - by Radio
    Here is a weird one, Got computer with Windows XP. It's getting stuck on a black screen with cursor blinking. What did I do: - Boot from installation CD (recovery option - command line): chkdsk C: /R copy D:\i386\ntdetect.com c:\ copy D:\i386\ntldr c:\ fixmbr fixboot Chkdsk showed 0 bad sectors and no problems during scan. dir on C:\ shows all directories and files in place (Windows, Program Files, Documents and Settings). BIOS shows correct boot drive. Still does not boot. Not sure what to think of. Please help. UPDATE: Just performed these steps: Backed up current disk C: (without MBR) using True Image to external hard drive Ran Windows XP clean installation with deleting all partitions and creating new one. Hard drive booted fine into Windows GUI installation!!! Then: I interrupted installation. Booted from True Image recovery CD and restored archive of disk C to an new partition. Same issue with black screen.

    Read the article

  • Sony PCG-252L white screen help

    - by rm
    I have a PCG-252L All-in-one desktop. Last week it downloaded some updates, restarted, and even since then is shows nothing but a white screen. I can hear the beeps on startup, screen changes from white to black a couple of times, and then stays white. There's no VGA or HDMI port on the computer, so I can't plug it into the external monitor. Any ideas?

    Read the article

  • Calibrate Screen Measurements / Scaling in Mac OS X

    - by orphu
    Is there a way to adjust the scaling of items on the screen in Mac OS X so they are 1 to 1 with the real world? I.E. When I'm working with a line in illustrator that is 5 inches long, and the zoom is 100%, I'd like the actual size of the line on screen to be 5 inches. I've dug into the System Preferences but can't seem to find anything related to this. I'm using Snow Leopard on a 24" iMac

    Read the article

  • Calibrate Screen Measurements / Scaling in Mac OS X

    - by orphu
    Is there a way to adjust the scaling of items on the screen in Mac OS X so they are 1 to 1 with the real world? I.E. When I'm working with a line in illustrator that is 5 inches long, and the zoom is 100%, I'd like the actual size of the line on screen to be 5 inches. I've dug into the System Preferences but can't seem to find anything related to this. I'm using Snow Leopard on a 24" iMac

    Read the article

  • Using gnu screen with dual monitors.

    - by Seamus
    I use GNU screen for all of the work I do in the terminal, and would like to find a way to use it across two screens, but have not found anything that is satisfactory. I use cygwin or putty to access the system that runs screen, most of the time. Thanks in advance.

    Read the article

  • Force gdm login screen to the primary monitor

    - by JIa3ep
    I have two monitors attached to my video card. Primary monitor has a resolution equal to 1280x1024 and second has 1920x1200. My gdm login screen always appears on the second monitor even if it is switched off. My question is how to force gdm to show login screen always on primary monitor with resolution 1280x1024? I use Ubuntu 10.04.

    Read the article

  • Mouse in screen(1) on the Linux console?

    - by SamB
    How can I use the mouse in GNU screen on the Linux console? I would expect this to have to go via gpm, but that doesn't seem to happen by default, even if the curses library does link to libgpm. (This may be related to screen's termcap heritage...)

    Read the article

  • high resolution on small screen size

    - by vishesh
    I have recently got an intel ultrabook,but its screen size is 13.3' and the native resolution is 1600X900.So the problem is that the letters that appear on screen are very small.Reducing resolution blurs the display and making everything bigger also doesn't feel very good.is there a way to get around this problem without changing hardware. I am even ok with this high resolution but I am concerned about the harmful effects it might have on my eyes in long term. Any advice will be very useful.Please help

    Read the article

  • Kill named running screen with -X only works after reattached

    - by oversize
    Hello I am using ubuntu 8.04.4 and would like to start daemons like this: screen -dmS SESSIONNAME script.sh Then i want to kill these screens with -X like so screen -S SESSIONAME -X kill But, this does not work. Only if i attach and detach that session it gets kill'ed with above command. What am i doing wrong? I would like to not have to attach/deattach the session to kill it since i want to use fabric scripts that start/stop daemons remotly. - Thank you

    Read the article

< Previous Page | 13 14 15 16 17 18 19 20 21 22 23 24  | Next Page >