Tons of ieq/add/or instructions for array indexing in pixel shader loop (D3D 11.0, PS model 5.0)

First of all, I have to apologize for the long code samples, but their content is not so important, I just wanted to give as much info as I can. Besides they are really simple and I tried to comment as much as possible.
I'm working on a pixel shader doing deferred lighting of the frame (Direct3D feature level 11.0, PS
model 5.0, IDE - Visual Studio 2013, OS - Windows 8.1 x64). I noticed some huge FPS drops when I add light sources to the scene, and the more sources I add, the bigger performance impact is. After many hours
of trying to find the problem, experimenting and checking compiled pixel shader ASM's, I found out that at some moment after I comment / uncomment some lines (or event line) my output ASM changes dramatically. I won't put here all the code, of course, but
here's simplified part of the point lighting in HLSL, so you could imagine the structure of the lighting algorithm:
// Total amount of color that pixel receives from all the point light sources.
float3 totalPointLightColor = { 0.0f, 0.0f, 0.0f };
// Loop through the active light sources.
[loop] for (uint i = 0; i < g_scene.pointLightCount; i++)
// xyz - vector from light source to pixel.
// w - the length of that vector.
float4 fromLightToPixel;
fromLightToPixel.xyz = worldPos - g_pointLights[i].position.xyz;
fromLightToPixel.w = length(fromLightToPixel.xyz);
// Check max light distance here (skip pixel if it is too far).
if (fromLightToPixel.w > g_pointLights[i].farZ)
continue;
// Normalize direction vector.
fromLightToPixel.xyz = normalize(fromLightToPixel.xyz);
// Angle between the pixel normal and light direction.
float lightIntensity = saturate(dot(normal, -fromLightToPixel.xyz));
// Check that light comes not from behind of the pixel surface.
if (lightIntensity <= 0.0f)
continue;
// If light casts shadows, process shadow map and get amount of light the pixel receives.
// THIS LINE IS MENTIONED IN MY QUESTION BELOW.
if (g_pointLights[i].shadowMapIndex >= 0)
// Here was shadow map check, but I removed it and nothing really changed - the problem remained even with no code here.
// Calculate the amount of light at the pixel from distance and angle and modify intensity.
lightIntensity *= g_pointLights[i].brightness / (fromLightToPixel.w * fromLightToPixel.w);
// Add this light's color to the total amount of light the pixel receives from point lights.
totalPointLightColor += lightIntensity * g_pointLights[i].color.rgb;
I compile shaders with D3DCompileFromFile() method, using the following flags:
shaderFlags = D3DCOMPILE_ENABLE_STRICTNESS | D3DCOMPILE_DEBUG
| D3DCOMPILE_SKIP_OPTIMIZATION | D3DCOMPILE_PREFER_FLOW_CONTROL;
I tried to compile in release config with the following flags:
shaderFlags = D3DCOMPILE_ENABLE_STRICTNESS | D3DCOMPILE_OPTIMIZATION_LEVEL3;
But nothing seriously changes - only a couple less ASM instructions here and there, the main problem still remained. I should add that I have zero to none knowledge of ASM, and understand what's happening mostly thanks to comments Visual Studio / FXC generates
in debug compilation mode.
So, when I compile my whole deferred shader (including the part above), I get
414 instructions in ASM, and performance is fine. If I uncomment only 1 line with CAPSED comment in the section above (which actually does nothing, as you can see), I get
476 instructions, and I get huge FPS hiccups. When I check output ASM code, I can clearly see, that the line I uncommented produces no code in ASM at all, but somehow it makes many parts of compiled shader to change.
For example, the loop above with commented line looks like the following in ASM:
# Loop starts.
loop
# Loop index check and increment, as I can understand.
uge r6.w, r5.w, cb0[1].x
breakc_nz r6.w
imul null, r6.w, r5.w, l(3)
# Calculate <fromLightToPixel>.
# cb6 - constant buffer that stores point lights.
# Array access is done simply via [] operator.
add r10.xyz, r3.xyzx, -cb6[r6.w + 1].xyzx
dp3 r7.w, r10.xyzx, r10.xyzx
sqrt r8.w, r7.w
# Distance check.
lt r8.w, cb6[r6.w + 1].w, r8.w
if_nz r8.w
iadd r8.w, r5.w, l(1)
mov r5.w, r8.w
continue
endif
# Normalization.
rsq r8.w, r7.w
mul r10.xyz, r8.wwww, r10.xyzx
# Calculate <lightIntensity>.
dp3_sat r8.w, r1.xywx, -r10.xyzx
# Check <lightIntensity>.
ge r9.w, l(0.000000), r8.w
if_nz r9.w
iadd r9.w, r5.w, l(1) // r9.w <- i
mov r5.w, r9.w // r5.w <- i
continue
endif
# Update <lightIntensity>. Note [] operator.
div r7.w, cb6[r6.w + 0].w, r7.w
mul r7.w, r7.w, r8.w
# etc.
endloop
When I
uncomment that 1 line, the ASM is growing heavily (by 62 instructions!), and this is how it starts to look like:
# Loop starts.
loop
# Loop index check, but no <imul> instruction, why?
uge r6.w, r5.w, cb0[1].x
breakc_nz r6.w
# Here comes some new code...
# Indices are obviously related to the size of the point lights' constant buffer (16 elements).
ieq r10.xyzw, r5.wwww, l(0, 1, 2, 3)
ieq r11.xyzw, r5.wwww, l(4, 5, 6, 7)
ieq r12.xyzw, r5.wwww, l(8, 9, 10, 11)
ieq r13.xyzw, r5.wwww, l(12, 13, 14, 15)
# And this part is also new...
and r14.xyzw, r10.xxxx, cb6[1].xyzw
and r15.xyzw, r10.yyyy, cb6[4].xyzw
or r14.xyzw, r14.xyzw, r15.xyzw
and r15.xyzw, r10.zzzz, cb6[7].xyzw
or r14.xyzw, r14.xyzw, r15.xyzw
# 26 more lines of such and/or pairs.
# Calculate <fromLightToPixel> - finally! Why so much code instead of simple [] operator?
add r14.xyz, r3.xyzx, -r14.xyzx
dp3 r6.w, r14.xyzx, r14.xyzx
sqrt r7.w, r6.w
# Distance check.
lt r7.w, r14.w, r7.w
if_nz r7.w
iadd r7.w, r5.w, l(1)
mov r5.w, r7.w
continue
endif
# Normalization.
rsq r7.w, r6.w
mul r14.xyz, r7.wwww, r14.xyzx
# Calculate <lightIntensity>.
dp3_sat r7.w, r1.xywx, -r14.xyzx
# Check <lightIntensity>.
ge r8.w, l(0.000000), r7.w
if_nz r8.w
iadd r8.w, r5.w, l(1)
mov r5.w, r8.w
continue
endif
# Here we go again - more code!
and r15.xyzw, r10.xxxx, cb6[0].wxyz
and r16.xyzw, r10.yyyy, cb6[3].wxyz
or r15.xyzw, r15.xyzw, r16.xyzw
and r16.xyzw, r10.zzzz, cb6[6].wxyz
or r15.xyzw, r15.xyzw, r16.xyzw
# 26 more lines of such and/or pairs.
# Update <lightIntensity> - finally! Why no [] operator here, but tons of those instructions?
div r6.w, r10.x, r6.w
mul r6.w, r6.w, r7.w
# etc.
endloop
I tried to save current array element to temp variable at the beginning of the loop, but it makes no difference - only several more instructions are added to copy the data.
I just can't understand, why in the first case loop is translated into such small and logic code where array access is done via single
[] operator, but in the second one it expands to such enormous bunch of instructions? And I change only 1 line of code, nothing more (and that line does nothing actually - it even has no ASM representation)! But every array access seems to
be affected with this change.
Can someone please explain that to me? Is there some sort of tricks with array indexing or loops in HLSL? I tried to find something about it on the Internet to no avail. Seems like I miss something very simple and obvious, but I don't get it. Sadly I
work mostly alone by now and know nobody familiar with ASM / HLSL / Direct3D. Answering this question on another popular developer resource brought no result.
Big thanks in advance for any tips or explanations!

The latest version may help with this. 11.9.900.170 is now a step back.
12.0.0.38  is here: http://get.adobe.com/flashplayer/
or download the FULL installer here: Flash Player 12 (Mac OS X)

Similar Messages

  • Using the value "Image/*" for the accept attribute of the HTML input Element, how can I add .pdf to the array of preconfigured file types (.jpe, .jpg, .jpeg, .?

    On a form, using the value "image/*" for the accept attribute of the HTML input Element, how can I add .pdf to the array of pre-configured file types (.jpe, .jpg, .jpeg, .gif, .png, .bmp, .ico, .svg, .svgz, .tif, .tiff, .ai, .drw, .pct, .psp, .xcf, .psd, .raw)?
    Say I wanted to add .gif, .jfif or .ico. I find this array limited, how can I add types to image?
    <input type="file" name="file" accept="image/*" id="file" />
    mimeTypes.rdf does not seem to allow this.

    ''mimeTypes.rdf'' has nothing to do with web development. It's a file that stores your file handling preferences (e.g. if you want ZIP files automatically saved or opened).
    You can't change the file types of the pre-defined content specifiers (audio/*, video/*, image/*), but you can specify additional MIME types. To add PDF to your above example,
    <pre><nowiki><input type="file" name="file" accept="image/*,application/pdf" id="file" /></nowiki></pre>
    For details, see
    * [https://developer.mozilla.org/En/HTML/Element/Input developer.mozilla.org/En/HTML/Element/Input]

  • HT1338 I'm trying to follow HP's instructions to add a driver for HP Color Laserjet CP 1215 which is connected to my Time Capsule. However, in System Preferences I can't "add" the printer to the print queue because I don't have a driver and you have to se

    I’m trying to follow HP’s instructions to add a driver for HP Color Laserjet CP 1215 which is connected to my Time Capsule. However, in System Preferences I can’t “add” the printer to the print queue because I don’t have a driver and you have to select a driver before the add button becomes active.  Therefore, the Mountain Lion software update doesn’t add driver software for the CP 1215 driver because I was unable to add the printer to the print queue. 

    This printer doesn't seem to be supported in ML:
    http://h10025.www1.hp.com/ewfrf/wc/document?docname=c01664444&lc=en&cc=us&dlc=en &product=412187#N2043
    You could try the 1515 driver or use the Generic PostScript Printer PPD when adding the printer.
    Hope this helps.

  • [svn:bz-trunk] 18814: Add manual test for BLZ-594 with instructions on how to run the test.

    Revision: 18814
    Revision: 18814
    Author:   [email protected]
    Date:     2010-11-24 09:31:56 -0800 (Wed, 24 Nov 2010)
    Log Message:
    Add manual test for BLZ-594 with instructions on how to run the test.
    Ticket Links:
        http://bugs.adobe.com/jira/browse/BLZ-594
    Modified Paths:
        blazeds/trunk/qa/apps/qa-manual/WEB-INF/flex/remoting-config.mods.xml
    Added Paths:
        blazeds/trunk/qa/apps/qa-manual/WEB-INF/src/test/
        blazeds/trunk/qa/apps/qa-manual/WEB-INF/src/test/RpcTest.java
        blazeds/trunk/qa/apps/qa-manual/bugs/BLZ-594/
        blazeds/trunk/qa/apps/qa-manual/bugs/BLZ-594/BLZ-594.mxml
        blazeds/trunk/qa/apps/qa-manual/bugs/BLZ-594/readme.txt

    You do have a very complex looking site and may need several tables in mysql to handle all that data. If you knew to phpmysql I would suggest taking a look at this tutorial it will help get you started in understanding how to $_GET info from a database and also how to $_POST data to a database. I am no expert just learning myself and I found this very helpful. This is the link http://www.adobe.com/devnet/dreamweaver/articles/first_dynamic_site_pt1.html
    There are also many tutorials on Youtube to help build a CMS Content Management Site I would suggest the following: -
    http://www.youtube.com/user/phpacademy
    http://www.youtube.com/user/betterphp
    http://www.youtube.com/user/flashbuilding
    And many more on my channel here
    http://www.youtube.com/user/Whisperingonthewind
    CMS's are easier to maintain, add edit and delete content.
    I have also recently bought a Book by David Powers Training from the Source very helpful.
    Anyway hope you get it sorted.

  • Step by Step Instructions for Installing Self Signed Certificate using Certificate Modification Tool

    I am looking for some step by step instructions for installing the self signed certificate from my Microsoft SBS 2003 server on a Treo 755p and 750p.  In particular I need some help with the form of the actual certificate and how to use the Certificate Modification tool. 
    Some questions I have are as follows:
    1. When I install the certificate on a Windows Mobile device I used an exported version of the certificate.  This export is done using the DER x.509 format.  Is that the same form I’ll need for the Palm?  Do I need some other form? Can/should I just use sbscert.cer file that is generated when SBS is configured?
    2. Does the self signed cert need to be installed on the computer being used to update the Palm or do we just need to be able to access the appropriate .CER file?
    3. There are three things included in the PalmCertificatesTool.zip file:
                                    Trusted CAs (folder)
                                    Cert2pdb.exe
                                    PalmCertificates.exe
       How do I use these tools?
    4. It looks like the PalmCertificates.exe file opens an interface that will allow me to browse to the desired .CER file.  Then I suppose I use the < Generate PDB > to create something that needs to then be uploaded to the Palm device?  Not having any real experience with a Palm device how do I upload and install this file? 
    5. Once uploaded do I do something on the device to install it?
    If there is some white paper that provides step by step instructions on doing this that would be great.
    Thanks,
    Walt Bell
    Post relates to: Treo 755p (Verizon)
    Post relates to: Treo 755p (Verizon)

    Thanks for that.
    I have one question after reading the article 43375:
    The article has you "Turn of AutoSync" and then "Reset the device".  It then indicates the device should be left idle. 
    The next step relates to running the PalmCertificates.exe, navigate to the certificate file and add it and then run the < Generate PDB > button.  Should the device be connected to the computer during this process? If so, at what point after the reset do you connect it to the computer?
    Thanks!
    Post relates to: Treo 755p (Verizon)

  • How to add mouse listener for a single row alone

    I have a requirement. In a JTable when I double click a particular row the cells in the row should set to the width which I have provided.
    The problem with my code is when I click fourth row in the table, the first row gets adjusted.
    So how I need help is
    only if I click the first row, the first row cell size should get adjusted not when I click fourth row.
    Similarly if I give some cell width and height for fourth row cells, then when I double click the fourth row, the fourth should alone get adjusted and not the other rows.
    Hope I have explained clearly.
    How can it be achieved?
    Please find below my code. Everything is hardcoded. So it may look messy. Please excuse.
    // Imports
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JTextArea;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableCellRenderer;
    import javax.swing.table.TableColumn;
    class SimpleTableExample extends JFrame {
    // Instance attributes used in this example
    private JPanel topPanel;
    private JTable table;
    private JScrollPane scrollPane;
    String data1 = "";
    String data2 = "123456789ABCDEFGHIJKLMNOPQRSTUVQWXYZabcdefghijklmnopqrstuvwxyzaquickbrownfoxjumpedoverthelazydog";
    int size = data2.length();
    // Constructor of main frame
    public SimpleTableExample() {
         // Set the frame characteristics
         setTitle("Simple Table Application");
         setSize(400, 200);
         setBackground(Color.gray);
         // Create a panel to hold all other components
         topPanel = new JPanel();
         topPanel.setLayout(new BorderLayout());
         getContentPane().add(topPanel);
         // Create columns names
         String columnNames[] = { "SEL", "DESIGN DATA", "PART NUMBER" };
         // Create some data
         String dataValues[][] = { { data1, data2, "67", "77" },
              { "", "43", "853" }, { "", "89.2", "109" },
              { "", "9033", "3092" } };
         DefaultTableModel model = new DefaultTableModel(dataValues, columnNames);
         model.addColumn("PART TITLE");
         model.addColumn("SPECIAL INSTRUCTIONS");
         table = new JTable(model) {
         public boolean isCellEditable(int rowIndex, int colIndex) {
              return false;
         // set specific row height
         table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
         int colInd = 0;
         TableColumn col = table.getColumnModel().getColumn(colInd);
         int width = 50;
         col.setPreferredWidth(width);
         int colInd2 = 1;
         TableColumn col2 = table.getColumnModel().getColumn(colInd2);
         int width2 = 100;
         col2.setPreferredWidth(width2);
         int colInd3 = 2;
         TableColumn col3 = table.getColumnModel().getColumn(colInd3);
         int width3 = 10;
         col3.setPreferredWidth(width3);
         int colInd4 = 3;
         TableColumn col4 = table.getColumnModel().getColumn(colInd4);
         int width4 = 10;
         col4.setPreferredWidth(width4);
         int colInd5 = 4;
         TableColumn col5 = table.getColumnModel().getColumn(colInd5);
         int width5 = 10;
         col5.setPreferredWidth(width5);
         table.addMouseListener(new MouseAdapter() {
         public void mouseClicked(MouseEvent e) {
              if (e.getClickCount() == 2) {
              JTable target = (JTable) e.getSource();
              int row = target.getSelectedRow();
              int column = target.getSelectedColumn();
              TableColumn col1 = table.getColumnModel().getColumn(0);
              col1.setPreferredWidth(50);
              TableColumn col2 = table.getColumnModel().getColumn(1);
              col2.setPreferredWidth(400);
              table.getColumnModel().getColumn(1).setCellRenderer(
                   new TableCellLongTextRenderer());
              table.setRowHeight(50);
              TableColumn col5 = table.getColumnModel().getColumn(4);
              col5.setPreferredWidth(200);
         // Create a new table instance
         // table = new JTable(dataValues, columnNames);
         // Add the table to a scrolling pane
         scrollPane = new JScrollPane(table);
         topPanel.add(scrollPane, BorderLayout.CENTER);
    // Main entry point for this example
    public static void main(String args[]) {
         // Create an instance of the test application
         SimpleTableExample mainFrame = new SimpleTableExample();
         mainFrame.setVisible(true);
    class TableCellLongTextRenderer extends JTextArea implements TableCellRenderer {
    public Component getTableCellRendererComponent(JTable table, Object value,
         boolean isSelected, boolean hasFocus, int row, int column) {
         this.setText((String) value);
         this.setWrapStyleWord(true);
         this.setLineWrap(true);
         // set the JTextArea to the width of the table column
         setSize(table.getColumnModel().getColumn(column).getWidth(),
              getPreferredSize().height);
         if (table.getRowHeight(row) != getPreferredSize().height) {
         // set the height of the table row to the calculated height of the
         // JTextArea
         table.setRowHeight(row, getPreferredSize().height);
         return this;
    Edited by: 915175 on Aug 3, 2012 4:24 AM

    Hi
    Try below code. Hope this will help
    import java.awt.BorderLayout;
    import java.awt.Color;
    import java.awt.Component;
    import java.awt.event.MouseAdapter;
    import java.awt.event.MouseEvent;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JTextArea;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.TableCellRenderer;
    import javax.swing.table.TableColumn;
    public class SimpleTableExample extends JFrame {
    private JPanel topPanel;
    private JTable table;
    private JScrollPane scrollPane;
    String data1 = "";
    String data2 = "123456789ABCDEFGHIJKLMNOPQRSTUVQWXYZabcdefghijklmnopqrstuvwxyzaquickbrownfoxjumpedoverthelazydog";
    int size = data2.length();
    // Constructor of main frame
    public SimpleTableExample() {
    // Set the frame characteristics
    setTitle("Simple Table Application");
    setSize(400, 200);
    setBackground(Color.gray);
    // Create a panel to hold all other components
    topPanel = new JPanel();
    topPanel.setLayout(new BorderLayout());
    getContentPane().add(topPanel);
    // Create columns names
    String columnNames[] = { "SEL", "DESIGN DATA", "PART NUMBER" };
    // Create some data
    String dataValues[][] = { { data1, data2, "67", "77" },
    { "", "43", "853" }, { "", "89.2", "109" },
    { "", "9033", "3092" } };
    DefaultTableModel model = new DefaultTableModel(dataValues, columnNames);
    model.addColumn("PART TITLE");
    model.addColumn("SPECIAL INSTRUCTIONS");
    table = new JTable(model) {
    public boolean isCellEditable(int rowIndex, int colIndex) {
    return false;
    // set specific row height
    table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
    int colInd = 0;
    TableColumn col = table.getColumnModel().getColumn(colInd);
    int width = 50;
    col.setPreferredWidth(width);
    int colInd2 = 1;
    TableColumn col2 = table.getColumnModel().getColumn(colInd2);
    int width2 = 100;
    col2.setPreferredWidth(width2);
    int colInd3 = 2;
    TableColumn col3 = table.getColumnModel().getColumn(colInd3);
    int width3 = 10;
    col3.setPreferredWidth(width3);
    int colInd4 = 3;
    TableColumn col4 = table.getColumnModel().getColumn(colInd4);
    int width4 = 10;
    col4.setPreferredWidth(width4);
    int colInd5 = 4;
    TableColumn col5 = table.getColumnModel().getColumn(colInd5);
    int width5 = 10;
    col5.setPreferredWidth(width5);
    // Cell Render should apply on each column -- add by Rupali
    for(int i=0; i< table.getColumnModel().getColumnCount(); i++){
    table.getColumnModel().getColumn(i).setCellRenderer( new TableCellLongTextRenderer());
    table.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e) {
    if (e.getClickCount() == 2) {
    JTable target = (JTable) e.getSource();
    int row = target.getSelectedRow();
    int column = target.getSelectedColumn();
    setTableCellHeight(table,row,column); //Added by Rupali
    TableColumn col1 = table.getColumnModel().getColumn(0);
    col1.setPreferredWidth(50);
    TableColumn col2 = table.getColumnModel().getColumn(1);
    col2.setPreferredWidth(400);
    TableColumn col5 = table.getColumnModel().getColumn(4);
    col5.setPreferredWidth(200);
    // Create a new table instance
    // table = new JTable(dataValues, columnNames);
    // Add the table to a scrolling pane
    scrollPane = new JScrollPane(table);
    topPanel.add(scrollPane, BorderLayout.CENTER);
    * Created By Rupali
    * This will set cell's height and column's width
    * @param table
    * @param row
    * @param column
    public void setTableCellHeight(JTable table, int row, int column) {
    // set the JTextArea to the width of the table column
    setSize(table.getColumnModel().getColumn(column).getWidth(),
    getPreferredSize().height);
    if (table.getRowHeight(row) != getPreferredSize().height) {
    // set the height of the table row to the calculated height of the
    // JTextArea
    table.setRowHeight(row, getPreferredSize().height);
    // Main entry point for this example
    public static void main(String args[]) {
    // Create an instance of the test application
    SimpleTableExample mainFrame = new SimpleTableExample();
    mainFrame.setVisible(true);
    class TableCellLongTextRenderer extends JTextArea implements TableCellRenderer {
    public Component getTableCellRendererComponent(JTable table, Object value,
    boolean isSelected, boolean hasFocus, int row, int column) {
    this.setText((String) value);
    this.setWrapStyleWord(true);
    this.setLineWrap(true);
    return this;
    }

  • Error in the instructions for performing a silent install

    There's an error in the instructions for performing a silent install of Photoshop Elements:
    http://helpx.adobe.com/photoshop-elements/kb/silent-install-instructions-photoshop-element s-1.html
    In step 9, the instructions say to use the following command line:
    start /wait "path to Setup.exe" /UL%LangCode% /V“SERIALNUMBER=%AOO volume license serial number%"
    The correct command line, however, is this:
    start /wait "path to Setup.exe" /UL%LangCode% /V"SERIALNUMBER=%AOO volume license serial number%"
    See the difference? Look closely at the character after the /V. In the instructions on the website, they put in a "curly quote" character. This obviously needs to be a straight quote.
    Interestingly enough, the erroneous command line from the web site will actually work just fine as posted if all you are passing in the /V is the serial number. If, however, you wanted to add a "NODESKTOPICON=1" to disable the creation of a desktop shortcut, for example:
    start /wait "path to Setup.exe" /UL%LangCode% /V“SERIALNUMBER=%AOO volume license serial number% NODESKTOPICON=1"
    then it fails to run silently.
    I post this in the hopes that Adobe will fix the typo in their instructions and save other admins the hours of grief I've been put through today trying to get this working.

    Check the response file where you define the SGA memory size for the new database.
    You can also choose not to create the database at the installation and do it afterwards, making a specific response file for it. (I'd recommend specially this option. like that you can separate possible installation errors with the ones on the DB creation process).
    Good luck.
    Regards,
    Enric Moya

  • Need help for array counting

    Any help for array question
    Hello to All:
    I want to tally or count some of the elements that I have in array but not sure how.
    I have for example: int myArray[] = {90,93,80,81,71,72,73,74};My objective is to tally all of the 90's, tally all of the 80's and tally all of the 70's.
    So, the result that I want to have would look something like the following:
    System.out.println ("The total tally number of 90's is " 2 );
    System.out.println ("The total tally number of 80's is " 2 );
    System.out.println ("The total tally number of 70's is " 4 );I do not want to add these numbers, just want to count them.
    Also I want to use a "forloop" to achieve the result intead of just declaring it at 2 or 4 etc..
    Any help Thankyou

    [u]First , This is not exactly what I have to
    do for homework. There is a lot more, a lot more
    involved with the program that I am working on.
    Second, this is an example, an example, an
    example of something that I need to achieve.
    Third, you are asking for a code, to me that
    sounds as if your asking for homework. Fourth,
    I did not ask for any rude comments. Fith, in
    the future please do not reply to my messages at ALL
    if you can not help!!!!
    Sixth, We did not ask for lazy goofs to post here.
    Seventh, In the future please do not post here. Take a hike - there's the virtual door.

  • How can i add multiple validations for a single input box in adf?

    hi,
    i want to add multiple validation for a single input text control in adf like number validation and its existence in database.
    MY JDEV VERSION IS 11.1.1.5.0
    pls help !!!!

    Hi,
    1.I want to validate if the value entered is pure integer
    Option 1-
    select the component and in the Property Inspector, in the "Core" category select a "Converter" format, select javax.faces.Number, if the user put a string, adf show a dialog error or message error...
    Option 2-
    or use the Regular expression:-
    http://jdevadf.oracle.com/adf-richclient-demo/docs/tagdoc/af_validateRegExp.html
    https://blogs.oracle.com/shay/entry/regular_expression_validation
    Also check this:-
    http://docs.oracle.com/cd/E15523_01/web.1111/b31973/af_validate.htm#BABHAHEI
    Option 3-
    Frank in his great book 'Oracle Fusion Developer Guide' shows a example using a javascript for input which is allowed only for numbers. You can manipulate for your requirement.
    Here is the code:
    function filterForNumbers(evt) {
        //get ADF Faces event source, InputText.js
        var inputField = evt.getSource();
        var oldValue = inputField.getValue();
        var ignoredControlKeys = new Array(AdfKeyStroke.BACKSPACE_KEY, AdfKeyStroke.TAB_KEY, AdfKeyStroke.ARROWLEFT_KEY, AdfKeyStroke.ARROWRIGHT_KEY, AdfKeyStroke.ESC_KEY, AdfKeyStroke.ENTER_KEY, AdfKeyStroke.DELETE_KEY);
        //define the key range to exclude from field input
        var minNumberKeyCode = 48;
        var maxNumberKeyCode = 57;
        var minNumberPadKeyCode = 96;
        var maxNumberPadKeyCode = 105;
        //key pressed by the user
        var keyCodePressed = evt.getKeyCode();
        //if it is a control key, don't suppress it
        var ignoreKey = false;
        for (keyPos in ignoredControlKeys) {
            if (keyCodePressed == ignoredControlKeys[keyPos]) {
                ignoreKey = true;
                break;
        //return if key should be ignored
        if (ignoreKey == true) {
            return true;
        //filter keyboard input
        if (keyCodePressed < minNumberKeyCode || keyCodePressed > maxNumberPadKeyCode) {
            //set value back to previous value
            inputField.setValue(oldValue);
            //no need for the event to propagate to the server, so cancel
            //it
            evt.cancel();
            return true;
        if (keyCodePressed > maxNumberKeyCode && keyCodePressed < minNumberPadKeyCode) {
            //set value back to previous value
            inputField.setValue(oldValue);
            evt.cancel();
            return true;
    2.I want to check if the value exists in my respective DB You must be having EO or VO if you want to validate with database in that case use the solution suggested by Timo.
    Thanks
    --NavinK                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Updated instructions for connecting to Xbox Live

    Hi everyone,
    Like many others, I can't seem to get my Xbox Live to connect consistently through the Airport Extreme. There is a ton of lag. I have been working on this for about a week and there have been some great posts related to this issue. However, all of the instructions and Youtube videos I have found aren't using the current OS, so I just can't seem to make it work.
    Can someone write out the detailed instructions for connecting to Xbox Live using Airport Utility 6.1? Or, if there is a post somewhere, I would appreciate it if someone can point me to it.
    Thanks!
    Patrick

    Hi there,
    You might need to forward/open ports on your router first so that your xbox's connection will work very well.
    In this link, Click Here, you can see an example on how to forward ports.
    But in your case, forward/open ports for your xbox's connection.
    Under the Port Range Forwarding page, enter the following:
    > Application=xbox1 Start Port=2869   End Port=2869   Protocol=TCP      IP Address=(IP of the xbox)  Enabled = Checked
    > Application=xbox2 Start Port=10280   End Port=10284   Protocol=UDP      IP Address=(IP of the xbox)  Enabled = Checked
    > Application=xbox3 Start Port=1900   End Port=1900   Protocol=UDP      IP Address=(IP of the xbox)  Enabled = Checked
    > Application=xbox4 Start Port=10243   End Port=10243   Protocol=UDP      IP Address=(IP of the xbox)  Enabled = Checked
     > Application=xbox5 Start Port=88   End Port=88   Protocol=Both
          IP Address=(IP of the xbox)  Enabled = Checked
    > Application=xbox6 Start Port=3074   End Port=3074   Protocol=Both
          IP Address=(IP of the xbox)  Enabled = Checked
    Good luck! 

  • [Consolidation-Locked] Please add RAW support for the Nikon D600 to Lightroom as soon as possible!

    My Fair Adobe,
    Please add RAW support for the Nikon D600 to Lightroom as soon as possible!
    ViewNX lets me get to the images, but come on!!! I know Lightroom, and you, ViewNX, are no Lightroom.
    Yes, I see everyone else ASKING for D600 support. I'm here to beg for it! Don't make me wait much longer!
    Message title was edited by: Brett N
    Message title was edited by: Brett N

    Rob, my reading of your site is that this plug-in copies settings from raw to jpeg, does it work the other way around as well?
    Rob Cole wrote:
    One of the great things about the new 0-based defaults and linear tone curve is:
    You can develop the jpegs now, in Lightroom, and then sync the settings to the raws later (e.g. using RawPlusJpeg), and provided you select a matching camera profile, they will look almost the same (white balance won't translate over, but everything else will, more or less). Beware lens corrections applied to the raws might alter the registration of precision local adjustments.
    Note: I recommend shooting with ADL off in order for this to work better, and consider turning sharpening off in camera as well, and noise reduction and everything else to whatever extent is possible.
    Rob

  • Instructions for a Clean Uninstall of Palm Desktop on Windows XP and Vista computers

    A frequent cure for many Hotsync problems is to perform a clean uninstall, and then a reinstall, of the Palm Desktop software.  This involves more than just using the Add or Remove Programs utility in the Windows Control Panel. 
    This thread contains the detailed instructions for performing a clean uninstall on Windows XP computers:
    http://forums.palm.com/palm/board/message?board.id=windows_hotsync&thread.id=42819 
    This thread contains the detailed instructions for performing a clean uninstall on Windows Vista computers:
    http://forums.palm.com/palm/board/message?board.id=software&message.id=35331&query.id=1042#M35331
    Post relates to: None
    Message Edited by smkranz on 12-31-2008 08:31 AM
    smkranz
    I am a volunteer, and not an HP employee.
    Palm OS ∙ webOS ∙ Android

    A frequent cure for many Hotsync problems is to perform a clean uninstall, and then a reinstall, of the Palm Desktop software.  This involves more than just using the Add or Remove Programs utility in the Windows Control Panel. 
    This thread contains the detailed instructions for performing a clean uninstall on Windows XP computers:
    http://forums.palm.com/palm/board/message?board.id=windows_hotsync&thread.id=42819 
    This thread contains the detailed instructions for performing a clean uninstall on Windows Vista computers:
    http://forums.palm.com/palm/board/message?board.id=software&message.id=35331&query.id=1042#M35331
    Post relates to: None
    Message Edited by smkranz on 12-31-2008 08:31 AM
    smkranz
    I am a volunteer, and not an HP employee.
    Palm OS ∙ webOS ∙ Android

  • Instructions for removal of Java 1.7

    I forgot to add the PC instructions for the removal of Java 1.7.  I need to do this on my Mac, but of course in Mac fashion. Thanks.

    Welll you can see how flustered I am with this issue.  I still forgot to add the instructions again.
    "Here are some instructions for you in case you use Encore on your home computer and it is having issues:
    Click on Start
    Click on Control Panel
    Click on Add/Remove Programs
    Scroll down and remove all Java versions installed on your machine
    After all java versions have been removed:
    Go to http://www.encore.davis.k12.ut.us
    Click on the Need help, click here link
    Click on Download JVM 1.6.0_16 under the Required Software Components
    Click on Run
    Click on Run (Do you want to install this software?)
    Click on Install
    Uncheck the ‘Install the Ask Toolbar and make Ask my default search provider)
    Click on Next"
    I

  • [svn:fx-trunk] 12788: By popular demand, we now allow for empty child property tags for Array type properties.

    Revision: 12788
    Revision: 12788
    Author:   [email protected]
    Date:     2009-12-10 07:46:54 -0800 (Thu, 10 Dec 2009)
    Log Message:
    By popular demand, we now allow for empty child property tags for Array type properties. Coerced to empty array '[]'.
    QE notes: None
    Doc notes: None
    Bugs: SDK-24500
    Reviewer: Paul
    Tests run: Checkin
    Is noteworthy for integration: No
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-24500
    Modified Paths:
        flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/AbstractBuilder.java
        flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/ComponentBuilder.jav a

    Hi John,
    Sorry to tell but tab completion is still failing on my Windows XP/Indesign CS5 (caught by Indesign).
    I just saw your remark on coloring text, here is an example pulled out from Peter's book "ScriptUI for dummies":
    var w = new Window ("dialog");
    var s = w.add ("statictext", undefined, "Static");
    var e = w.add ("edittext", undefined, "Edit");
    var b = w.add ("button", undefined, "Button");
    // The window's backround
    w.graphics.backgroundColor = w.graphics.newBrush (w.graphics.BrushType.SOLID_COLOR, [0.5, 0.0, 0.0]);
    // Font and its colour for the first item, statictext
    s.graphics.font = ScriptUI.newFont ("Helvetica", "Bold", 30);
    s.graphics.foregroundColor = s.graphics.newPen (w.graphics.PenType.SOLID_COLOR, [0.7, 0.7, 0.7], 1);
    // Font and colours for the second item, edittext
    e.graphics.font = ScriptUI.newFont ("Letter Gothic Std", "Bold", 30);
    e.graphics.foregroundColor = e.graphics.newPen (e.graphics.PenType.SOLID_COLOR, [1, 0, 0], 1);
    e.graphics.backgroundColor = e.graphics.newBrush (e.graphics.BrushType.SOLID_COLOR, [0.5, 0.5, 0.5]);
    // Font for the tird control, a button. Can't set colours in buttons
    b.graphics.font = ScriptUI.newFont ("Minion Pro", "Italic", 30);
    w.show ();
    Loic

  • Receiving modi Event for Arrays

    Hi, is their a way to receive modificationEvents for arrays?
    i currently get accessEvent on int[], but i need to get modificationEvent on the values of the arrays i.e. (int type) array[0] = 25, array[1] = 30.
    The excludes for the debugger are String[] excludes = {
                   "java.*",
                   "javax.*",
                   "sun.*",
                   "com.sun.*"
    When i get a classPrepareEvent, i create a modification and access watchpoint for each field for that class and then use the classExclusionFilter using the excludes above, then enable, the request.
    here's the debuggee code:
    public class Obj
         public int x;
         public int[] array;
    public Obj()
         array = new int[10];
         array[0] = 25;
         array[1] = 30;
    Here's the events i receive:
    EVENT: null
    EVENT: class prepare request (enabled)
    EVENT: method entry request (enabled)
    EVENT: method entry request (enabled)
    EVENT: modification watchpoint request Obj.array (enabled)
    EVENT: access watchpoint request Obj.array (enabled)
    EVENT: access watchpoint request Obj.array (enabled)
    EVENT: method exit request (enabled)
    EVENT: method exit request (enabled)
    EVENT: thread death request (enabled)
    but after the access event on array[0] = 25; i shoudl get a modification event
    The only way i found of recording the changes in the array, is keeping the old value from the accessEvent, then the next event (after the access, which coudl be anything, methodExit/entry, field modi), check to see which value is different then show that value in my trace. But this is totally not a good idea.
    Currently my trace looks like this:
    main Obj
    | <init> Obj(ID=272)
    //| | values = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    | | array = instance of int[10] (id=273) UID= 272
    | | Access Field = array Value = instance of int[10] (id=273)
    | | Access Field = array Value = instance of int[10] (id=273)
    ===== main end =====
    i should really have:
    main Obj
    | <init> Obj(ID=272)
    //| | values = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
    | | array = instance of int[10] (id=273) UID= 272
    | | Access Field = array Value = instance of int[10] (id=273)
    | | array[0] = 25
    | | Access Field = array Value = instance of int[10] (id=273)
    | | array[1] = 30
    ===== main end =====
    thanks

    Does anyone have any ideas how i can receive ModificationEvents for adding values to arrays?? Really need some help with this. I did try with Vector by including it with the classes to fire events but when the add method was invoked, it called other methods as well and messed the trace up. Add() method also calls ensureCapacityHelp() for Vector as well but i jsut want to see the add() method in my trace.

Maybe you are looking for